5 ms·
MCUs with just 4MB of RAM may not even have IP based networking.
by rnestler 4y ago
MCUs with just 4MB of RAM may not even have IP based networking.
- nine_k 4y agoUnless you want really high performance networking, you don't need tons of RAM to implement it. ESP32-based MCUs are known to implement Wifi + TCP/IP + TLS [1] on 1-2MB of RAM. This is, of course, without a Linux-compatible kernel. Much RAM is not needed if most of your code resides on the flash and runs directly from there. [1]: https://github.com/espressif/esp-idf/tree/master/examples/protocols/https_server/wss_server https://github.com/espressif/esp-idf/tree/master/examples/pr...
- contingencies 4y ago2KB SRAM. ~1-2ms TCP setup + HTTP round trip, ~500-1000 requests/sec. Guess the MCU.
- snvzz 4y agoAtmega328P?
- contingencies 4y agoKnew someone would get it in one :)
- snvzz 4y agoIf the slowness wasn't hint enough, the 2KB SRAM was a dead giveaway.
- contingencies 4y agoWhen I was your age, I sent 24 people to the actual moon with my software in 4K of RAM and here I am clicking your button and it takes ten seconds to load a 50 megabyte video ad and then it crashes. - @natecull, on Margaret Hamilton perspective
- askvictor 4y agoI work with a 2MB MCU, and run IP networking on it (in Python, no less). IP doesn't need very much RAM.
- bonzini 4y agoSure, it's tilck that doesn't implement it. :)
- vidarh 4y agoYou can run IP based networking on machines with well under 1MB (smallest I've personally a basic graphical web browser on would have been a 512KB Amiga)
- jore 4y agoon NXP K60 with FreeRTOS and lwIP IP based networking runs without problems with 256k Flash and 64k RAM. Of course it depends on the application, because the throughput is not high, but that is not the point here
- pantalaimon 4y agoWe are doing IPv6 networking on MCUs with just 32k RAM.