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.

IWR6843: Debugging mmwave Demo (DSP Version) of IWR6843. Program does not halt at the breakpoint.

Part Number: IWR6843
Other Parts Discussed in Thread: UNIFLASH

Hello,

I want to debug step-by-step the mmwave demo code (DSP Version) for IWR6843 in CCS.

I saw couple of posts in the forum and these are the steps that I performed:

1)      I first disabled the O3 optimization from the C:\ti\mmwave_sdk_03_02_01_02\packages\ti\common\mmwave_sdk.mak under R4F_CFLAGS (basically changed O3 to O0).

2)      Followed the SDK build instructions as explained in the mmwave SDK user guide. I only recompiled the library for doppler processing.

  1. Run setenv.bat in C:\ti\mmwave_sdk_03_02_01_02\packages\scripts\window to setup the build environment
  2. Execute gmake all in the C:\ti\mmwave_sdk_03_02_01_02\packages\ti\datapath\dpc\dpu\dopplerproc directory.

3)      After that I rebuilt both DSS and MSS projects in the CSS.

4)      Set the breakpoint at line 1018 in C:\ti\mmwave_sdk_03_02_01_02\packages\ti\datapath\dpc\dpu\dopplerproc\src\dopplerprocdsp.c to see the doppler fft output and detection matrix in watch expressions.

5)      Load the cssdebug .bin image into the board using the Uniflash. I then created the target configuration file and loaded the DSS and MSS images and finally ran the demo visualizer app.

Program keeps running and does not stop/halt at the breakpoint. Please let me know where am I going wrong?

 

After that, I also tried looking at the range FFT output received from the HWA. I disabled the O3 optimization of the file objdetrangehwa.c in the MSS project by {rightclick to the c-file --> show build settings --> Optimization --> change to O0). Rebuilt the project and then set the breakpoint at line 720 to see the rangeProcResult in the watch expressions. I ran the program using the demo visualizer app and sent the .cfg file but it gets hanged and I see nothing (no exception/termination reason) in the console window of CCS.

 

I also want to know if enabling the global breakpoint helps in debugging a multi-processor environment? As ideally we want when a breakpoint occurs, all the other processing cores (BSS, MSS, HWA) pause so nothing goes out of sync.

Regards,

Attiya

  • Hi Attiya,

    I have run into this issue before. When you have loaded connected to your target and loaded your image BUT before you start running the code you will need to re-initialize (or activate) your breakpoints again. An easy way to do this is to select Breakpoints from the View menu and check all the boxes.

    Let me know if you're still having issues.

    Cheers,

    Akash

  • Hi Akash,

    Thank you for the quick reply.

    The breakpoint is working fine but the program terminates after that and the exception occurs on the "check if previous frame (sub-frame) processing has completed  or not". Do I need to suppress these ASSERTS as explained in this link: e2e.ti.com/.../630576

    Problem with suppressing the asserts is that processing cores may be out of SYNC. That's why I asked if enabling the global breakpoint helps in any way or not? I tried but the program gets hanged.

    Regards,

    Attiya

  • I have another question related to this is:

    when the program terminates after such exceptions, do I need to do everything from the start like reloading cssdebug .bin image using Uniflash. Recreating the target configuration file and reconnecting with the target in CSS and loading the DSS and MSS files? or is there a way to reset everything so I don't have to repeat same steps everything program terminates?

    Regards,

    Attiya

  • Hi Akash,

    I did not hear back from you so thought to ask again.

    Regards,

    Attiya

  • Hi Attiya,

    You don't need to recreate the target configuration file every time, you'll just need to re-launch the one that you created. Beyond this you'll need to load each of the DSS and MSS executables on to your device each time and then enable the breakpoints.

    Cheers,

    Akash