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.

Get "CSL_Edma3ccParamSetRegs is undefined" compiling lyrtech example

Other Parts Discussed in Thread: CCSTUDIO

Hi

I compiled the Lyrtech example

    C:\Lyrtech\EVMDM648\BSL\Example\SDVideoDigLoopBack_tst

and get the following errors (there were 59 of them!)[:#]:

 

[sdvideodigloop.c] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -g -fr"C:/Lyrtech/EVMDM648/BSL/Example/SDVideoDigLoopBack_tst/Debug" -i"C:/dvsdk_1_10_00_26_DM648/pspdrivers_1_10_00_09/packages/ti/sdo/pspdrivers/soc/dm648/dsp" -i"../../inc" -i"../inc" -i"C:/dvsdk_1_10_00_26_DM648/pspdrivers_1_10_00_09/packages" -d"_DEBUG" -mv6400 -@"Debug.lkf" "sdvideodigloop.c"
"C:/dvsdk_1_10_00_26_DM648/pspdrivers_1_10_00_09/packages/ti/sdo/pspdrivers/soc/dm648/dsp/cslr_edma3cc.h",

line 190: error: identifier "CSL_Edma3ccParamSetRegs" is undefined
"../inc/edma3.h", line 280: error: identifier "CSL_EdmaccRegsOvly" is undefined
"../inc/edma3.h", line 289: error: identifier "CSL_EdmaccParamentryRegs" is undefined

I looked at the cslr_edma4cc.h file and it defines CSL_Edma3ccParamsetRegs on line 106 which is just above where the compiler said this struct was undefined.

typedef struct  {
    volatile Uint32 OPT;
    volatile Uint32 SRC;
    volatile Uint32 A_B_CNT;
    volatile Uint32 DST;
    volatile Uint32 SRC_DST_BIDX;
    volatile Uint32 LINK_BCNTRLD;
    volatile Uint32 SRC_DST_CIDX;
    volatile Uint32 CCNT;
} CSL_Edma3ccParamsetRegs;

So why does it say "CSL_Edma3ccParamSetRegs" is undefined??[:S] Its there darn it!

Thanks in advance.

  • Hello Eddie,

    It looks like a typo in the header file. The structure is of type CSL_Edma3ccParamsetRegs (notice the lower case 's' in 'set') whereas the CSL_Edma3ccRegs struct is looking for type CSL_Edma3ccParamSetRegs. I think the other build errors were trickle-down from that structure not being created properly. Try chanding the first struct from CSL_Edma3ccParamsetRegs to CSL_Edma3ccParamSetRegs and see if that fixes things.

    (I found a bug #SDOCM00034475 already filed on this issue. It looks like this was fixed in PSP 1.10.01)

  • Hi

    (I should have noticed the capital "S" missing)

    That fixed it, but the other errors are still present. I wonder if the error

    "../inc/edma3.h", line 280: error: identifier "CSL_EdmaccRegsOvly" is undefined

    is due to the "3" inserted in the cslr_edma3cc.h declaration

    typedef volatile CSL_Edma3ccRegs         *CSL_Edma3ccRegsOvly;

    This may also be a logged bug, but I can't find the bug lists on the TI website. Is this bug fixed in PSP1.10.01?

    The DVSDK I that came with the EVM is 1.10. I just downloaded 1.11 from the website. How can I tell (without installing it) if it has PSP1.10.01?

    Also, could someone point me to the bug list website link?

    Thanks

  • I don't see a reported bug # anywhere, but it may have been found internally from the developers and fixed. I am looking inside PSP 1.10.03 and I do not see "CSL_EdmaccRegsOvly" anywhere. I think you're right about just adding the '3.'

    Eddie said:
    The DVSDK I that came with the EVM is 1.10. I just downloaded 1.11 from the website. How can I tell (without installing it) if it has PSP1.10.01?
    From the DVSDK Release Notes this will install pspdrivers_1_10_00_09- Platform Support Package. I do not believe that PSP 1.10.xx has been packaged into any of the DVSDKs at this time. If desired you can download the latest PSP here.

    Eddie said:
    Also, could someone point me to the bug list website link?
    Unfortunately I do not think there is a good public bug tracking site at this time. I believe this was planned for sometime in the future but I do not have any details about it.

  • Hi

    This is strange. Adding "3" didn't work. It couldn't find CSL_Edma3ccParamentryRegs. I think the problem is that the Lyrteck examples are built using their own csl versions. Note that the output below is looking for edma3.h in ../inc which points to the Lytech directory. So updating to the new PSP won't help. Arg[*-)].

    I guess I could try getting the Lytech build options to use the PSP released files instead of their own versions (another Arg[:(]).

    I searched the dvdsk install directory for "ccParamentryReg" and it came up with nothing. It was however found in the Lytech install csl directory. (yet another Arg[:@]).

     

    [[sdvideodigloop.c] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -g -fr"C:/Lyrtech/EVMDM648/BSL/Example/SDVideoDigLoopBack_tst/Debug" -i"C:/dvsdk_1_10_00_26_DM648/pspdrivers_1_10_00_09/packages/ti/sdo/pspdrivers/soc/dm648/dsp" -i"../../inc" -i"../inc" -i"C:/dvsdk_1_10_00_26_DM648/pspdrivers_1_10_00_09/packages" -d"_DEBUG" -mv6400 -@"Debug.lkf" "sdvideodigloop.c"
    "../inc/edma3.h", line 289: error: identifier "CSL_EdmaccParamentryRegs" is undefined
    "../inc/edma3.h", line 338: error: identifier "CSL_EdmaccRegsOvly" is undefined
    "sdvideodigloop.c", line 758: error: identifier "CSL_EdmaccRegsOvly" is undefined
    "sdvideodigloop.c", line 763: error: identifier "CSL_EDMACC_DCHMAP_PAENTRY_SHIFT" is undefined
    "sdvideodigloop.c", line 763: error: identifier "CSL_EDMACC_DCHMAP_PAENTRY_MASK" is undefined
    "sdvideodigloop.c", line 840: error: identifier "CSL_EdmaccRegsOvly" is undefined
    "sdvideodigloop.c", line 848: error: identifier "CSL_EdmaccRegsOvly" is undefined
    "sdvideodigloop.c", line 857: error: identifier "CSL_EdmaccRegsOvly" is undefined
    "sdvideodigloop.c", line 997: error: identifier "CSL_EDMACC_A_B_CNT_ACNT_SHIFT" is undefined
    "sdvideodigloop.c", line 997: error: identifier "CSL_EDMACC_A_B_CNT_ACNT_MASK" is undefined
    "sdvideodigloop.c", line 997: error: identifier "CSL_EDMACC_A_B_CNT_BCNT_SHIFT" is undefined
    "sdvideodigloop.c", line 997: error: identifier "CSL_EDMACC_A_B_CNT_BCNT_MASK" is undefined
    "sdvideodigloop.c", line 998: error: identifier "CSL_VP1_CHANNELA_DATA" is undefined
    "sdvideodigloop.c", line 999: error: identifier "CSL_EDMACC_SRC_DST_BIDX_DSTBIDX_SHIFT" is undefined
    "sdvideodigloop.c", line 999: error: identifier "CSL_EDMACC_SRC_DST_BIDX_DSTBIDX_MASK" is undefined
    "sdvideodigloop.c", line 999: error: identifier "CSL_EDMACC_SRC_DST_BIDX_SRCBIDX_SHIFT" is undefined
    "sdvideodigloop.c", line 999: error: identifier "CSL_EDMACC_SRC_DST_BIDX_SRCBIDX_MASK" is undefined
    "sdvideodigloop.c", line 1000: error: identifier "CSL_EDMACC_LINK_BCNTRLD_LINK_SHIFT" is undefined
    "sdvideodigloop.c", line 1000: error: identifier "CSL_EDMACC_LINK_BCNTRLD_LINK_MASK" is undefined
    "sdvideodigloop.c", line 1000: error: identifier "CSL_EDMACC_LINK_BCNTRLD_BCNTRLD_SHIFT" is undefined
    "sdvideodigloop.c", line 1000: error: identifier "CSL_EDMACC_LINK_BCNTRLD_BCNTRLD_MASK" is undefined
    "sdvideodigloop.c", line 1001: error: identifier "CSL_EDMACC_SRC_DST_CIDX_DSTCIDX_SHIFT" is undefined
    "sdvideodigloop.c", line 1001: error: identifier "CSL_EDMACC_SRC_DST_CIDX_DSTCIDX_MASK" is undefined
    "sdvideodigloop.c", line 1001: error: identifier "CSL_EDMACC_SRC_DST_CIDX_SRCCIDX_SHIFT" is undefined
    "sdvideodigloop.c", line 1001: error: identifier "CSL_EDMACC_SRC_DST_CIDX_SRCCIDX_MASK" is undefined
    "sdvideodigloop.c", line 1155: error: identifier "CSL_EdmaccRegsOvly" is undefined
    "sdvideodigloop.c", line 1164: error: identifier "CSL_EdmaccRegsOvly" is undefined
    "sdvideodigloop.c", line 1173: error: identifier "CSL_EdmaccRegsOvly" is undefined
    "sdvideodigloop.c", line 1281: error: identifier "CSL_VP0_CHANNELA_DATA" is undefined
    "sdvideodigloop.c", line 1290: error: identifier "CSL_VP0_CHANNELB_DATA" is undefined
    "sdvideodigloop.c", line 1299: error: identifier "CSL_VP1_CHANNELA_DATA" is undefined
    "sdvideodigloop.c", line 1308: error: identifier "CSL_VP1_CHANNELB_DATA" is undefined
    "sdvideodigloop.c", line 1317: error: identifier "CSL_VP2_CHANNELA_DATA" is undefined
    "sdvideodigloop.c", line 1326: error: identifier "CSL_VP2_CHANNELB_DATA" is undefined
    "sdvideodigloop.c", line 1335: error: identifier "CSL_VP3_CHANNELA_DATA" is undefined
    "sdvideodigloop.c", line 1344: error: identifier "CSL_VP3_CHANNELB_DATA" is undefined
    "sdvideodigloop.c", line 1353: error: identifier "CSL_VP4_CHANNELA_DATA" is undefined
    "sdvideodigloop.c", line 1362: error: identifier "CSL_VP4_CHANNELB_DATA" is undefined
    "sdvideodigloop.c", line 1385: error: identifier "CSL_EDMACC_A_B_CNT_ACNT_SHIFT" is undefined
    "sdvideodigloop.c", line 1385: error: identifier "CSL_EDMACC_A_B_CNT_ACNT_MASK" is undefined
    "sdvideodigloop.c", line 1385: error: identifier "CSL_EDMACC_A_B_CNT_BCNT_SHIFT" is undefined
    "sdvideodigloop.c", line 1385: error: identifier "CSL_EDMACC_A_B_CNT_BCNT_MASK" is undefined
    "sdvideodigloop.c", line 1387: error: identifier "CSL_EDMACC_SRC_DST_BIDX_DSTBIDX_SHIFT" is undefined
    "sdvideodigloop.c", line 1387: error: identifier "CSL_EDMACC_SRC_DST_BIDX_DSTBIDX_MASK" is undefined
    "sdvideodigloop.c", line 1387: error: identifier "CSL_EDMACC_SRC_DST_BIDX_SRCBIDX_SHIFT" is undefined
    "sdvideodigloop.c", line 1387: error: identifier "CSL_EDMACC_SRC_DST_BIDX_SRCBIDX_MASK" is undefined
    "sdvideodigloop.c", line 1388: error: identifier "CSL_EDMACC_LINK_BCNTRLD_LINK_SHIFT" is undefined
    "sdvideodigloop.c", line 1388: error: identifier "CSL_EDMACC_LINK_BCNTRLD_LINK_MASK" is undefined
    "sdvideodigloop.c", line 1388: error: identifier "CSL_EDMACC_LINK_BCNTRLD_BCNTRLD_SHIFT" is undefined
    "sdvideodigloop.c", line 1388: error: identifier "CSL_EDMACC_LINK_BCNTRLD_BCNTRLD_MASK" is undefined
    "sdvideodigloop.c", line 1389: error: identifier "CSL_EDMACC_SRC_DST_CIDX_DSTCIDX_SHIFT" is undefined
    "sdvideodigloop.c", line 1389: error: identifier "CSL_EDMACC_SRC_DST_CIDX_DSTCIDX_MASK" is undefined
    "sdvideodigloop.c", line 1389: error: identifier "CSL_EDMACC_SRC_DST_CIDX_SRCCIDX_SHIFT" is undefined
    "sdvideodigloop.c", line 1389: error: identifier "CSL_EDMACC_SRC_DST_CIDX_SRCCIDX_MASK" is undefined
    54 errors detected in the compilation of "sdvideodigloop.c".

  • I finally got it to compile. I changed the environment variable DM648_CSL_DIR to NOT point at the dvdsk CSL library and made it point to the Lyrtech CSL library.

    DM648_CSL_DIR=C:\Lyrtech\ChipSupportLibrary\csl_DM648\inc

    Then in Lyrtech's edma3.h I had to remove the "3" so that is could find the correct typedef.

    CSL_Edma3ccRegsOvly regs;  -> becomes -> CSL_EdmaccRegsOvly regs;

    And it compiles (how the heck it compiled for Lyrtech I'll never know).[:S]

  • I'm not very familiar with their example code but it sounds like they used their own similarly named symbols inside the CSL in order to get this to work. I am sure they had all their search paths done differently so as to get things to compile.

    In any case I am glad to hear you got this compiling. Thanks for letting us know the root cause of that final issue.

  • DM648 EVM provided examples are not using DVSDK CSL. You must install provided CSL manually (from Lyrtech EVM CD) before compiling the Lyrtech examples.

    Instructions for doing this is explained when clicking in start menu in Lyrtech->EVMDM648 programs group shortcut "BSL Functional Examples Help" (file: C:\Lyrtech\EVMDM648\BSL\Doc\BSL.txt):

    Here are information from that file:

    2-Preparation
      -----------

    Before using the BSL (compiling examples), you must install TI DM648 dsp CSL. For your convenience, there is a CSL version
    included on Lyrtech EVM software CD, located under "\TI_DM648_CSL\csl_DM648_03_00_02_00.zip".
    This BSL is based on DM648 CSL Release v3.00.02.00. Install the CSL and take a note of the CSL installation directory.

    You must create an environment variable DM648_CSL_DIR to be set to the CSL installation directory (use windows control
    panel, system, advanced, environment variables: and create a "system variables" with the name DM648_CSL_DIR).

    Example: CSL was installed in directory "c:\csl_DM648", DM648_CSL_DIR environnment variable value must be set to
    "c:\csl_DM648".

    3-Compiling BSL Examples
      ----------------------

    This BSL was compiled with CCS v3.3 updated with "C6000 Code Generation Tools 6.0.16". Once the DM648 CSL (see sect 2) is
    installed with environment variable DM648_CSL_DIR created, you are ready to compile any BSL examples located under
    "BSL\Example" directory.

    After following these instructions, all Lyrtech evmdm648 BSL examples will compile correctly.

  •  

    For additionnal support regarding evm dm648 BSL examples compilation, please contact support@lyrtech.com