Hi All, I'm getting a PAbt_Handler call and want to trace the source as I'm not sure how this error is occurring... I'm only using the on-chip flash and ram (target is LPC2148) so how can I be executing code at an invalid memory address?? If I can just return to the calling address that would be better than a total crash. Thanks for your help, Malcom
Reinhard, I think I found an error in the Startup.s for the Philips. My problem was that data was appearing in the middle of the user stack. I was trying to find out the required stack sizes by settting all the stacks to 0xCC at the begining. On my first function call data appeared in the middle of the stack??? This got be looking through startup.s where I found: // Enter User Mode and set its Stack Pointer MSR CPSR_c, #Mode_USR MOV SP, R0 This sets the R13(SP) to a mid-stack address instead of the top. I think the correct assembler should be: // Enter User Mode and set its Stack Pointer MSR CPSR_c, #Mode_USR|I_Bit|F_Bit MOV SP, R0 I'll post this to support as well as this could be catching a lot of people out. Best regards, Malcom