5 ms·
Wow, so ESP32 has much more ROM/Flash and RAM memory than previous ESP8266 chip: "Embedded Memory – 448 KB Internal ROM – 520 KB Internal SRAM – 8 KB RTC FAST
by faragon 10y ago
Wow, so ESP32 has much more ROM/Flash and RAM memory than previous ESP8266 chip:
"Embedded Memory
–
448 KB Internal ROM
–
520 KB Internal SRAM
–
8 KB RTC FAST Memory
–
8 KB RTC SLOW Memory"
- StavrosK 10y agoYeah, ten times more, which is great, but I didn't practically run into limitations of the ESP8266 either. Then again, I'm not representative, but I'm saying that even 40K is plenty for most things.
- hyperbovine 10y ago40kb is ok if you are just loading compiled byte code, however the Lua / MicroPython runtimes consume nearly all of that leaving little space for your project.
- michaelt 10y agoIt turns out 40K isn't much if you want a TLS stack that supports modern standards and keysizes, and interoperates with most servers out there [1]. Once you have 16K transmit and receive buffers (the default fragment length) and enough space to do the math needed for a 4096-bit RSA key, you're pretty much out of RAM. And that's just the system library for a single TLS connection - the programmer will probably want to use some memory too :) [1] https://github.com/esp8266/Arduino/issues/1375#issuecomment-169519587 https://github.com/esp8266/Arduino/issues/1375#issuecomment-... https://github.com/esp8266/Arduino/issues/43#issuecomment-163535888 https://github.com/esp8266/Arduino/issues/43#issuecomment-16...
- lorenzhs 10y agoWell, 4096 bit keys are wasteful even on non-embedded platforms (Desktop/mobile) at the moment. 2048 bit keys are totally fine if you use a reasonable validity period (Let's Encrypt only issues 3-month certificates, for example). That way, it's highly unlikely that the key can be cracked during the validity of the certificate, and should a more practical attack come along at some point, your exposure is limited and you can quickly switch to a larger key size. See also https://certsimple.com/blog/measuring-ssl-rsa-keys https://certsimple.com/blog/measuring-ssl-rsa-keys - 2048 bits are enough for TLS for now.
- revelation 10y agoYou don't get to choose the key length when connecting to a server.
- lorenzhs 10y agoWell yeah but very few sites have 4096 bit keys in my experience, it's mostly misinformed hackers thinking "more bits, more good". And most likely you'll be running your own endpoint for the ESP, so you can control the key length.
- david-given 10y agoIs it Von Neumann architecture? Can you run code out of RAM? Because if so, you could totally run a real operating system that (I'm thinking of Fuzix, for example).
- antocv 10y agoYes it is von neumann, code runs out of RAM, as far as I understood it, someone please correct if Im wrong.
- faragon 10y agoThe CPUs architecture is Harvard, like in its prececessor. However, that seem to apply just to RAM, separated in the memory map in areas for instructions and data. For the ROM access, flash ROM accessed via SPI, looks like can be accessed from both data and instruction buses, so in that regard would behave like, de facto, von Neumann (?) Anyway, for running a real OS you can use PIC32 microcontrollers: are full MIPS32, including memory protection, and there are many cheap implementations with 512KB of RAM and 2MB of ROM (even more). You can run e.g. LiteBSD on Olimex EMZ64 PIC32 board [1]. [1] https://www.olimex.com/Products/PIC/Development/PIC32-EMZ64/open-source-hardware https://www.olimex.com/Products/PIC/Development/PIC32-EMZ64/... (I'm not related to Olimex, I just love that board)