I'm working on a DSR, that interacts with memory mapped IO to some custom hardware. But the world is upside down, and I need to develop strategies to debug this.
My current dev process is : assemble the ROM, rebuild the FPGA image, push it over usb to the custom hardware simulated on an FPGA dev board, reboot the TI, manually test.
This isn't bad, as long as the problems are in the hardware. But I need to work the problems out of the software, and am hitting a few mysteries. So I want to step through the code I wrote, and debug it. The current best strategy for stepping through this is going to look like this:
Use Classic99 - load the dsr through the cartridge definitions mechanism
customize the code with .ifdef to add debugging features:
if emulation: move IO read and write ports to RAM, so the result can be observed, and the inputs can be manipulated.
if emulation: skip anything in the way of debugging.
This seems like it should be pretty effective. But my question to the group is:
What techniques have you used, better or worse, for debugging your assembly and custom hardware interactions?