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.

problem when importing a CCS v.3 project

Other Parts Discussed in Thread: CCSTUDIO

Hello,

I'm working with CCS v.5.0.3 and my platform is the C6A8168 Evaluation Module. I have downloaded the Linux H264 encoder codec distributed by TI (see http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Video/index_FDS.html). My host machine works on Ubuntu 10.04. I have followed the instructions in the user's guide in order to install the sample Test Application (see page 25 of the enclosed h264_encoder_dm6467_UserGuide.pdf).

To do that, I imported the .pjt file by clicking "import" in the "File" tab, then "Legacy CCSv3.3 Projects" in "CCS". I selected the project file as explained at page 25 of the UserGuide. I selected "Copy projects into workspace". 

 

Finally, I have an error in the migration.log file :

!ERROR: java.lang.NullPointerException
    at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.resolveToCommonRootRelativePath(LegacyProjectImporter.java:1451)
    at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.processSources(LegacyProjectImporter.java:705)
    at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.createManagedMakeProject(LegacyProjectImporter.java:451)
    at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.doRun(LegacyProjectImporter.java:259)
    at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.access$0(LegacyProjectImporter.java:220)
    at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter$1.run(LegacyProjectImporter.java:203)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1957)
    at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.run(LegacyProjectImporter.java:201)
    at com.ti.ccstudio.managedbuild.ui.wizards.importlegacy.ImportLegacyProjectWizard$1.run(ImportLegacyProjectWizard.java:110)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)


Then, when I want to build the project, I have an error in linking.

 

Here is my .pjt file :

; Code Composer Project File, Version 2.0 (do not modify or remove this line)

[Project Settings]
ProjectDir="/home/js/CodeComposerStudio/dm6446_h264enc_02_02_00_02_production/packages/ti/sdo/codec/h264enc/app/Client/Build/"
ProjectType=Executable
CPUFamily=TMS320C64XX
Tool="Compiler"
Tool="CustomBuilder"
Tool="DspBiosBuilder"
Tool="Linker"
Config="Debug"

[Source Files]
Source="../Test/Src/alg_control.c"
Source="../Test/Src/alg_create.c"
Source="../Test/Src/alg_malloc.c"
Source="../Test/Src/bios_rts.c"
Source="../Test/Src/TestAppConfigParser.c"
Source="../Test/Src/TestAppEncoder.c"
Source="H264VEncApp.cmd"

["Compiler" Settings: "Debug"]
Options=-g -q -s -fr"$(Proj_dir)/Obj" -fs"$(Proj_dir)/Obj" -ft"$(Proj_dir)/Obj" -i"$(Proj_dir)/../Test/Inc" -i"/home/js/CodeComposerStudio/framework-components_3_21_00_03/packages/ti/sdo/fc/dman3" -i"/home/js/CodeComposerStudio/framework_components_2_24_01/fctools/packages" -i"/home/js/CodeComposerStudio/bios_6_31_00_06/packages" -i"$/home/js/CodeComposerStudio/framework-components_3_21_00_03/packages/ti/sdo/fc/utils/api" -i"$(Proj_dir)/../Test/Inc" -i"$(Proj_dir)/../../Inc" -d"C6000" -d"_RTS_MODE" -mo -mt -mw -mh256 -ml3 -mv6400+

["Linker" Settings: "Debug"]
Options=-q -a -c -m"$(Proj_dir)/Map/H264VEncApp.map" -o"$(Proj_dir)/Out/H264VEncApp.out" -w -x -i"$(Proj_dir)/../../../lib" -i"/home/js/CodeComposerStudio/framework-components_3_21_00_03/packages/ti/sdo/fc/dman3/lib" -i"/home/js/CodeComposerStudio/bios_6_31_00_06/packages/ti/bios/lib" -i"/home/js/CodeComposerStudio/ccsv5/tools/compiler/c6000/lib" -l"h264venc_ti.l64P" -l"dman3d.a64P" -l"biosDM420.a64P" -l"rts64plus.lib" --args250

["H264VEncApp.cmd" Settings: "Debug"]
LinkOrder=1


Any idea ?

Thanks.

JS

 

H264_Encoder_DM6446_UserGuide.pdf
  • Hi,

    In projects that have complex directory structures, it is usually preferrable to leave them in the original directory - i.e., uncheck the box "Copy projects into workspace". This will grant that relative paths will be preserved, especially in the compiler and linker include directories.

    I see you already updated the include paths in the .pjt to reflect the installation directories of the components being used. You also replaced the backslashes with forward slashes in your .pjt - this may be causing the warnings shown in the migration.log file (remember the CCSv3.3 import tool expects backslashes).

    Considering the warnings non harmful, I can think of another issue; I remember these codecs were severely strict with the tool requirements (BIOS, Framework components, etc.), therefore I am not sure what are your chances of making it work with BIOS 6 and the multiple versions of the framework components (I see your include path has versions 2.24 and 3.21). Can you stick with version 2.24 of FC and use BIOS5.41 or download a previous version of BIOS and try to use it instead? BIOS6 does not supply the <biosDM420.a64P> library (BIOS5.41 does), therefore you are probably getting a linker error because of that.

    Even with all these modifications keep in mind that you may need to fall back to the versions of components used by the codec to properly build it (check its datasheet). Not to mention the application was validated on a DM6446 platform, which may have significant differences when compared to the C6A8168 device.

    With regards to this last paragraph you may want to ask the device or the codec forum about updated versions for this newer device (unfortunately I am not the most knowledgeable person to talk about this).

    Hope this helps,

    Rafael 

     

     

     

     

  • Hi raphael,

    And thanks for replying. I did the modifications you advised me to do but it still does not work. Please, tell me if you see something wrong. If not, I will ask on the device forum as you said.

    Here is my new .pjt file. Assuming that BIOS v.5.32.02 is not available, I downloaded v.5.32.04. For Framwork Components, I just found v.2.20 instead of 2.20.00.15. In the last line of the linker options (in .pjt file), I could not find dman3d.a64P. I just had dman3.a64P.

    ; Code Composer Project File, Version 2.0 (do not modify or remove this line)

    [Project Settings]
    ProjectDir="\home\js\CodeComposerStudio\dm6446_h264enc_02_02_00_02_production\packages\ti\sdo\codecs\h264enc\app\Client\Build"
    ProjectType=Executable
    CPUFamily=TMS320C64XX
    Tool="Compiler"
    Tool="CustomBuilder"
    Tool="DspBiosBuilder"
    Tool="Linker"
    Config="Debug"

    [Source Files]
    Source="..\Test\Src\alg_control.c"
    Source="..\Test\Src\alg_create.c"
    Source="..\Test\Src\alg_malloc.c"
    Source="..\Test\Src\bios_rts.c"
    Source="..\Test\Src\TestAppConfigParser.c"
    Source="..\Test\Src\TestAppEncoder.c"
    Source="H264VEncApp.cmd"

    ["Compiler" Settings: "Debug"]
    Options=-g -q -s -fr"\home\js\CodeComposerStudio\dm6446_h264enc_02_02_00_02_production\packages\ti\sdo\codecs\h264enc\app\Client\Build\Obj" -fs"\home\js\CodeComposerStudio\dm6446_h264enc_02_02_00_02_production\packages\ti\sdo\codecs\h264enc\app\Client\Build\Obj" -ft"\home\js\CodeComposerStudio\dm6446_h264enc_02_02_00_02_production\packages\ti\sdo\codecs\h264enc\app\Client\Build\Obj" -i"\home\js\CodeComposerStudio\dm6446_h264enc_02_02_00_02_production\packages\ti\sdo\codecs\h264enc\app\Client\Test\Inc" -i"\home\js\CodeComposerStudio\framework_components_2_20\packages\ti\sdo\fc\dman3" -i"\home\js\CodeComposerStudio\framework_components_2_20_00_15\fctools\packages" -i"\home\js\CodeComposerStudio\bios_5_32_04\packages" -i"\home\js\CodeComposerStudio\framework_components_2_20\packages\ti\sdo\fc\utils\api" -i"..\Inc" -i"..\..\..\Inc" -d"c6000" -d"_RTS_MODE" -mo -mt -mw -mh256 -ml3 -mv6400+

    ["Linker" Settings: "Debug"]
    Options=-q -a -c -m"\home\js\CodeComposerStudio\dm6446_h264enc_02_02_00_02_production\packages\ti\sdo\codecs\h264enc\app\Client\Build\Map\H264VEncApp.map" -o"\home\js\CodeComposerStudio\dm6446_h264enc_02_02_00_02_production\packages\ti\sdo\codecs\h264enc\app\Client\Build\Out\H264VEncApp.out" -w -x -i"\home\js\CodeComposerStudio\dm6446_h264enc_02_02_00_02_production\packages\ti\sdo\codecs\h264enc\lib" -i"\home\js\CodeComposerStudio\framework_components_2_20\packages\ti\sdo\fc\dman3\lib" -i"\home\js\CodeComposerStudio\bios_5_32_04\packages\ti\bios\lib" -i"\home\js\CodeComposerStudio\ccsv5\tools\compiler\c6000\lib" -l"h264venc_ti.l64P" -l"dman3.a64P" -l"biosDM420.a64P" -l"rts64plus.lib" --args250

    ["H264VEncApp.cmd" Settings: "Debug"]
    LinkOrder=1

    This is the migration.log :

    !ERROR: java.lang.IllegalArgumentException
        at java.net.URI.create(Unknown Source)
        at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.processSources(LegacyProjectImporter.java:662)
        at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.createManagedMakeProject(LegacyProjectImporter.java:451)
        at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.doRun(LegacyProjectImporter.java:259)
        at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.access$0(LegacyProjectImporter.java:220)
        at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter$1.run(LegacyProjectImporter.java:203)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1957)
        at com.ti.ccstudio.managedbuild.core.legacy.LegacyProjectImporter.run(LegacyProjectImporter.java:201)
        at com.ti.ccstudio.managedbuild.ui.wizards.importlegacy.ImportLegacyProjectWizard$1.run(ImportLegacyProjectWizard.java:110)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
    Caused by: java.net.URISyntaxException: Illegal character in path at index 2: ..\Test\Src\alg_control.c
        at java.net.URI$Parser.fail(Unknown Source)
        at java.net.URI$Parser.checkChars(Unknown Source)
        at java.net.URI$Parser.parseHierarchical(Unknown Source)
        at java.net.URI$Parser.parse(Unknown Source)
        at java.net.URI.<init>(Unknown Source)
        ... 11 more



    And the error I have in the console when I compile the project :

    **** Clean-only build of configuration Debug for project TestAppEncoder ****

    /home/js/CodeComposerStudio/ccsv5/utils/gmake/gmake -k clean
    gmake: *** No rule to make target `clean'.

    **** Build of configuration Debug for project TestAppEncoder ****

    /home/js/CodeComposerStudio/ccsv5/utils/gmake/gmake -k all
    Building target: TestAppEncoder.out
    Invoking: C6000 Linker
    "/home/js/CodeComposerStudio/ccsv5/tools/compiler/c6000/bin/cl6x" -g --diag_warning=225 --abi=coffabi -z -m"TestAppEncoder.map" --warn_sections -i"/home/js/CodeComposerStudio/ccsv5/tools/compiler/c6000/lib" -i"/home/js/CodeComposerStudio/ccsv5/tools/compiler/c6000/include" -i"/home/js/CodeComposerStudio/bios_5_32_04/packages/ti/rtdx/lib/c6000" -i"/home/js/CodeComposerStudio/bios_5_32_04/packages/ti/bios/lib" --reread_libs --rom_model -o "TestAppEncoder.out"  "../H264VEncApp.cmd"
    <Linking>

     undefined first referenced                                                                      
      symbol       in file                                                                           
     --------- ----------------                                                                      
     _main     /home/js/CodeComposerStudio/ccsv5/tools/compiler/c6000/lib/rts64plus.lib<args_main.obj>

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

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

    Thanks,

    JS