#145025 - simonjhall - Sat Nov 10, 2007 5:31 pm
Yo.
I'm trying to extend my debugger by adding support for ARM7 debugging. All the infrastructure's in place to 'just add a second processor', but I can't actually seem to stop the thing from running in the usual way!
With the ARM9 debugger after trying many breakpoint schemes (each with varying success) I settled on the complicated CPU exception method, as it provided the most advantages. To summarise, you point 0x27ffd9c at your carefully hand-crafted function and once you set this address to this function, the exception handling system starts to work. eg if have a data/prefetch abort, illegal or breakpoint instructions will all get relayed through this function.
Gbatek says that the ARM7 has the same setup in that you can use 0x380ffdc as the exception vector, but I can't get it to do anything. I write the address of my dummy handler to this address and go nuts, but I just can't seem to get it to get called! Neither data aborts, breakpoint instructions or illegal instructions trip this function up. However, doing stuff with CP15 (which apparently causes exceptions) does crash the CPU with or without the handler installed. Err...
Anyone done anything with exceptions on the ARM7? Wanna share :-)
_________________
Big thanks to everyone who donated for Quake2
I'm trying to extend my debugger by adding support for ARM7 debugging. All the infrastructure's in place to 'just add a second processor', but I can't actually seem to stop the thing from running in the usual way!
With the ARM9 debugger after trying many breakpoint schemes (each with varying success) I settled on the complicated CPU exception method, as it provided the most advantages. To summarise, you point 0x27ffd9c at your carefully hand-crafted function and once you set this address to this function, the exception handling system starts to work. eg if have a data/prefetch abort, illegal or breakpoint instructions will all get relayed through this function.
Gbatek says that the ARM7 has the same setup in that you can use 0x380ffdc as the exception vector, but I can't get it to do anything. I write the address of my dummy handler to this address and go nuts, but I just can't seem to get it to get called! Neither data aborts, breakpoint instructions or illegal instructions trip this function up. However, doing stuff with CP15 (which apparently causes exceptions) does crash the CPU with or without the handler installed. Err...
Anyone done anything with exceptions on the ARM7? Wanna share :-)
_________________
Big thanks to everyone who donated for Quake2