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.

DSPLINK. An error in case of PROC_load function execution ().

Other Parts Discussed in Thread: OMAP-L138, OMAPL138

Hello. I use dsplink_linux_1_65_00_03 packet, ti-dvsdk_omapl138-evm_4_02_00_06. Leaning on it I developed the program for the OMAP-L138 platform. I don't use Codec Engine. I try to execute the program. The error is found:

The error is found:

Error: DSP-side memory map does not match configuration.

Compare DSP-side TCF/MAP file with /dsplink/config/all/CFG_<PLATFORM>.c    

Status=[0x80008013]

I compared these files. However mismatches didn't find. I can't find my error. I ask experts of Texas Instruments to help me.

Here DSP map file, tcf file and CFG file. 4118.files.tar.gz  

  • Did you start from an existing configuration from an example, and modify that ? Or are you writing your own ?

    Have you seen this wiki topic that goes through all the steps involved in changing DSPLink's memory map:- http://processors.wiki.ti.com/index.php/Changing_DSPLink_Memory_Map

  • This may help:

    http://processors.wiki.ti.com/index.php/Troubleshooting_DSPLink_configuration_issues

    Another common mistake is to change the config then forget to 1) rebuild DSP Link, 2) rebuild the GPP/DSP executables against that reconfigured/rebuilt DSP Link.

    Chris

  • Thank you that try to help me. In case of configuration creation I leaned on LOOP example. I did a memory configuration being guided by article specified by Gunjan. Chris when I have problems with DSPLINK first of all I I view your article. In case of an application creation containing the DSPLINK code I I take the following steps.

    1)I edit the CFG_OMAPL138GEM_SHMEM.c file in the dsplink_linux_1_65_00_03/dsplink/config/all folder.

    2)I launch dsplinkcfg.pl script.

    perl dsplinkcfg.pl --platform=OMAPL138 --nodsp=1 --dspcfg_0=OMAPL138GEMSHMEM --dspos_0=DSPBIOS5XX --gppos=ARM --comps=ponslc --DspTskMode=1 --trace=1

    3)I execute make all in folder/dsplink/gpp/src.
    4)I execute make all in folder/dsplink/dsp/src.
    5)I connect to the application dsplink.lib library from the folder dsplink_linux_1_65_00_03/dsplink/gpp/export/BIN/Linux/OMAPL138/DEBUG.
    6)I receive an executable file for application ARM.
    7)In the Code_Comoser_4 program I connect libraries from the folder dsplink_linux_1_65_00_03/dsplink/dsp/export/BIN/DspBios/OMAPL138/OMAPL138GEM_0/DEBUG.
    8)I receive an executable file for application DSP.
    9)I connect to Linux kernel the dsplinkk.ko module from the dsplink_linux_1_65_00_03/dsplink/gpp/export/BIN/Linux/OMAPL138/DEBUG folder.

    I found mismatch of configuration files. I incorrectly designated the CACHE_L2 area in tcf the file. The corrected version of configuration files here contains. 6470.files.tar.gz

    After start of the new program, it successfully executed the PROC_load function (). However it infinitely hangs on the PROC_start function (). To define the reason, I resolved an option --trace=1. Here I give the termination of log of the file.

    Entered DSP_intCtrl ()
    dspId [0x0]
    intId [0x0]
    cmd [0x0]
    arg [0x0]
    Entered DA8XXGEM_halIntCtrl ()
    halObj [0xc2978000]
    cmd [0x0]
    arg [0x0]
    Leaving DA8XXGEM_halIntCtrl () status [0x8000]
    Leaving DSP_intCtrl () status [0x8000]
    Entered SHMDRV_handshake ()
    dspId [0x0]
    linkDrvId [0x0]
    hshkCtrl [0x0]
    Leaving SHMDRV_handshake () status [0x8000]
    Leaving LDRV_DRV_handshake () status [0x8000]
    Entered DSP_start ()
    dspId [0x0]
    dspAddr [0x1182c260]
    Entered DA8XXGEM_halBootCtrl ()
    halObj [0xc2978000]
    cmd [0x0]
    arg [0xc2900000]
    Leaving DA8XXGEM_halBootCtrl () status [0x8000]
    Entered DA8XXGEM_halPwrCtrl ()
    halObj [0xc2978000]
    cmd [0x3]
    arg [0x0]
    Leaving DA8XXGEM_halPwrCtrl () status [0x8000]
    Leaving DSP_start () status [0x8000]
    Entered LDRV_DRV_handshake ()
    dspId [0x0]
    hshkCtrl [0x1]
    Entered SHMDRV_handshake ()
    dspId [0x0]
    linkDrvId [0x0]
    hshkCtrl [0x1]
    Lea�


  • My program on ARM promoted further away. The reason isn't known. Here termination file log.

    Leaving DSP_start () 	status [0x8000]
    Entered LDRV_DRV_handshake ()
    	dspId	[0x0]
    	hshkCtrl	[0x1]
    Entered SHMDRV_handshake ()
    	dspId	[0x0]
    	linkDrvId	[0x0]
    	hshkCtrl	[0x1]
    Leaving SHMDRV_handshake () 	status [0x8000]
    Leaving LDRV_DRV_handshake () 	status [0x8000]
    Entered LDRV_DRV_handshake ()
    	dspId	[0x0]
    	hshkCtrl	[0x2]
    Entered SHMDRV_handshake ()
    	dspId	[0x0]
    	linkDrvId	[0x0]
    	hshkCtrl	[0x2]
    Expected DSP handshake value: [0xbaba00df]

    In the CODE COMPOSER terminal I watch that the DSP processor quits reset. However it stops to the address 0xC2900000. 

    0xC2900000 is the beginning of a segment of RESET_VECTOR.