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.

CCSv5 - BIOS 5.x : import DM6437/DM648 DVSDK 1.11 BIOS 5.x project in CCSv5? Differences in auto generated makefile (subdir_rules.mk) when Creating VS importing CCS3.x based BIOS 5.x projects?

Other Parts Discussed in Thread: TMS320DM6437

Team,

To start with I am just trying to import the DM648/DM6437 DVSDK 1.11 examples (like video_preview) into CCSv5.

It seems that there are differences in the build process when a BIOS 5.x project is created (from an existing DSP BIOS 5.x example) and when it is imported from a CCS 3.30 project.

If you look at the below post:
http://e2e.ti.com/support/embedded/tirtos/f/355/p/319358/1112228.aspx#1112228
you can see that the imported project does not have the portion of the subdir_rules.mk that invoke Tconf and create the *.cfg.cmd. This makes the build failing as the BIOS symbols and libs are not found.

On the created project Tconf is called as expected to generate the *.cfg.cmd. See below the 2 subdir_rules.mk files.

Am I missing something here?


Thanks and best regards,

Anthony

-------------- EDITED ------------------

subdir_rule.m generated from the BIOS 5 example (manually) created:
As expected the Tconf is being invoked.
################################################################################
# Automatically-generated file. Do not edit!
################################################################################

# Each subdirectory must supply rules for building sources it contributes
hello.obj: ../hello.c $(GEN_OPTS) $(GEN_HDRS)
    @echo 'Building file: $<'
    @echo 'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/bin/cl6x" --define=dm6437 --include_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/include" --include_path="C:/ti/_CCSworkspace/test_bios5/Debug" --include_path="C:/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="C:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --symdebug:dwarf --diag_warning=225 --display_error_number --silicon_version=64+ --preproc_with_compile --preproc_dependency="hello.pp" $(GEN_OPTS__FLAG) "$<"
    @echo 'Finished building: $<'
    @echo ' '

hellocfg.cmd: ../hello.tcf
    @echo 'Building file: $<'
    @echo 'Invoking: TConf'
    "C:/ti/bios_5_42_01_09/xdctools/tconf" -b -Dconfig.importPath="C:/ti/bios_5_42_01_09/packages;" "$<"
    @echo 'Finished building: $<'
    @echo ' '

hellocfg.s??: | hellocfg.cmd
hellocfg_c.c: | hellocfg.cmd
hellocfg.h: | hellocfg.cmd
hellocfg.h??: | hellocfg.cmd
hello.cdb: | hellocfg.cmd

hellocfg.obj: ./hellocfg.s?? $(GEN_OPTS) $(GEN_HDRS)
    @echo 'Building file: $<'
    @echo 'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/bin/cl6x" --define=dm6437 --include_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/include" --include_path="C:/ti/_CCSworkspace/test_bios5/Debug" --include_path="C:/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="C:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --symdebug:dwarf --diag_warning=225 --display_error_number --silicon_version=64+ --preproc_with_compile --preproc_dependency="hellocfg.pp" $(GEN_OPTS__FLAG) "$<"
    @echo 'Finished building: $<'
    @echo ' '

hellocfg_c.obj: ./hellocfg_c.c $(GEN_OPTS) $(GEN_HDRS)
    @echo 'Building file: $<'
    @echo 'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/bin/cl6x" --define=dm6437 --include_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/include" --include_path="C:/ti/_CCSworkspace/test_bios5/Debug" --include_path="C:/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="C:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --symdebug:dwarf --diag_warning=225 --display_error_number --silicon_version=64+ --preproc_with_compile --preproc_dependency="hellocfg_c.pp" $(GEN_OPTS__FLAG) "$<"
    @echo 'Finished building: $<'
    @echo ' '

--------- subdir_rule.m from the imported project:
Tconf is not invoked!
################################################################################
# Automatically-generated file. Do not edit!
################################################################################

# Each subdirectory must supply rules for building sources it contributes
i2c_params.obj: C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437/i2c_params.c $(GEN_OPTS) $(GEN_HDRS)
    @echo 'Building file: $<'
    @echo 'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/bin/cl6x" --cmd_file="C:\ti\_CCSworkspace\video_preview\xdcconfig\compiler.opt"  --define="CHIP_DM6437" --define="_NTSC" --define="DM6437_SOC_BUILD" --define="_DEBUG" --define=dm6437 --include_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/include" --include_path="C:/ti/dvsdk_1_11_00_00/edma3_lld_1_05_00/packages" --include_path="C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437" --include_path="C:/ti/evmdm6437_v2/include" --include_path="C:/ti/dvsdk_1_11_00_00/pspdrivers_1_10_00/packages" --include_path="C:/ti/_CCSworkspace/video_preview/Debug" --include_path="C:/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="C:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="C:/ti/xdais_7_21_01_07/packages/ti/xdais" --include_path="/include" --include_path=".." --include_path="/include" --symdebug:dwarf --display_error_number --issue_remarks --silicon_version=64+ --preproc_with_compile --preproc_dependency="i2c_params.pp" $(GEN_OPTS__FLAG) "$<"
    @echo 'Finished building: $<'
    @echo ' '

video_preview.obj: ../video_preview.c $(GEN_OPTS) $(GEN_HDRS)
    @echo 'Building file: $<'
    @echo 'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/bin/cl6x" --cmd_file="C:\ti\_CCSworkspace\video_preview\xdcconfig\compiler.opt"  --define="CHIP_DM6437" --define="_NTSC" --define="DM6437_SOC_BUILD" --define="_DEBUG" --define=dm6437 --include_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/include" --include_path="C:/ti/dvsdk_1_11_00_00/edma3_lld_1_05_00/packages" --include_path="C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437" --include_path="C:/ti/evmdm6437_v2/include" --include_path="C:/ti/dvsdk_1_11_00_00/pspdrivers_1_10_00/packages" --include_path="C:/ti/_CCSworkspace/video_preview/Debug" --include_path="C:/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="C:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="C:/ti/xdais_7_21_01_07/packages/ti/xdais" --include_path="/include" --include_path=".." --include_path="/include" --symdebug:dwarf --display_error_number --issue_remarks --silicon_version=64+ --preproc_with_compile --preproc_dependency="video_preview.pp" $(GEN_OPTS__FLAG) "$<"
    @echo 'Finished building: $<'
    @echo ' '



  • This issue is being investigated off-line. Any updates will be posted here.

    Thanks

    ki

  • Thanks to Ki-Soo for the inputs I was finally able to import and build the video_preview example.
    It builds sucessfully with CGTools 6.0.31, 6.1.23 and 7.4.4.


    The high level steps are:

    - import the video-preview using "import legacy ccs3.30 project"


    - Follow the project.log (that is created during the import) and add the the project linked ressources with BIOSDVSDK_INSTALL_DIR and BSL_EVMDM6437_INSTALLDIR.

    - In properties/general change variant to: TMS320DM6437

    - For now remove the \video_preview\xdcconfig\compiler.opt (you can as well keep the options there to a minimum). Later you can have it back with the specific options you want.

    - add path to include files:
    --include_path="C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437" --include_path="C:/ti/dvsdk_1_11_00_00/edma3_lld_1_05_00/packages"  --include_path="C:/ti/dvsdk_1_11_00_00/pspdrivers_1_10_00/packages" --include_path="C:/ti/evmdm6437_v2/include" --include_path="C:/ti/_CCSworkspace/video_preview/Debug"

    - In the project the .tcf has been removed during the import from the file to build (this is why the tconf call did not appear in the /debug/subdir_rules.mk make file). Select the file, right clikc and choose "do not exclude from build".

    - Now remove the dm6437.cmd from properties/CCS general/linker command file as it conflicts with the one created automatically at build time based on the tcf config.

    - include the below libs in the linker options:
    -l"C:\ti\dvsdk_1_11_00_00\edma3_lld_1_05_00\packages\ti\sdo\edma3\drv\lib\Debug\edma3_drv_bios.lib" -l"C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\pal_os\bios\lib\dm6437\Debug\palos_bios.lib"
    -l"C:\ti\dvsdk_1_11_00_00\edma3_lld_1_05_00\packages\ti\sdo\edma3\rm\lib\dm6437\Debug\edma3_rm_bios.lib"
    -l"C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\vpbe\lib\dm6437\Debug\vpbe_bios_drv.lib"
    -l"C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\vpfe\lib\dm6437\Debug\vpfe_bios_drv.lib"
    -l"C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\i2c\lib\dm6437\Debug\i2c_bios_drv.lib"
    -l"C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\pal_os\bios\lib\dm6437\Debug\palos_bios.lib"
    -l"C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\previewer\lib\dm6437\Debug\prev_bios_drv.lib"
    -l"C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\resizer\lib\dm6437\Debug\rsz_bios_drv.lib"
    -l"C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\system\dm6437\bios\evmDM6437\video\lib\Debug\video_bios_drv.lib"

    After those changes the project builds and the .out is generated. I copied the complete build log further below for information.
    You can see that only very little compiler options are used as the goal was to have a working starting point.
    I have not run the file on the HW so I don't know if it behaves as expected.

    - Also it seems that there are some ways to build it using the predifined .cmd (dm6437.cmd) mentioned below:
    http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/234002.aspx
    But in my case I used the automatically generated .cmd generated from the tcf file. It makes sense since this is a BIOS5.x based project.

    ----------- buid log -------------------------

    **** Build of configuration Debug for project video_preview ****

    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all
    'Building file: ../video_preview.tcf'
    'Invoking: TConf'
    "C:/ti/bios_5_42_01_09/xdctools/tconf" -b -Dconfig.importPath="C:/ti/bios_5_42_01_09/packages;..;C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437;" "../video_preview.tcf"
    'Finished building: ../video_preview.tcf'
    ' '
    'Building file: C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437/i2c_params.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/bin/cl6x" --define="CHIP_DM6437" --define="_NTSC" --define="DM6437_SOC_BUILD" --define="_DEBUG" --define=dm6437 --include_path="C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437" --include_path="C:/ti/dvsdk_1_11_00_00/edma3_lld_1_05_00/packages" --include_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/include" --include_path="C:/ti/dvsdk_1_11_00_00/pspdrivers_1_10_00/packages" --include_path="C:/ti/evmdm6437_v2/include" --include_path="C:/ti/_CCSworkspace/video_preview/Debug" --include_path="C:/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="C:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="C:/ti/xdais_7_21_01_07/packages/ti/xdais" --include_path="/include" --include_path=".." --include_path="/include" --symdebug:dwarf --display_error_number --issue_remarks --silicon_version=64+ --preproc_with_compile --preproc_dependency="i2c_params.pp"  "C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437/i2c_params.c"
    'Finished building: C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437/i2c_params.c'
    ' '
    'Building file: ../video_preview.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/bin/cl6x" --define="CHIP_DM6437" --define="_NTSC" --define="DM6437_SOC_BUILD" --define="_DEBUG" --define=dm6437 --include_path="C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437" --include_path="C:/ti/dvsdk_1_11_00_00/edma3_lld_1_05_00/packages" --include_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/include" --include_path="C:/ti/dvsdk_1_11_00_00/pspdrivers_1_10_00/packages" --include_path="C:/ti/evmdm6437_v2/include" --include_path="C:/ti/_CCSworkspace/video_preview/Debug" --include_path="C:/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="C:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="C:/ti/xdais_7_21_01_07/packages/ti/xdais" --include_path="/include" --include_path=".." --include_path="/include" --symdebug:dwarf --display_error_number --issue_remarks --silicon_version=64+ --preproc_with_compile --preproc_dependency="video_preview.pp"  "../video_preview.c"
    'Finished building: ../video_preview.c'
    ' '
    'Building file: video_previewcfg.s62'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/bin/cl6x" --define="CHIP_DM6437" --define="_NTSC" --define="DM6437_SOC_BUILD" --define="_DEBUG" --define=dm6437 --include_path="C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437" --include_path="C:/ti/dvsdk_1_11_00_00/edma3_lld_1_05_00/packages" --include_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/include" --include_path="C:/ti/dvsdk_1_11_00_00/pspdrivers_1_10_00/packages" --include_path="C:/ti/evmdm6437_v2/include" --include_path="C:/ti/_CCSworkspace/video_preview/Debug" --include_path="C:/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="C:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="C:/ti/xdais_7_21_01_07/packages/ti/xdais" --include_path="/include" --include_path=".." --include_path="/include" --symdebug:dwarf --display_error_number --issue_remarks --silicon_version=64+ --preproc_with_compile --preproc_dependency="video_previewcfg.pp"  "video_previewcfg.s62"
    'Finished building: video_previewcfg.s62'
    ' '
    'Building file: video_previewcfg_c.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/bin/cl6x" --define="CHIP_DM6437" --define="_NTSC" --define="DM6437_SOC_BUILD" --define="_DEBUG" --define=dm6437 --include_path="C:/ti/dvsdk_1_11_00_00/examples/common/evmDM6437" --include_path="C:/ti/dvsdk_1_11_00_00/edma3_lld_1_05_00/packages" --include_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/include" --include_path="C:/ti/dvsdk_1_11_00_00/pspdrivers_1_10_00/packages" --include_path="C:/ti/evmdm6437_v2/include" --include_path="C:/ti/_CCSworkspace/video_preview/Debug" --include_path="C:/ti/bios_5_42_01_09/packages/ti/bios/include" --include_path="C:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000" --include_path="C:/ti/xdais_7_21_01_07/packages/ti/xdais" --include_path="/include" --include_path=".." --include_path="/include" --symdebug:dwarf --display_error_number --issue_remarks --silicon_version=64+ --preproc_with_compile --preproc_dependency="video_previewcfg_c.pp"  "video_previewcfg_c.c"
    'Finished building: video_previewcfg_c.c'
    ' '
    'Building target: video_preview.out'
    'Invoking: C6000 Linker'
    "C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/bin/cl6x" --define="CHIP_DM6437" --define="_NTSC" --define="DM6437_SOC_BUILD" --define="_DEBUG" --define=dm6437 --symdebug:dwarf --display_error_number --issue_remarks --silicon_version=64+ -z --rom_model --heap_size=0x800 --map_file="video_preview.map" --reread_libs --search_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/lib" --search_path="C:/ti/dvsdk_1_11_00_00/pspdrivers_1_10_00/lib" --search_path="C:/ti/evmdm6437_v2/lib" --search_path="C:/ti/ccsv5/tools/compiler/c6000_cgtools_6_0_31/include" --search_path="C:/ti/bios_5_42_01_09/packages/ti/rtdx/lib/c6000" --search_path="C:/ti/bios_5_42_01_09/packages/ti/bios/lib" --search_path="C:/ti/_CCSworkspace/video_preview" --search_path="/lib" --search_path="/packages/ti/rtdx/lib/c6000" --stack_size=0x800 --warn_sections --xml_link_info="video_preview_linkInfo.xml" -o "video_preview.out" -l"./video_previewcfg.cmd"  "./video_previewcfg_c.obj" "./video_previewcfg.obj" "./video_preview.obj" "./i2c_params.obj" "C:/ti/evmdm6437_v2/lib/evmdm6437bsl.lib" --library="C:\ti\dvsdk_1_11_00_00\edma3_lld_1_05_00\packages\ti\sdo\edma3\drv\lib\Debug\edma3_drv_bios.lib" --library="C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\pal_os\bios\lib\dm6437\Debug\palos_bios.lib" --library="C:\ti\dvsdk_1_11_00_00\edma3_lld_1_05_00\packages\ti\sdo\edma3\rm\lib\dm6437\Debug\edma3_rm_bios.lib" --library="C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\vpbe\lib\dm6437\Debug\vpbe_bios_drv.lib" --library="C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\vpfe\lib\dm6437\Debug\vpfe_bios_drv.lib" --library="C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\i2c\lib\dm6437\Debug\i2c_bios_drv.lib" --library="C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\previewer\lib\dm6437\Debug\prev_bios_drv.lib" --library="C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\resizer\lib\dm6437\Debug\rsz_bios_drv.lib" --library="C:\ti\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\system\dm6437\bios\evmDM6437\video\lib\Debug\video_bios_drv.lib"
    <Linking>
    >> warning: creating output section $build.attributes without SECTIONS
                specification
    'Finished building target: video_preview.out'
    ' '

    **** Build Finished ***