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.

BIOS5 + RTSC

Let's say I would like to create a BIOS project utilizing the PSP UART driver.  This is not a trivial thing to do!  Is there anything that can be done to simplify this usage?

Here's what I tried:

  • Create a RTSC config project
  • Under the "parent" project, select the RTSC config project as a project reference
  • When I build the parent project it also builds the cfg, but now I get a linker error about redefined sections since they are being defined in both linker.cmd and bioscfg.cmd.
  • In the RTSC config project under "Advanced Options" I clicked the "read inline.tcf in addition to inline cfg (--tcf)" option and then did an "exclude from build" of the BIOS tcf file.  Now the RTSC config tries to pull in the tcf, but it fails because they are not in the same directory!!!!

So I still do not have this building...  How is this supposed to work?!

**** Build of configuration Default for project rtsc_cfg_proj ****

C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake -k all
'Building target: configPkg.PHONY'
'Invoking: XDCtools v3.15'
"C:/Program Files/Texas Instruments/xdctools_3_15_00_35/xs" --xdcpath="C:/Program Files/Texas Instruments/ipc_1_00_00_31/packages";"C:\ti\psp\DM648_BIOSPSP_RELEASE_1_10_01\pspdrivers_1_10_01\packages";"C:\ti\edma_lld\edma3_lld_1_05_00\packages"; xdc.tools.configuro -o "configPkg" -t ti.targets.C64P -p ti.platforms.evm6424 -r debug -c "C:/Program Files/Texas Instruments/ccsv4/tools/compiler/c6000" --tcf "../6424dsk.cfg"
js: "C:/Program Files/Texas Instruments/xdctools_3_15_00_35/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: Error: can't open .tcf input file '../6424dsk.tcf'

  • Brad,

    You do not have to exclude the 'tcf' file from the build. In this case the RTSC configuration project needs both the tcf and cfg files.

    Here are my steps for building the 'demo' application shipped with the DM648 BIOS/PSP - the sources are available in examples/demo

    Part 1 - RTSC Configuration Project

     --------------------------------------------

    1. Create a RTSC configuration project by clicking on "File -> New -> RTSC Configuration Project" . Do not select BIOS6 or any of the other products that show up in the RTSC configuration settings page

    2. Add demo_XDC.cfg and demo_XDC.tcf file to the configuration project by right clicking on the project and selecting "Add Files to Project"

    3. Add edma3 and bios5 packages repository to the package path by right clicking on project and then selecting "Properties -> CCS Build Settings -> RTSC Configuration -> More -> Select repository from file-system"

    4. Check "Read inline.tcf in addition to inline cfg (--tcf)" by selecting "C/C++ Build -> XDCtools -> Advanced Options:" in project properties dialog

    Part 2 - CCS Project

    -------------------------

    1. Create a CCS executable project by clicking on "File -> New -> CCS project"

    2. Refer the RTSC configuration created in part 1 by right clicking on project and then selecting "Properties -> CCS Build Settings -> Dependencies -> Add"

    3. Add the sources 'main.c', 'csl_dat_edma3*.[ch]', 'csl2_dat.c', 'dat_edma3lld_biosAdapter.c' to the project by right clicking on the project and then selecting "Add Files to Project"

    4. Add "examples\CSL2_DAT_DEMO\dat_edma3LLD" and "examples\CSL2_DAT_DEMO\csl2_legacy_include" to the include path of the project by right clicking on project and then selecting "Properties -> C/C++ Build -> Basic Settings: -> C6000 Compiler -> Include Options:". Use the '+' icon to navigate to the folders mentioned above.

    5. Add the following pre-defined symbol "CHIP_DM642" to the project by selecting "Predefined Symbols" in the C/C++ build page

    6. Build the project. Log is given below

     

     

    **** Build of configuration Default for project demo_XDC_cfg ****

     

    C:\Program Files\Texas Instruments\CC Studio v4_0_0_13_15\ccsv4\utils\gmake\gmake -k all

    'Building target: configPkg.PHONY'

    'Invoking: XDCtools'

    "C:/Program Files/Texas Instruments/xdctools/xdctools_3_15_00_47/xs" --xdcpath="C:\Program Files\Texas Instruments\CC Studio v4_0_0_13_15\bios_5_40_00_13\packages";"C:\work\bios5_psp\packages"; xdc.tools.configuro -o "configPkg" -t ti.targets.C64P -p ti.platforms.evmDM6437 -r debug -c "C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000" --tcf "../demo_XDC.cfg"

    making package.mak (because of package.bld) ...

    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

    configuring demo_XDC.x64P from package/cfg/demo_XDC_x64P.cfg ...

    Inside EDMA3 Drv Sample getLibs

    will link with ti.sdo.edma3.drv.sample:lib/dm6437/Debug/edma3_drv_bios_sample.lib

    Inside EDMA3 Drv getLibs

    will link with ti.sdo.edma3.drv:lib/Debug/edma3_drv_bios.lib

    Inside EDMA3 RM getLibs

    will link with ti.sdo.edma3.rm:lib/dm6437/Debug/edma3_rm_bios.lib

    cl64P package/cfg/demo_XDC_x64P.c ...

    asm64P package/cfg/demo_XDC_x64Pcfg.s62 ...

    cl64P package/cfg/demo_XDC_x64Pcfg_c.c ...

    'Finished building target: configPkg.PHONY'

    ' '

    Build complete for project demo_XDC_cfg

     

    **** Build of configuration Debug for project demo_XDC ****

     

    C:\Program Files\Texas Instruments\CC Studio v4_0_0_13_15\ccsv4\utils\gmake\gmake -k all

    'Building file: ../csl2_dat.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/bin/cl6x" -g --fp_mode=strict --define=CHIP_DM642 --include_path="C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/include" --include_path="C:\work\bios5_psp\examples\CSL2_DAT_DEMO\dat_edma3LLD" --include_path="C:\work\bios5_psp\examples\CSL2_DAT_DEMO\csl2_legacy_include" --sat_reassoc=off --fp_reassoc=on --mem_model:const=data --mem_model:data=far_aggregates --cmd_file="C:\Documents and Settings\a0876492\4_0_0_13_15\demo_XDC_cfg\Default\configPkg\compiler.opt" --preproc_with_compile --preproc_dependency="csl2_dat.pp" "../csl2_dat.c"

    'Finished building: ../csl2_dat.c'

    ' '

    'Building file: ../csl2_dat_edma3lld.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/bin/cl6x" -g --fp_mode=strict --define=CHIP_DM642 --include_path="C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/include" --include_path="C:\work\bios5_psp\examples\CSL2_DAT_DEMO\dat_edma3LLD" --include_path="C:\work\bios5_psp\examples\CSL2_DAT_DEMO\csl2_legacy_include" --sat_reassoc=off --fp_reassoc=on --mem_model:const=data --mem_model:data=far_aggregates --cmd_file="C:\Documents and Settings\a0876492\4_0_0_13_15\demo_XDC_cfg\Default\configPkg\compiler.opt" --preproc_with_compile --preproc_dependency="csl2_dat_edma3lld.pp" "../csl2_dat_edma3lld.c"

    'Finished building: ../csl2_dat_edma3lld.c'

    ' '

    'Building file: ../src/main.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/bin/cl6x" -g --fp_mode=strict --define=CHIP_DM642 --include_path="C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/include" --include_path="C:\work\bios5_psp\examples\CSL2_DAT_DEMO\dat_edma3LLD" --include_path="C:\work\bios5_psp\examples\CSL2_DAT_DEMO\csl2_legacy_include" --sat_reassoc=off --fp_reassoc=on --mem_model:const=data --mem_model:data=far_aggregates --cmd_file="C:\Documents and Settings\a0876492\4_0_0_13_15\demo_XDC_cfg\Default\configPkg\compiler.opt" --preproc_with_compile --preproc_dependency="src/main.pp" --obj_directory="src" "../src/main.c"

    'Finished building: ../src/main.c'

    ' '

    'Building file: ../bios_adapter/dat_edma3lld_biosAdapter.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/bin/cl6x" -g --fp_mode=strict --define=CHIP_DM642 --include_path="C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/include" --include_path="C:\work\bios5_psp\examples\CSL2_DAT_DEMO\dat_edma3LLD" --include_path="C:\work\bios5_psp\examples\CSL2_DAT_DEMO\csl2_legacy_include" --sat_reassoc=off --fp_reassoc=on --mem_model:const=data --mem_model:data=far_aggregates --cmd_file="C:\Documents and Settings\a0876492\4_0_0_13_15\demo_XDC_cfg\Default\configPkg\compiler.opt" --preproc_with_compile --preproc_dependency="bios_adapter/dat_edma3lld_biosAdapter.pp" --obj_directory="bios_adapter" "../bios_adapter/dat_edma3lld_biosAdapter.c"

    'Finished building: ../bios_adapter/dat_edma3lld_biosAdapter.c'

    ' '

    'Building target: demo_XDC.out'

    'Invoking: C6000 Linker'

    "C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/bin/cl6x" -z -o"demo_XDC.out" -m"demo_XDC.map" --warn_sections -i"C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/lib" -i"C:/Program Files/Texas Instruments/CC Studio v4_0_0_13_15/ccsv4/tools/compiler/c6000/include" --reread_libs --rom_model -o "demo_XDC.out" "./bios_adapter/dat_edma3lld_biosAdapter.obj" "./csl2_dat_edma3lld.obj" "./csl2_dat.obj" "./src/main.obj" -l"C:\Documents and Settings\a0876492\4_0_0_13_15\demo_XDC_cfg\Default\configPkg\linker.cmd"

    <Linking>

    'Finished building target: demo_XDC.out'

    ' '

    Build complete for project demo_XDC

     

     

  • Brad and Amit,
    I'm trying to do the same thing in CCS 5.0.3, but I'm not able to follow your guide above in the new CCS release.
    Have you tried to create a buildable project utilizing the PSP UART driver with DSP/BIOS 5 and RTSC in CCS 5?
    Have you any suggestions for me?
    Thanks!
    Umberto

  • It's no longer necessary to have separate projects for the configuration and the executable.  Now you can just go to File -> New -> CCS Project and then create an "Empty RTSC Project". 

    If you prefer having separate projects you can set the output type to "Other" and then under Project Templates you can choose "Empty RTSC Configuration Project".

    Brad