Getting Jittery

Once again, I find myself revisiting one of the labs for the Raspberry Pi port and being envious that things seem to just work on the Pi, though I can imagine there was a lot of frustration behind the scenes. That's certainly the case for the Thumb-2 ports.

Currently, I can get some programs to run fine with the JIT compiler enabled, but debugging it is a tedious experience. The just-in-time nature of the beast means that you only really find out what was wrong with the code it generated just before it crashes, and this has led to an inefficient process of dumping instruction opcodes to the console for copying and pasting into tools for disassembly. There's some odd things about the original JIT that might be problematic for Thumb-2. I'm not sure whether current issues are due to incorrect instruction sequences or a side effect of running out of usable flash memory for the kernel.

I'm not sure how much use a JIT is going to be on microcontrollers with less than 400K of RAM, so perhaps it's worth revisiting this when I break out the Teensy MicroMod board with 1024K to play with.


David Boddie
23 October 2023