We can probably implement a basic debugger via MIDI, using Software Interrupts. This will probably only work properly for user application code, once the kernel is running in it's own protected memory space.
May also be able to set breakpoints using the MMU to generate data and prefetch abort exceptions on domain faults. This will probably be much slower as every address in the domain will generate an exception, but it should allow setting watchpoints on data. Once user application code is running in user mode, could use permission faults instead, so only every address in a section or page generates an exception.
https://sourceware.org/gdb/current/onlinedocs/gdb.html/Remote-Stub.html
https://www.embecosm.com/appnotes/ean4/embecosm-howto-rsp-server-ean4-issue-2.html
We can probably implement a basic debugger via MIDI, using Software Interrupts. This will probably only work properly for user application code, once the kernel is running in it's own protected memory space.
May also be able to set breakpoints using the MMU to generate data and prefetch abort exceptions on domain faults. This will probably be much slower as every address in the domain will generate an exception, but it should allow setting watchpoints on data. Once user application code is running in user mode, could use permission faults instead, so only every address in a section or page generates an exception.
https://sourceware.org/gdb/current/onlinedocs/gdb.html/Remote-Stub.html
https://www.embecosm.com/appnotes/ean4/embecosm-howto-rsp-server-ean4-issue-2.html