All in Embedded Design Practices
We're starting to see Bluetooth Low Energy (BLE) show up everywhere. Fitness trackers, IoT doohickeys, deadbolt locks and even security tokens are showing up with BLE. By treating your cell phone as the center of life, things have never been more convenient.
A recent project led to spelunking through a proprietary RTOS built for an embedded device. The engineers who worked on this project were quite bright. There was extensive use of dlmalloc, in the form of the verison embedded in Newlib.
Sometimes you just want to verify that the user has a secret. A secret comes in many forms - a key, a random value, a secret function. How could we verify a user has a secret without building a heavy, cryptographically secure channel?
Do you need a full-fledged, pre-emptive multitasking operating system? Will a simple RTOS do the job? Let's look at where the wrong tool has been used for the job.
Dynamic allocation will always undermine determinism and performance of a system. True real time systems will always operate on fixed bounds for every aspect of the system. What are some approaches to simplify memory management?