This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to capture the error code(Abort) entry address in CCSv5

Hi,

How can I capture the error  code entry address in CCSv5,my platform is Sitara AM335x based on startware.

More detailed,after the simulator running,but sometimes it goes to a abort status when I suspend it,I want to find the error code entry address, Is there a solution to this?

Thanks

YanTCK

  • YanTCK,

    The scenario where your code simply aborts without enough call stack information (shown in the Debug view) usually indicates the problem erased or changed the program stack. These scenarios are very difficult to trace but, if this problem happens very early in the program execution (a common scenario if hardware is misconfigured and your program is entirely in external memory), then you can try to do a step-by-step execution since the code entry point (called _c_int00) and see where the code fails.

    Please check slide 40 and onwards of the CCSv5 Tips and Tricks presentation below to find out how to manually launch, load code to the target and disable the auto-run to main (which is undesirable in your case as you need to debug earlier startup procedures)

    http://processors.wiki.ti.com/index.php/Tips_and_Tricks_for_CCStudio_IDE

    If you are experiencing this issue only at the second time you try to run the code, then it is possible the code itself is at fault - one common scenario is if the code that initializes a specific hardware peripheral has an incorrect sequence of steps (which manifests as a failure in the first run), but a second run repairs this problem due to the partial initialization done previously.

    You mentioned a simulator, but I think you refer to the CCS debugger, is that so?

    Apart from this I can't necessarily pinpoint any other root causes.

    Hope this helps,

    Rafael

     

  • Hello,

    I solved the problem of the abort in _c_int00() disabling the Icache and the Dcache.

    Alejandro