Hi, When i debug my program it operates as it should over many debug operations but sometimes the ARM core gets in the state shown in the picture below after i initialise the debug and then dump the config from sigma studio+ in. I can only see this if i pause the ARM core. it doesn't automatically goto this state.
Any suggestions what could be causing this ? i have increased the STACK size used by the ARM core in case this had something to do with it but it didn't work.
the 0x0 shows it broke at address 0. I'm wondering if pointer was used to call a function but it was NULL ??
edit:
I'm using the SC598
I have looked at the contents of the register 'ELR_EL3' which i presume is the return address.
It always points to the same instruction in 'adi_icm_ArmSendCommand' where a message is shared between cores.
261 *pArm2SHMsg = *pMsg;
00000000200670a8: ldr x0, [sp, #40]
00000000200670ac: ldr x1, [sp, #8]
00000000200670b0: ldp x2, x3, [x1]
00000000200670b4: stp x2, x3, [x0] <<<<<<<<<< return address always points here
00000000200670b8: ldp x2, x3, [x1, #16]
00000000200670bc: stp x2, x3, [x0, #16]
00000000200670c0: ldp x2, x3, [x1, #32]
00000000200670c4: stp x2, x3, [x0, #32]
00000000200670c8: ldp x2, x3, [x1, #48]
00000000200670cc: stp x2, x3, [x0, #48]
00000000200670d0: ldp x2, x3, [x1, #64]
00000000200670d4: stp x2, x3, [x0, #64]
00000000200670d8: ldp x2, x3, [x1, #80]
00000000200670dc: stp x2, x3, [x0, #80]
00000000200670e0: ldr x2, [x1, #96]
00000000200670e4: str x2, [x0, #96]
00000000200670e8: ldr w1, [x1, #104]
00000000200670ec: str w1, [x0, #104]
Thanks for any help
added info about return address from dispatcher
[edited by: Beaker at 4:10 PM (GMT -5) on 28 Feb 2024]