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 LLD CSL2_DAT_DEMO - Undefined Symbols Issue!

Other Parts Discussed in Thread: SYSBIOS

Hi All,

         I have added the source files from ..\edma3_lld_02_11_01_02\examples\CSL2_DAT_DEMO\src\dat_edma3LLD to my project. I used the fuction DAT_copy() instead of memcpy() as a test. On building my project I'm getting the following errors. (Using CCSv5.1.1)

undefined                                       first referenced
symbol                                          in file
--------- ----------------
EDMA3_DRV_checkAndClearTcc    ./master/src/csl2_dat.obj
EDMA3_DRV_close                        ./master/src/csl2_dat.obj
EDMA3_DRV_delete                       ./master/src/csl2_dat.obj
EDMA3_DRV_freeChannel               ./master/src/csl2_dat.obj
EDMA3_DRV_requestChannel          ./master/src/csl2_dat.obj
EDMA3_DRV_setPaRAM                 ./master/src/csl2_dat.obj
EDMA3_DRV_waitAndClearTcc        ./master/src/csl2_dat.obj
_dat_critical_section_enter               ./master/src/csl2_dat_edma3lld.obj
_dat_critical_section_exit                 ./master/src/csl2_dat_edma3lld.obj
edma3init                                        ./master/src/csl2_dat_edma3lld.obj

In the .map file generated I can find that these functions does not have address definitions 

GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name

address name
-------- ----
0c002b48 Add_MACAddress
0c058520 Bind6DADCheck
0c072160 Bind6FindByHost
0c06eb60 Bind6FindByIF
0c0721a0 Bind6FindByNet

.

.

.

0c0d6d80 ti_sysbios_family_c64p_Hwi12

0c0d6da0 ti_sysbios_family_c64p_Hwi13
0c0d6dc0 ti_sysbios_family_c64p_Hwi14
0c0d6de0 ti_sysbios_family_c64p_Hwi15
80000000 ti_sysbios_heaps_HeapMem_Instance_State_0_buf__A
92cf4240 POST_names
92cfa640 POST_values
92d00a40 INDEXHTML
92d03550 DSPCHIPGIF
ffffffff __TI_pprof_out_hndl
ffffffff __TI_prof_data_size
ffffffff __TI_prof_data_start
ffffffff __binit__
ffffffff binit
UNDEFED EDMA3_DRV_checkAndClearTcc
UNDEFED EDMA3_DRV_close
UNDEFED EDMA3_DRV_delete
UNDEFED EDMA3_DRV_freeChannel
UNDEFED EDMA3_DRV_requestChannel
UNDEFED EDMA3_DRV_setPaRAM
UNDEFED EDMA3_DRV_waitAndClearTcc
UNDEFED _dat_critical_section_enter
UNDEFED _dat_critical_section_exit
UNDEFED edma3init

 

Please tell me how to define addresses for these symbols?????

Regards,

Sohal

  • You need to include the EDMA3 LLD libraries where these symbols are defined.

    Regards,
    RandyP

  • Thanks RandyP for the reply.

         I have already copied the header files and source files into my project and included them locally. 

    Regards,

    Sohal

  • Now you need to include the EDMA3 LLD library files. Please refer to the EDMA3 LLD example projects and to the EDMA3 LLD User's Guide. The library files are specified in the Build Properties for your project.

    There may be more information on how to use the EDMA3 LLD on the TI Wiki Pages and in the BIOS Forum under Embedded Software on the E2E Forum. Please let me know if you would like this thread moved to the BIOS forum for software assistance.

    Regards,
    RandyP

  • I have included edma3_lld_drv.ae66 and edma3_lld_rm.ae66. Now the errors reduced to 

    undefined first referenced
    symbol in file
    --------- ----------------
    _dat_critical_section_enter ./master/src/csl2_dat_edma3lld.obj
    _dat_critical_section_exit ./master/src/csl2_dat_edma3lld.obj
    edma3OsProtectEntry C:/Program Files/Texas Instruments/edma3_lld_02_11_01_02/packages/ti/sdo/edma3/drv/lib/66/debug/edma3_lld_drv.ae66<edma3_drv_init.oe66>
    edma3OsProtectExit C:/Program Files/Texas Instruments/edma3_lld_02_11_01_02/packages/ti/sdo/edma3/drv/lib/66/debug/edma3_lld_drv.ae66<edma3_drv_init.oe66>
    edma3OsSemGive C:/Program Files/Texas Instruments/edma3_lld_02_11_01_02/packages/ti/sdo/edma3/drv/lib/66/debug/edma3_lld_drv.ae66<edma3_drv_adv.oe66>
    edma3OsSemTake C:/Program Files/Texas Instruments/edma3_lld_02_11_01_02/packages/ti/sdo/edma3/drv/lib/66/debug/edma3_lld_drv.ae66<edma3_drv_adv.oe66>
    edma3init ./master/src/csl2_dat_edma3lld.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking;

    Which all libraries to be added more?

    Regards 

    Sohal

  • If you were able to get the original CSL2_DAT_DEMO example to build and run, then you have a working example that has all the source files and all the libraries included that you need. Whenever I have run into cases like this where copying a few files did not get everything that I needed, I have instead copied the entire example project to a new workspace and got it working by itself, using the original as an example when I ran into trouble. Then I start adding my new application files to that copied project. This way, the hard part of reading all the documentation and adapting the library to my application is made much easier.

    The EDMA3 User Guide talks about code that needs to be written by you in a generic new applicaiton that uses the EDMA3 LLD. You can search the EDMA3_RM_UserGuide for the missing symbols above and you will find some of them listed with a discussion of the code you need to offer to use the library. Since this code would already be included in the CSL2_DAT_DEMO example, I suspect some source files were not copied. There is a slide deck in the CSL2_DAT_DEMO docs folder that may be helpful to you, csl_dat_adapter.ppt.

    Please confirm that you were able to successfully build the CSL2_DAT_DEMO example before starting to copy source files to you new project. Then open the CSL2_DAT_DEMO example project and see which source files are used that were not yet copied and maybe some additional libraries, too, although I think these symbols come from source files.

    Regards,
    RandyP

  • Dear RandyP,

                         I was not able to run the CSL2_DAT_DEMO. 

    Regards,

    Sohal

  • Sohal,

    This is where you need to start. The only thing I know to point you to is the MCSDK and EDMA3 documentation to lead you through the installation and building of the example projects. With your installation done completely as directed by the tools and documentation, you should be able to build and run this example. I do not know if you need to start over with the full installation or if you just need to check all of your settings - I do not know what to point you to there, but perhaps someone who does know will join the conversation.

    But for now, I recommend you look deeply at all of the settings for RTSC and libraries. An alternative could be to uninstall and re-install from the beginning, but I never like that answer.

    Regards,
    RandyP

  • Dear RandyP,

           Thanks for the support. I was able to build the CSL2_DAT_DEMO.

    - The URI scheme error was rectified by specifying the location of each source file individually. (Right Click on the source file -> change the location in Resources tab).

    - I changed the Output format to Legacy COFF from eabi.

    Now I was able to build the code and got the executable.

    Regards,

    Sohal