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.

EDMA3 Undefined Symbol Error

Hi,

I'm getting this link error while linking EDMA 3 sample project for TCI6616

 

<Linking>

 undefined                   first referenced       
  symbol                         in file            
 ---------                   ----------------       
 EDMA3_DRV_chainChannel      ./dma_chain_test.obj   
 EDMA3_DRV_clearErrorBits    ./qdma_test.obj        
 EDMA3_DRV_enableTransfer    ./dma_test.obj         
 EDMA3_DRV_freeChannel       ./qdma_test.obj        
 EDMA3_DRV_getCCRegister     ./dma_misc_test.obj    
 EDMA3_DRV_getPaRAMField     ./qdma_link_test.obj   
 EDMA3_DRV_getPaRAMPhyAddr   ./dma_ping_pong_test.obj
 EDMA3_DRV_getVersion        ./main.obj             
 EDMA3_DRV_getVersionStr     ./main.obj             
 EDMA3_DRV_linkChannel       ./qdma_link_test.obj   
 EDMA3_DRV_requestChannel    ./qdma_test.obj        
 EDMA3_DRV_setCCRegister     ./dma_misc_test.obj    
 EDMA3_DRV_setDestIndex      ./qdma_test.obj        
 EDMA3_DRV_setDestParams     ./qdma_link_test.obj   
 EDMA3_DRV_setOptField       ./qdma_test.obj        
 EDMA3_DRV_setPaRAM          ./dma_test.obj         
 EDMA3_DRV_setPaRAMEntry     ./qdma_test.obj        
 EDMA3_DRV_setQdmaTrigWord   ./qdma_test.obj        
 EDMA3_DRV_setSrcIndex       ./qdma_test.obj        
 EDMA3_DRV_setSrcParams      ./qdma_test.obj        
 EDMA3_DRV_setTransferParams ./qdma_test.obj        
 EDMA3_DRV_waitAndClearTcc   ./dma_poll_test.obj    
 Edma3_CacheFlush            ./qdma_test.obj        
 Edma3_CacheInvalidate       ./qdma_test.obj        
 determineProcId             ./main.obj             
 edma3MemCpy                 ./dma_ping_pong_test.obj
 edma3deinit                 ./main.obj             
 edma3init                   ./main.obj             
 getGlobalAddr               ./qdma_test.obj        
 numEdma3Instances           ./main.obj             
 sampleEdma3GblCfgParams     ./main.obj             
 sampleInstInitConfig        ./main.obj             


error: unresolved symbols remain
error: errors encountered during linking;
   "edma3_drv_bios6_tci6616_st_sample.out" not built

 

I tried giving search path in Link options to "edma3_lld_drv.ae66"

Then I got this error

 

fatal error: cannot open file "D:\Program Files\Texas Instruments\edma3_lld_02_11_01_02\packages\ti\sdo\edma3\drv\lib\66\debug":

(I'm using CC4.3)

Where am I doing wrong...

 

Regards

  • Hi, There will be additional modifications in progress for building the EDMA examples through the project. This includes modifying the target to C66x and using ELF instead of COFF. For version 2.11.01.02 examples can be built using command line make. Please refer to the section 2.4.2 of EDMA3_Driver_User_Guide.pdf for instructions to build using makefile infrastructure. Regards Raghu
  • Hi

    Thanks for the response.

    I had already set it to C6xx and ELF, didn't work out.

    I tried using the the command line and it stopped at the error:

    /cygdrive/c/progra~1/texasi~1/xdctools/bin/cp : can not create regular file 'obj/tci6608-sim\c6xdsp\debug\edma3_drv_tci6608_sample_configuro/linker_mod.cmd : Permission Denied

    I'm using windows 7, any problem with security or something else?

  • Hi ,

    Windows 7 and cygwin environment  are two variables. First can you please check if short path "c:/PROGRA~1/TEXASI~1/" is valid by just doing cd to the directory.

    Secondly can you try without cygwin environment . Here are the steps you would need to do:

    1) Set PATH to XDC to pick the gmake. Example assuming below directory exists

    set PATH=C:/PROGRA~1/TEXASI~1/xdctools_3_20_07_86

    2) Set ROOTDIR

    set ROOTDIR=C:/PROGRA~1/TEXASI~1/edma3_lld_02_11_01_02

    3) Update the edma3_lld_02_11_01_02\makerules\env.mk with the correct path for

    INTERNAL_SW_ROOT , EXTERNAL_SW_ROOT , UTILS_INSTALL_DIR ,CODEGEN_PATH_DSPELF

     

    4) Build examples by  gmake -f makefile_c66x examples FORMAT=ELF

    Regards

    Raghu

  • I had a similar issue with the following error message:

    fatal error: cannot open file

       "obj/c6472-evm/c6xdsp/debug/edma3_drv_c6472_sample_configuro/linker_mod.cmd" :  Permission denied

     

    The way to fix it was to right click on file linker_mod.cmd, select properties and the Security tab. Then click Edit and check all the boxes under the column 'Allow' .

    Must be an issue with cygwin and win 7. Cygwin is creating files with no access permissions.

     

    I had to do the same procedure for many files, which is quiet tedious. If there is a better solution, can somebody let me know ?

     

    I hope that TI will start making their release with CCS-based project build instead of command line. Command lines build often lead to problems due to dependencies with cygwin, xdc, windows, etc and customers spend too much on these issues. CCS is a great IDE and it is odd that TI's own software modules don't leverage its build capabilities.