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.

More fun with CCS6 and DM6437

Other Parts Discussed in Thread: TMS320DM6437, CCSTUDIO

Hi,


Attempting to import an existing project into CCS6 yields the following:


This project was created for a device that is not currently recognized: TMS320C64XX.TMS320DM6437. Please go to <a href="liveaction:OpenAppCenter">CCS App Center</a> to install the device descriptor, or migrate the project to the closest match from the supported devices by adjusting project properties.

...so I'm guessing something's still missing.  Going to the CCS App Center doesn't seem to help as nothing there appears relevant.  Any ideas?

Thanks,

Dave

  • Hi Dave,

    David Littell said:
    This project was created for a device that is not currently recognized: TMS320C64XX.TMS320DM6437

    Sounds like you don't have device support for this device installed. Go to <CCSv6 INSTALL DIR>\ccsv6\ccs_base\common\targetdb\devices. Is there a file called dm6437.xml in there?

    thanks

    ki

  • Hi Ki,


    You're right, there are no files there other than CC430 and MSP430.  I did as was suggested yesterday to add '6437 support but something must have not happened correctly.  (By the way, I'm using the Linux CCS6.)  What would you recommend to fix this?

    Thanks,

    Dave

  • How did you 'add support'? Did you first do a custom install without installing it and then tried to repair your installation?

  • Yes, the original installation was done with only '430 support and later was I told I needed '6437 support as well. Yesterday I posted a question on how to do such a thing and Lisa suggested the repair approach.

  • yes that is the right way to do it. You did a 'repair' and added 'Media Processors -> Media Processors (DM, DA) Device Support' ?

  • Yes, but I checked only the specific processor type.  Should I have just let it do all the Media Processors instead?

  • You should only need the one I highlighted in red. That gives me DM6437 support. That is enabled when you rerun the installer over your existing install?

  • Ah!  Somehow only the "TI C6000 Compiler" option is selected.  So I don't need that one at all but do need "Media Processors", right?

  • Well if you plan on using the TI compiler to build your projects (and I assume you will since that is what you used with v3), then you need that also. So make sure you keep "TI C6000 Compiler" installed.

  • OK, definite progress!  Now it's whining about the version of DSP/BIOS tools with which the project was originally created.  I bumbled around in the CCS App Center and found a "DSP/BIOS v5" download.  Is that the ticket to success?

  • Yes. CCSv6 does not come with DSP/BIOS by default anymore. You need to grab it via the app center. 

    ki

  • OK, sounds good, right up to the point where I click on "DSP/BIOS v5" and nothing happens.  Thoughts?

  • clicking the download button for DSP/BIOS5 should simply open a webpage in your browser to where you can download it. If the webpage is not opening on its own, you can simply use this url: http://www.ti.com/tool/dspbios

  • Alright!  The manual installation seemed to work and CCS picked it up.  Now when I attempt to re-import the project to CCS I still get this:


    This project was created using a version of DSP/BIOS tools that is not currently installed: 5.41.9.34. Please install the DSP/BIOS tools of this version, or migrate the project to one of the supported versions.

    ...but I can't find any information on how to "migrate the project to one of the supported versions."  Attempting to edit the Properties shows the old version but doesn't offer a way to select the newly downloaded version.

    (Sorry to keep on and on and on with endless silly questions but I seem to be tripping over every possible hazard with this stuff.)

  • David Littell said:
    This project was created using a version of DSP/BIOS tools that is not currently installed: 5.41.9.34. Please install the DSP/BIOS tools of this version, or migrate the project to one of the supported versions.

    I don't think you really need to do anything here. You probably have BIOS 5.42 or something slightly newer. CCS should be able to just use the new version and the message is more of a fyi.

    However make sure the BIOS version you just installed is "known" to CCS. 'Window->Preferences->Code Composer Studio->RTSC->Products'. If you don't see it listed, you need to add it to the discovery path so CCS can pick it up.

    David Littell said:
    (Sorry to keep on and on and on with endless silly questions but I seem to be tripping over every possible hazard with this stuff.)

    No worries, you are doing a big migration spanning 3 major versions and with a version of BIOS that is being deprecated in support!

  • OK, I'll be thrilled to ignore that warning.  However, I don't think I can ignore all the errors when it attempts to link!  There's a number of unresolved symbols that should be resolved by the DSP/BIOS and a bunch of whining about the .cmd file.

    Should I hop over to some other forum for these little joys?


    Thanks very much for your help,

    Dave

  • Before going over the BIOS forum, can you post the errors here? Perhaps I can help with them too.

  • I think I'm missing some "rtdx" library but nothing I do resolves any of these:


     undefined       first referenced    
      symbol             in file         
     ---------       ----------------    
     _C64_disableIER ./src/spi.obj       
     _C64_enableIER  ./src/spi.obj       
     _DDR2_Heap      ./src/Update.obj    
     _HWI_disable    ./src/Bootloader.obj
     _HWI_enable     ./src/Bootloader.obj
     _MEM_alloc      ./src/Update.obj    
     _SEM_pend       ./src/SpiMsg.obj    
     _SEM_pendBinary ./src/spi.obj       
     _SEM_postBinary ./src/spi.obj       
     _TSK_ATTRS      ./src/SpiMsg.obj    
     _TSK_create     ./src/SpiMsg.obj    
     _TSK_timerSem   ./src/SpiMsg.obj    
     __SEM_dopost    ./src/SpiMsg.obj   

    ...and I can't find the Magic Decoder Ring to explain all the "D", "h", "e", "s", "noInit", "sim" permutations in the rtdx/lib/c6000 directory.  The .cmd file in a different project from the old environment has a "-l=rtdx64xplus.lib" and "-l=bios.a64P" but I don't seem to be able to find the correct spot to place these names so this project will link with them.  Fun!

  • Those are all just standard bios symbols. It's like the BIOS lib is not getting linked in. Can you give me your entire build output?

  • Yeah, that's what I'm thinking too but I can't find the magic button!

    **** Build of configuration Debug for project Pen6437_Bootloader ****

    /home/dlittell/ti/ccsv6/utils/bin/gmake -k all
    Building target: Pen6437_Bootloader.out
    Invoking: C6000 Linker
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --display_error_number --diag_warning=225 -z -m"Pen6437_Bootloader.map" --stack_size=800 --heap_size=800 --warn_sections -i"/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/lib" -i"/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" -i"/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/lib/c6000" -i"/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/lib" --reread_libs --xml_link_info="Pen6437_Bootloader_linkInfo.xml" --rom_model -o "Pen6437_Bootloader.out"  "./src/Bootloader.obj" "./src/SpiMsg.obj" "./src/Update.obj" "./src/crc.obj" "./src/edma3.obj" "./src/entry.obj" "./src/flash.obj" "./src/spi.obj" "./src/validate.obj" "../DM6437.cmd" "../Pen6437_Bootloader.cmd" -l"libc.a"
    <Linking>

     undefined       first referenced    
      symbol             in file         
     ---------       ----------------    
     _C64_disableIER ./src/spi.obj       
     _C64_enableIER  ./src/spi.obj       
     _DDR2_Heap      ./src/Update.obj    
     _HWI_disable    ./src/Bootloader.obj
     _HWI_enable     ./src/Bootloader.obj
     _MEM_alloc      ./src/Update.obj    
     _SEM_pend       ./src/SpiMsg.obj    
     _SEM_pendBinary ./src/spi.obj       
     _SEM_postBinary ./src/spi.obj       
     _TSK_ATTRS      ./src/SpiMsg.obj    
     _TSK_create     ./src/SpiMsg.obj    
     _TSK_timerSem   ./src/SpiMsg.obj    
     __SEM_dopost    ./src/SpiMsg.obj    

    error #10234-D: unresolved symbols remain

    >> Compilation failure
    error #10010: errors encountered during linking; "Pen6437_Bootloader.out" not
       built
    gmake: *** [Pen6437_Bootloader.out] Error 1
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

  • Can you clean your project and then build? I would like to see all the output from a clean build... basically where everything get recompiled.

  • I was looking through some of the files in the existing 6437 projects.  There's some information in some of them that indicate these are from a "CCStudio 3.2+".  So I tried doing the "special import" of CCS 3.3 projects but got an error dialog stating that such a thing works only under Windows.  I simply cannot find the words to express my joy at that.

    In any case, here's a full recompile following a clean:


    **** Build of configuration Debug for project Pen6437_Bootloader ****

    /home/dlittell/ti/ccsv6/utils/bin/gmake -k all
    Building file: ../src/Bootloader.c
    Invoking: C6000 Compiler
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --include_path="/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/Debug" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/src" --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="src/Bootloader.pp" --obj_directory="src"  "../src/Bootloader.c"
    Finished building: ../src/Bootloader.c
     
    Building file: ../src/SpiMsg.c
    Invoking: C6000 Compiler
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --include_path="/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/Debug" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/src" --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="src/SpiMsg.pp" --obj_directory="src"  "../src/SpiMsg.c"
    Finished building: ../src/SpiMsg.c
     
    Building file: ../src/Update.c
    Invoking: C6000 Compiler
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --include_path="/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/Debug" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/src" --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="src/Update.pp" --obj_directory="src"  "../src/Update.c"
    Finished building: ../src/Update.c
     
    Building file: ../src/crc.c
    Invoking: C6000 Compiler
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --include_path="/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/Debug" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/src" --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="src/crc.pp" --obj_directory="src"  "../src/crc.c"
    Finished building: ../src/crc.c
     
    Building file: ../src/edma3.c
    Invoking: C6000 Compiler
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --include_path="/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/Debug" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/src" --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="src/edma3.pp" --obj_directory="src"  "../src/edma3.c"
    Finished building: ../src/edma3.c
     
    Building file: ../src/entry.asm
    Invoking: C6000 Compiler
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --include_path="/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/Debug" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/src" --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="src/entry.pp" --obj_directory="src"  "../src/entry.asm"
    Finished building: ../src/entry.asm
     
    Building file: ../src/flash.c
    Invoking: C6000 Compiler
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --include_path="/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/Debug" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/src" --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="src/flash.pp" --obj_directory="src"  "../src/flash.c"
    Finished building: ../src/flash.c
     
    Building file: ../src/spi.c
    Invoking: C6000 Compiler
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --include_path="/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/Debug" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/src" --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="src/spi.pp" --obj_directory="src"  "../src/spi.c"
    Finished building: ../src/spi.c
     
    Building file: ../src/validate.c
    Invoking: C6000 Compiler
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --include_path="/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/Debug" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="/home/dlittell/work/penveu/trunk/Pen6437_Bootloader/src" --display_error_number --diag_warning=225 --opt_for_speed=5 --preproc_with_compile --preproc_dependency="src/validate.pp" --obj_directory="src"  "../src/validate.c"
    "../src/validate.c", line 124: warning #179-D: variable "crc" was declared but never referenced
    Finished building: ../src/validate.c
     
    Building target: Pen6437_Bootloader.out
    Invoking: C6000 Linker
    "/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/bin/cl6x" -mv64+ -g -O0 --define=dm6437 --display_error_number --diag_warning=225 -z -m"Pen6437_Bootloader.map" --stack_size=800 --heap_size=800 --warn_sections -i"/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/lib" -i"/home/dlittell/ti/ccsv6/tools/compiler/c6000_7.0.5/include" -i"/home/dlittell/ti/bios_5_42_01_09/packages/ti/rtdx/lib/c6000" -i"/home/dlittell/ti/bios_5_42_01_09/packages/ti/bios/lib" --reread_libs --xml_link_info="Pen6437_Bootloader_linkInfo.xml" --rom_model -o "Pen6437_Bootloader.out"  "./src/Bootloader.obj" "./src/SpiMsg.obj" "./src/Update.obj" "./src/crc.obj" "./src/edma3.obj" "./src/entry.obj" "./src/flash.obj" "./src/spi.obj" "./src/validate.obj" "../DM6437.cmd" "../Pen6437_Bootloader.cmd" -l"libc.a"
    <Linking>

     undefined       first referenced    
      symbol             in file         
     ---------       ----------------    
     _C64_disableIER ./src/spi.obj       
     _C64_enableIER  ./src/spi.obj       
     _DDR2_Heap      ./src/Update.obj    
     _HWI_disable    ./src/Bootloader.obj
     _HWI_enable     ./src/Bootloader.obj
     _MEM_alloc      ./src/Update.obj    
     _SEM_pend       ./src/SpiMsg.obj    
     _SEM_pendBinary ./src/spi.obj       
     _SEM_postBinary ./src/spi.obj       
     _TSK_ATTRS      ./src/SpiMsg.obj    
     _TSK_create     ./src/SpiMsg.obj    
     _TSK_timerSem   ./src/SpiMsg.obj    
     __SEM_dopost    ./src/SpiMsg.obj    

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "Pen6437_Bootloader.out" not

    >> Compilation failure
       built
    gmake: *** [Pen6437_Bootloader.out] Error 1
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

  • The issue I see is that I don't see tconf being invoked to build the BIOS tcf file.

    Is there a valid tcf file in your project (I assume so)?

    Is a valid BIOS version associated with the project (check the project properties under 'General')?

  • To check if CCS is configured to use the BIOS5 installation you just installed you can try creating a new project for DM6437 and use one of the BIOS5 project templates (there are templates for evmdm6437). If you can get one of those to build, then that is good.

  • It's like a comedy of errors...

    I had thought that the Project Properties wasn't giving me the option of the newer DSP/BIOS but it problem was the way the options were being displayed in the drop-down.  After I realized what was happening I selected the version of DSP/BIOS that's installed.

    Then all the wheels came flying off.

    I'm now getting tons of warnings and errors about all sorts of things being redefined.  Should there be one (and only one) .tcf file in the project?  There was a .tcf file that came with this mess but there's now an additional one ("DspBiosConfiguration.tcf") that appeared after adding DSP/BIOS to the mix.

    Is all this an artifact of trying to make the leap from CCS 3.2+ to CCS6?

  • David Littell said:
    I'm now getting tons of warnings and errors about all sorts of things being redefined. 

    If they are linker errors coming from the linker cmd file, it may be because of the old way of importing the tconf generated linker command file. That was common in v3 and earlier but starting with v4, it was auto included so you can remove that reference in the cmd file. An example of removing the reference is showed mid-way down this wiki:

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

    After figure 6.

    David Littell said:
    Is all this an artifact of trying to make the leap from CCS 3.2+ to CCS6?

    The entire project management system changed starting from v4. It certainly caused a lot of headaches. Any v3 project migration of any complexity has a lot of pains, especially if it uses BIOS.

  • A project created from the Hello World evmDM6437 project did compile and link, so I think I'm going to use that as a basis and move the source over from the old (CCS 3.2+) project.  I guess I'll figure out how to make the needed adaptations to their hardware design as I go.


    Thanks very much for your help - I certainly never realized they had handed me such a bag of dirt... ;-)

    Thanks again,

    Dave

  • Did you try removing the -l references in your cmd files like in the wiki page? I'm pretty sure that is what you are running into (right now)

    http://processors.wiki.ti.com/index.php/File:CCSv4_import_pjt08.PNG

    David Littell said:
    , so I think I'm going to use that as a basis and move the source over from the old (CCS 3.2+) project. 

    Yeah that is not a bad idea. Many people just rather create a new project from scratch and then re-add source files so they are in control of how the project is configured. Sorry for all your pains.