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/IWR1642BOOST: 1642-debug - add breakpoint

Part Number: IWR1642BOOST
Other Parts Discussed in Thread: MMWAVE-SDK

Tool/software: Code Composer Studio

I have a problem that has been bothering me for a long time. When I debug the 1642 demo in CCS environment, if the program stops at the breakpoint and then returns to work, it will exit the sys/bios, like this:

**********************************************
Debug: Launching the Millimeter Wave Demo
**********************************************
Debug: MMWDemoMSS Launched the Initialization Task
Debug: MMWDemoMSS mmWave Control Initialization was successful
[C674X_0] Debug: MMWDemoDSS mmWave Control Initialization succeeded
[Cortex_R4_0] Debug: CLI is operational
[C674X_0] Debug: MMWDemoDSS Data Path init succeeded
Debug: MMWDemoDSS initTask exit
[Cortex_R4_0] Sensor has been stopped
Debug: MMWDemoMSS Received CLI sensorStart Event
[C674X_0] Heap L1 : size 16384 (0x4000), free 4096 (0x1000)
Heap L2 : size 49152 (0xc000), free 35592 (0x8b08)
Heap L3 : size 917504 (0xe0000), free 770048 (0xbc000)
{module#8}: "../dss_main.c", line 345: error {id:0x10000, args:[0x818324, 0x818324]}
xdc.runtime.Error.raise: terminating execution

I have tried the suggestion in https://e2e.ti.com/support/sensors/f/1023/t/802170?tisearch=e2e-sitesearch&keymatch=1642%20debug 

First, change the optimization level to level 0 i.e. -O0 . Second,  re-build the two ccs projects. But it still dose not work!

How can I solve it?

  • Hello,

    You've not mentioned the MMWAVE-SDK version but I assume you are using SDK 2.1.0.4.

    {module#8}: "../dss_main.c", line 345: error {id:0x10000, args:[0x818324, 0x818324]}
    xdc.runtime.Error.raise: terminating execution

    The trace prints the file and line no. where the exception occurred.

        /* Check if previous chirp processing has completed */
        if (gMmwDssMCB.dataPathContext.interFrameProcToken != 0)
        {
            MmwDemo_triggerDss2MssISR(MMWDEMO_DSS2MSS_FRAME_PROC_DEADLINE_MISS_EXCEPTION);
            DebugP_assert(0);
        }

    As you can see from the code, this exception means that the previous frame was not completed and a new frame interrupt was received, hence MMWDEMO_DSS2MSS_FRAME_PROC_DEADLINE_MISS_EXCEPTION. (The comment above this line is a typo, it should say frame instead of chirp)

    As you put a breakpoint and stopped execution, the processing for the current frame could not be completed and caused this exception as soon as you resumed the code.

    Similarly, there is a chirp deadline exception at line 312 as shown below.

        /* Check if previous chirp processing has completed */
        if (gMmwDssMCB.dataPathContext.chirpProcToken != 0)
        {
            MmwDemo_triggerDss2MssISR(MMWDEMO_DSS2MSS_CHIRP_PROC_DEADLINE_MISS_EXCEPTION);
            DebugP_assert(0);
        }

    You will need to comment out the code for both of these exceptions (comment the complete if blocks) and re-compile the code. After this, you should be able to debug the code in CCS.

    Regards

    -Nitin

  • Hello,

    The MMWAVE-SDK version I used is 2.0.0.4. But it dose not matter. Your answer solves my question perfectly. Thanks!

    Regards