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.

Choosing target configurations and BIOS configurations

I have CCS v4.1.2.000027 and BIOS 5.41.2.14. My target development is 5509A.

CCS being eclipse based has "build configurations", which allows me to have different compiler/linker settings for different builds, for example "Debug" and "Release". I can even use this when I have project dependencies, for example in the Debug configuration I have C5500 Linker file search path "${PROJECT_ROOT}/../my_lib/Debug". And for a release I may have "${PROJECT_ROOT}/../my_lib/Release"

Now I dont know if this makes absolute sense or not, or if I am expecting too much. But I would like my target and BIOS configurations to be dependent on my build configuration. These questions are really about having different development environment to the final build environment, as these departments are geographically separated and have different purposes. Build is just about getting a binary for final deploy, whereas development I want coffs etc for emulators and even different platforms whilst prototype PCBs are being developed. So I was thinking of having build configurations like "Debug_XDS510PLUS_DSK5509A", "Debug_XDS510PLUS_MYBOARD", "RELEASE_FLASH_MYBOARD" etc.

So here are my 2 questions

[1]Build my application for multiple platforms, eg the Spectrum Digital DSK5509A board and then our own 5509A prototype board when it arrives. The BIOS configuration file, .tcf, seems to automatically use my_project.tcf. The tcf files are hierarchical and load other tcfs, eg utils.loadPlatform("ti.platforms.evm5509a");. Now this means I may want different loadPlatform for different platforms. Also things like heap sizes or inclusion of RTDX may differ from Debug to Release. Can I choose a tcf based on the build configuration, or can tcf have optional programming based on some project defines? Please Advise.

[2]Build my application for multiple deployment formats, eg coff for SEED XDS510PLUS emulator  and then binary for FLASH. I am not sure if this is entirely possible using just the compile/link/build settings, or if the "target configuration" (ccxml and ultimately the GEL) file has some involvement in this. Maybe target configuration is only for debugging and not for building? Please advise.

 

  • Ben,

    [1] Please check the page below:

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

    This shows an example of using different build options for both the linker .cmd and DSP/BIOS .tcf files based on project defined symbols.

    Although this page was designed for CCSv3.3, the options and keywords for the linker and the tconf are the same. The configuration of the -Dname variables can be found in the project options --> C/C++ Build --> Tconf Script Compiler --> General Options --> box Script Environment Variables.

    [2] The target configuration (.ccxml and GEL) do not have any involvement in the output file built. However, each Build Configuration can have its own set of post-build steps to generate the required flash output file. There's even a predefined step that already configures the creation of the flash image (in the project options, check the C/C++ Build --> tab Build Steps --> Apply pre-defined steps).

    Hope this helps,

    Rafael