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.

Linking issues with C55x CSL, unresolved symbols

Other Parts Discussed in Thread: TMS320C5515

Hey all

I am trying to get the ATAFS running. What I did is I took the original code from the example and build my own .h/.c out of it. Now, configSdCard(CSL_MMCSD_OPMODE_DMA); is working but as soon as I put mmcConfigFs("test"); into my main.c I get the following error:

<Linking>
fatal error: file "D:\\Texas
   Instruments\\CSL\\c55xx_csl\\ccs_v4.0_examples\\drv\\lib\\Debug\\atafs_bios_
   drv_lib.lib<atawrite_write.obj>" has a Tag_Memory_Model attribute value of
   "2" that is different than one previously seen ("3"); combining incompatible
   files

Now, I'm using the eZdsp C5515 USB Stick. I don't have a 5515.lib, i'm using the cslVC5505h.lib. I took the CMD from one of the Spectrum Digital examples. Further more, I'm using the rts55h.lib.


GPIO is running, so is the timer and the interrupts (code is executing and I don't get any errors, I will see on Monday if the interrupts are really working). And, as I said, it seems like that SD card is running, too. But ATAFS doesn't.

 

I hope someone can help me soon ....

Cheers from germany

Edit: I found some information here in the forum in the past hours. One was to build the atafs_bios_drv_lib project. I did this. I changed the device to 5515. I found the .lib in

D:\Texas Instruments\CSL\c55xx_csl\ccs_v4.0_examples\drv\lib\Release

So I put this path to my linker file search path in my own project. The result now is

<Linking>
error: cannot find file "-lD:\\Texas
   Instruments\\CSL\\c55xx_csl\\ccs_v4.0_examples\\drv\\lib\\Release\\atafs_bio
   s_drv_lib.lib"

 undefined             first referenced
  symbol                   in file    
 ---------             ----------------
 _ATA_close            chk_mmc.obj    
 _ATA_create           chk_mmc.obj    
 _ATA_fileInit         chk_mmc.obj    
 _ATA_readLittleEndian chk_mmc.obj    
 _ATA_readSector       chk_mmc.obj    
 _ATA_seek             chk_mmc.obj    
 _ATA_setFileName      chk_mmc.obj    
 _ATA_systemInit       chk_mmc.obj    
 _ATA_write            chk_mmc.obj    

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

>> Compilation failure

 

Edit: After a terrible day full of weird compiler and linker errors, I got it to work ...

I installed CSL again, in another directory without any spaces (the old one is in a folder "Texas Instruments"). I then deleted the old atafs project and imported the new one. After that I build it with TMS320C5515 as processor. Then I tried to make the linker understand where the .lib file is located and which one he has to take. Not a chance. Then I just put the new made .lib into my project, told the linker "here it is" and voilá. Not that I didn't tried this with the 2 old versions ... (the original one that came with the CSL library and the one I've build during the day)...

 

Cheers, I go sleeping now but with a quite conscience