|
|
|
|
|
by jake_morrison
843 days ago
|
|
A few years ago I did an embedded Linux project on an ARM7 CPU without an MMU, a vehicle tracker for trucks with GPS, cellular modem, ODB2 interface, and other I/O. Lack of MMU caused some unexpected issues: * Because there is no MMU, there are no shared libraries. All the binaries have to be statically linked. We had a total of 2MB of ROM, of which about 1M was the Linux kernel. So we ran out of space for the programs we needed for the application about 3/4 of the way through the project. The solution was to use Lua, which was a 200k binary, and it could run scripts to do some things. * Lack of MMU means no memory protection between programs. One program can step on another program's memory. Just like the good old days of DOS. Ouch! * We started with the ucLinux distribution, which is pretty lame. A lot of programs in the tree didn't build. We ended up rebuilding with Yocto, and making patches to things where necessary. * We found other entertaining bugs: https://www.cogini.com/blog/debugging-your-space-probe/ |
|
possibly https://github.com/mickael-guene/fdpic_doc postdates the time you're talking about, but since you mention yocto, i suspect not
lua is pretty great