3 ms·
Especially since the multi-thread OS means wasting space for multiple stacks. 400k is a lot for an MCU, but for the ESP32 its really not that much. A 1MB Sram v
by MrBuddyCasino 6y ago
Especially since the multi-thread OS means wasting space for multiple stacks. 400k is a lot for an MCU, but for the ESP32 its really not that much. A 1MB Sram version would be great, with two cores.
- pjmlp 6y agoWhy use the OS then? Just do bare metal runtime like we used to do on MS-DOS days.
- meltedcapacitor 6y agoWhat about botnet operators? This would give them a hard time if they have to hack each device specifically instead of recycling old linux vulnerabilities wholesale. The whole IoT industry is strongly committed to make devices available to botnet operators, indeed this looks like the main function, the function on the packaging usually works poorly and is likely just there to convince punters to install the botnet relays and pay for the hardware and power. :-)
- dls2016 6y agoThe ESP-IDF environment is based off of FreeRTOS, not Linux. It's essentially a threading library, not so much an OS.
- MrBuddyCasino 6y agoWell the ESP-IDF is freeRTOS based, so: threads. But have fun re-inventing the SDK I guess?
- dls2016 6y agoExactly, FreeRTOS makes it trivial to spin up 20 threads... who was doing that with MS-DOS?
- pjmlp 6y agoYou wouldn't, because the whole point of bare metal is to ignore the OS and use directly the BIOS and hardware. And regarding threads, we would use cooperative concurrency, and also take ownership of the timer interrupt. Anything is easy when there is an abstraction implemented as library. Games and demoscene tricks.
- MrBuddyCasino 6y agoI don't understand why they used a wasteful threaded model instead of an event reactor. It makes no sense to me on a constrained embedded platform. The right way to do it is Japaric's "Real-Time Interrupt-driven Concurrency". Only works for ARM cores though...