Post Go back to editing

code sometimes hangs in exception dispatcher

Category: Software
Product Number: CCES V2.12
Software Version: cces v 2.12 Sigmstudio+ 2.1

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]

Thread Notes

  • I've done more investigating and found that a data abort exception occurs.  I'm investigating more to see what data abort is triggered by.

    adi_int_InstallHandler(INTR_C0_DATA_ABORT,&dataAbortException,NULL,true);

    void dataAbortException(uint32_t nIid, void *pCbParam)
    {
    nDatAbortExcep = 1;
    }

  • Hi, are you seeing this issue after downloading SigmaStudio+ schematic or before that?  

    did you chosen right DXE files in SigmaStudio+ schematic?

  • Hi Sakthivel P,

    Thank you so much for responding.

    The data abort only occurs when i download from SigmaStudio+

    before that core 0 i think is just waiting for data to arrive from SPI port from SigmaStudio+

    I never rebuild the project or recompile the SigmaStudio+ project. I just keep trying then eventually it works.

    Also another condition i get after a while when i can get the project to initialise correctly after receiving data from SigmaStudio+

     is a pointer check fail in SHARC core 1

    I have enabled the Run time check 'Enable NULL pointer dereference checking' and this error always occurs, not right away but can be running for a few hours.

    I was wondering if this would occur if the SigmaStudio USBi link data got corrupted due to bad connection would cause these seemingly random things ?

    Thanks for any help you can give me

  • Hi Beaker,

    I am able run the example application in debug build configuration, not getting any null pointer exception. Please note that we need to reset the hardware and rerun the target application before downloading SigmaStudio+ project every time, otherwise core exception will happen.  
    Please refer to below steps for running the example.
    Load Application using CCES [Analog Devices Wiki]

    Please revert back if you are still seeing the null pointer exception and let us know the steps with SigmaStudo+ project file. 

    Thanks