4 ms·
Embdded development is like this sometimes. Start with some hardware. If you are lucky, you get a board support package with a Linux kernel. Otherwise you need
by jake_morrison 6y ago
Embdded development is like this sometimes.
Start with some hardware. If you are lucky, you get a board support package with a Linux kernel. Otherwise you need to write some drivers to talk to the hardware. Progressively get it to the point that it will boot up and get on the network. Then get the application running.
Microcontroller development is even worse. When you don't have any space, you may actually end up writing everything in C from scratch.
- fest 6y agoOr have some drinks with EEs and get them to value software development ease of use: things like using top of the line, or at least midrange MCU with enough flash for debug builds, populating debug connectors on EVT builds etc
- jake_morrison 6y agoIn one memorable project the hardware guys grudgingly agreed to waste money and give the system enough resources to run Linux. But they chose a cheaper ARM CPU without a MMU or hardware floating point. That meant it would not run shared libraries, everything was statically linked. We ran out of space in the Flash, and the project was in crisis. The solution was using a lua interpreter. These days, I like high level platforms like Nerves: https://www.nerves-project.org/ https://www.nerves-project.org/
- hak8or 6y agoAre you affiliated in any way to the nerves project? I skimmed the home page and couldn't find out what it is exactly. Is it an elixer framework and related bootstrap code targeting towards running on mmu-less arm cortex m microcontrollers? Or on an embedded liux system? Or is this just a rest endpoint somehow?