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.

DM3730: Debugging DSP MMU Error Fault in a c6accel algorithm with CCS 6.2

Part Number: DM3730
Other Parts Discussed in Thread: OMAP3530

Hello -

I'm following this guide for debugging the DSP side of a CE app with CCS (occasionally I'll get a "DSP MMU Error Fault! MMU_IRQSTATUS = [0x1]. Virtual DSP addr reference that generated the interrupt = [0xceae1708].")

I'm on CCS 6.2 (I've tried multiple v5 versions) with a BH-USB-560v2 system trace emulator.  Prior to running my stand alone ARM app, i set CE_DSPDEBUG=1.  I'm able to connect to the target (C64XP_0) and load symbols for my DSP executable, however I'm running into a few errors:

1) When I load the symbols, I get the following error:

_PWRM_F_idleStopClk() at _pwrm_idleGemInclude64P.s64P:37 0x8fd4cc20
Can't find a source file at "_pwrm_idleGemInclude64P.s64P"
Locate the file or edit the source lookup path to include its location.

I grep'd my dsp source tree (grep -rn _PWRM_F_idleStopClk), and the only references are :

bios_5_41_01_09/packages/ti/bios/config/cdb/comap3430.cdb:12370: global PWRM_IDLEFXN :: @__PWRM_F_idleStopClk {
bios_5_41_01_09/packages/ti/bios/config/cdb/c6748.cdb:12380: global PWRM_IDLEFXN :: @__PWRM_F_idleStopClk {
Binary file bios_5_41_01_09/packages/ti/bios/lib/pwrm.a64P matches
Binary file bios_5_41_01_09/packages/ti/bios/lib/pwrm.a674 matches
c6accel_1_01_00_07/soc/packages/ti/c6accel_unitservers/omap3530/package/cfg/c6accel_omap3530_x64P.cdb:10553: global PWRM_IDLEFXN :: @__PWRM_F_idleStopClk {
c6accel_1_01_00_07/soc/packages/ti/c6accel_unitservers/omap3530/package/cfg/c6accel_omap3530_x64P.cdb:10789: param function :: @__PWRM_F_idleStopClk
Binary file c6accel_1_01_00_07/soc/packages/ti/c6accel_unitservers/omap3530/package/cfg/c6accel_omap3530_x64Pcfg.o64P matches
c6accel_1_01_00_07/soc/packages/ti/c6accel_unitservers/omap3530/package/cfg/c6accel_omap3530_x64Pcfg.h62:79: .global __PWRM_F_idleStopClk
c6accel_1_01_00_07/soc/packages/ti/c6accel_unitservers/omap3530/package/cfg/c6accel_omap3530_x64Pcfg.s62:2232: .asg __PWRM_F_idleStopClk, _function
c6accel_1_01_00_07/soc/packages/ti/c6accel_unitservers/omap3530/package/cfg/c6accel_omap3530.x64P.map:2485:8fd4cc00 __PWRM_F_idleStopClk
c6accel_1_01_00_07/soc/packages/ti/c6accel_unitservers/omap3530/package/cfg/c6accel_omap3530.x64P.map:4417:8fd4cc00 __PWRM_F_idleStopClk
Binary file c6accel_1_01_00_07/soc/packages/ti/c6accel_unitservers/omap3530/c6accel_omap3530.x64P matches
codec_engine_2_26_00_08/examples/ti/sdo/ce/examples/servers/server_api_example/package/cfg/bin/ti_platforms_evm3530/audio_copy_x64P.cdb:10553: global PWRM_IDLEFXN :: @__PWRM_F_idleStopClk {
codec_engine_2_26_00_08/examples/ti/sdo/ce/examples/servers/server_api_example/package/cfg/bin/ti_platforms_evm3530/audio_copy_x64Pcfg.h62:79: .global __PWRM_F_idleStopClk
codec_engine_2_26_00_08/examples/ti/sdo/ce/examples/servers/audio1_ires/package/cfg/bin/ti_platforms_evm3530/audio1_ires_x64P.cdb:10553: global PWRM_IDLEFXN :: @__PWRM_F_idleStopClk {
codec_engine_2_26_00_08/examples/ti/sdo/ce/examples/servers/audio1_ires/package/cfg/bin/ti_platforms_evm3530/audio1_ires_x64Pcfg.h62:79: .global __PWRM_F_idleStopClk
codec_engine_2_26_00_08/examples/ti/sdo/ce/examples/servers/all_codecs_new_config/package/cfg/bin/ti_platforms_evm3530/all_x64P.cdb:10553: global PWRM_IDLEFXN :: @__PWRM_F_idleStopClk {
codec_engine_2_26_00_08/examples/ti/sdo/ce/examples/servers/all_codecs_new_config/package/cfg/bin/ti_platforms_evm3530/all_x64Pcfg.h62:79: .global __PWRM_F_idleStopClk
codec_engine_2_26_00_08/examples/ti/sdo/ce/examples/servers/all_codecs/package/cfg/bin/ti_platforms_evm3530/all_x64P.cdb:10553: global PWRM_IDLEFXN :: @__PWRM_F_idleStopClk {
codec_engine_2_26_00_08/examples/ti/sdo/ce/examples/servers/all_codecs/package/cfg/bin/ti_platforms_evm3530/all_pm_x64Pcfg.h62:79: .global __PWRM_F_idleStopClk
codec_engine_2_26_00_08/examples/ti/sdo/ce/examples/servers/all_codecs/package/cfg/bin/ti_platforms_evm3530/all_pm_x64P.cdb:10553: global PWRM_IDLEFXN :: @__PWRM_F_idleStopClk {
codec_engine_2_26_00_08/examples/ti/sdo/ce/examples/servers/all_codecs/package/cfg/bin/ti_platforms_evm3530/all_x64Pcfg.h62:79: .global __PWRM_F_idleStopClk

I tried installing the bios_5_41_01_09 executable, and _pwrm_idleGemInclude64P.s64P is no where to be found.

2) If i just ignore that, and try to run resume (F8), any breakpoints I set in my custom c6accel algorithm code won't set, and generate a pop up : "No code is associated with <srcfile> in any loaded symbols", even though I've built the c6accel side with debugging enabled (I didn't see any other flags for -g in any other makefile):

c6accel_1_01_00_07/soc/c6accelw/Makefile:19:BUILD_TYPE=debug
c6accel_1_01_00_07/soc/app/Makefile:24:BUILD_TYPE=debug
c6accel_1_01_00_07/dsp/alg/pjt/Makefile:20:BUILD_TYPE=debug

Any ideas?

  • So as an update, I was able to uninstall all versions of CCS, install CCS4.2.4.00033 and install bios 5_41_01_09 (CCS4.2.4 wouldn't detect my BH-USB-560v2). Then I installed CCS6.2.0.00050 in a separate directory - the 4.2.4 installation was able to detect my board, and I stopped seeing the first error, but I still get 2) "No code is associated with <srcfile> in any loaded symbols".
  • I think I figured out the solution - I'm building in a linux VM, and running CCS in Windows.

    After loading the symbols and resuming the DSP, I had to suspend the DSP a few seconds later, then manually reload the source file via the "Locate file.." tab (Originally, I just loaded the c file I was debugging via File->Open).

    Subsequent runs detected the source (this was a one time thing).