"Andreas Thiele" andreas@atp-media.de writes:
Thank you for the inspiring and enlightening answer.
Yes my question was a bit unspecific. The trigger for my question was an unbelievable turnaround time of about 2 minutes (edit, compile, reload, test again) I came across when an embedded box currently under development came onto my desk. This one is written by a junior c programmer with lengthy, sparsely commented c code containing cryptic function names. My job here is programming common lisp, nearly exclusively. So I thought about having a more dynamic development system on the box, which allows dynamic compilation of functions during runtime to not have to reboot the whole box just because one function gets modified. Meanwhile I thought about ECL, PicoLisp, miniPicoLisp, Lua and even Javascript, but I abandoned them all.
There are also C interpreters. Cint, EiC, etc. Perhaps one of them could be made to run on a bare hardware (with some set of library). But probably it would be as hard to do as to make some CL work there. (Also, assuming you need to make those tools run from the EEROM, and not from the RAM).
Although your emulator suggestion first made me grin, I think it is a possible way to go. Problem is, the chip is connected to other hardware, which has slow communication protocols. Now I think about connecting these hardware components to my emulator (to be written). This could indeed be an approach. I have to think :)
P.S. After browsing the ARM Thumb instruction set I guess writing the emulator will not be trivial :)
While I rejected it on principle, you may envisage to use Qemu or some other emulator already existing for ARM processors. You may have to find one or patch one to match your exact processor instruction set.