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.

Breakpoint issue with shared memory SMP configuration

I'm using CCS 6 for the first time to load a SYS/BIOS SMP binary onto DRA7xx/IPU1. I get the following errors in the console window. This same program worked with CCS 5.5.

Cortex_M4_IPU1_C1: Trouble Setting Breakpoint with the Action "Process CIO" at 0x86012942: (Error -1067 @ 0x86012942) There is already a breakpoint at the requested address. This error may be caused by a shared memory SMP configuration. You may consider setting up shared memory in the memory map. (Emulation package 5.1.507.0)
Cortex_M4_IPU1_C1: Breakpoint Manager: Retrying with a AET breakpoint
Cortex_M4_IPU1_C1: Breakpoint Manager: Error enabling this function: Address exceeds the allowed range
Cortex_M4_IPU1_C1: Trouble Setting Breakpoint with the Action "Terminate Program Execution" at 0x86013a30: (Error -1067 @ 0x86013A30) There is already a breakpoint at the requested address. This error may be caused by a shared memory SMP configuration. You may consider setting up shared memory in the memory map. (Emulation package 5.1.507.0)
Cortex_M4_IPU1_C1: Breakpoint Manager: Retrying with a AET breakpoint
Cortex_M4_IPU1_C1: Breakpoint Manager: Error enabling this function: Address exceeds the allowed range

What should I be doing in order to avoid these errors?

Thanks
~Ramsey

 

  • I'm still running into this issue. Anyone have a suggestion?

    Thanks
    ~Ramsey

  • Hi Ramsey,
    What emulator and CCS (exact) version are you using? And are you using the same CSP for both?

    Thanks

    ki

  • Yes, I'm using the same CSP for both.

    Emulator: Spectrum Digital XDS560v2 STM USB

    CCS 5.5.0.00077
    TI Emulators 5.1.275.0
    VAYU NDA1 Device Support 1.0.2.0

    CCS 6.0.1.00040
    TI Emulators 5.1.507.2
    VAYU NDA1 Device Support 1.0.2.0

    Thanks
    ~Ramsey

  • Can you e-mail me the program you are trying to load?

    Thanks

    ki

  • Ki-Soo,

    I'm not sure this will work, but here goes. I've attached ex11_92_ping.zip. It contains two files: a gel file to configure the IPU AMMU, and the executable. This is a multi-processor test but sending you all the files would be large. Besides, you don't need to run the program, you just need to load it to reproduce the issue.

    Are you familiar with Vayu (DRA7xx)? You must connect to CortexA15_0 first. The OnConnect() function will initialize the device (PLLs, EMIF, etc.). While connected to CortexA15_0, run the following GEL function to power and clock the IPU1 subsystem.

    Scripts > DRA7xx MULTICORE Initialization > IPU1SSClkEnable_API

    Then connect and rest the following two processors:

    Cortex_M4_IPU1_C0
    Cortex_M4_IPU1_C1

    You must load and run the attached gel script before you can load the processor. The script is setup to execute on IPU1_C0. So, load it on that processor. Then run the following function.

    Scripts > ex11_ping > ex11_ping_ipu1_ammu_config

    In my debug configuration, I have disabled "Run to main". If you have this enabled in your configuration, then you need to run the CortexA15_0 processor before you load the IPU. It should just spin in a loop. Otherwise, the load will get stuck and you won't be able to reproduce the issue.

    At this point, you are ready to load the program onto IPU1_C0. Do that now.

    This is an SMP program, so you don't want to load it again onto IPU1_C1. You just want to load symbols. Select IPU1_C1 and load symbols using the same executable. This should produce the errors in your console.

    To get IPU1_C1 to the entry point, issue the Restart command (not Reset).

    Let me know if you have any questions. Thanks for giving this a try.

    ~Ramsey

    ex11_92_ping.zip
  • This was resolved off-line. The issue is that the debugger was trying to reset C/IO breakpoints (when loading symbols for IPU_C1) in the same location already set by the program load to IPU_C0. The debugger is unaware of the SMP configuration. The workaround was to disable auto-setting of C I/O breakpoints on program/symbol load. I'll look into filing an enhancement to handed such situation.

    Thanks

    ki

  • Hello Ki,

    Can you please let me know how to "disable auto-setting of C I/O breakpoints on program/symbol load".
    I am facing similar issue and not able to load program in SMP mode.

    Regards,
    Prasad
  • Prasad,

    It has been a long time and I don't remember exactly. In brief, you want to enable CIO breakpoing for IPU_0 and disable the breakpoint for IPU_1. I think you do this in the Debug Launch Configuration.

    Run > Debug Configurations...
    Select your target configuration in the browser pane.
    Select the Target tab in the Editor pane.
    Device menu: Select Cortex_M4_IPU1_C1 (whichever core your are loading with symbols only)
    Select Program/Memory Load Options
    Clear the Enable CIO function option

    I hope this helps.
    ~Ramsey