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.

CCS Debug not possible when app code is running

Other Parts Discussed in Thread: AM3352

Hi,

I am using a custom board with Sitara AM3352.. The SPI EEPROm has the MLO and app file required for our application. The app files starts running as soon as I power up the board. In this case, I am not able to use JTAG to debug from CCS.

As a workaround, I put a SD card with MLO file alone(no app), and as I have given higher boot priority to MMC, MLO from SD card is taken. This MLO will try to find app from SD card. As there is no app, the primary boot loader exits and there will not be any code running. So I am able to debug using JTAG

Is there any other thing I can do. Is this the expected behaviour ? I need a solution as we are planning to remove SD card from the board

Thanks in advance!!

Raja Balaji

  • Moving this to the CCS forum.

  • Raja,

    I am not sure what your application does, but the scenario you describe is very common when trying to connect to Cortex cores while running certain applications (Linux OS included) that prevent or slow down the JTAG debugger access.

    In my experience, when the application prevents the debugger from putting the Cortex core into "debug mode" there is very little that can be done apart from inserting some sort of halt mechanism at the very beginning of the code - something similar to u-boot's message that stops autoboot by hitting any key. Once the application is halted, you can connect the JTAG debugger and put the device to run again.

    If your application does not power down the JTAG circuitry (some versions of the Linux kernel do that) you should be able to be connected throughout the debugging process.

    Keep in mind you will have to remove this halt mechanism from the final product - which is desirable as the product and the application will not require low-level debugging anymore.

    Regards,

    Rafael