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.

Migrating From CCS v3 to CCS v6

Other Parts Discussed in Thread: TMS320F2812

Hi,

We have a project in CCS v3.1 for a TMS320F2812 target and trying to migrate to the latest set of tools, including CCS v6. I used the "Import Legacy CCv3.3 Projects..." option under the "Project" menu. The file structure seems to have imported fine, but I am encountering problems with the build process. 

1. Clean build doesn't remove all the object files that were generated. Instead, it removes only selected files. In the console window, I see:
""c:\\ti\\ccsv6\\utils\\bin\\gmake" -k clean
DEL /F "lib\Flash2812_API_V210.exe" "pt.out" "pt.hex""
How would I edit this list of objects? 

2. Building the project fails at the linking step.

"'Invoking: C2000 Linker'
"c:/ti/ccsv6/tools/compiler/c2000_6.2.7/bin/cl2000" -v28 -ml -mt -O3 --opt_for_speed=4 --program_level_compile --define="PWM_002" --define="PT200I12H" --define="LARGE_MODEL" --display_error_number --issue_remarks --diag_wrap=off --call_assumptions=0 --auto_inline=5 -z -m"pt.map" --stack_size=0x0600 --warn_sections -i"c:/ti/ccsv6/tools/compiler/c2000_6.2.7/lib" -i"c:/ti/ccsv6/tools/compiler/c2000_6.2.7/include" -i"C:/Users/tkrajave/workspace_v6_0/iTRAK_PWM_DSP" -i"C:/Users/tkrajave/workspace_v6_0/Debug" -i"../lib" --reread_libs --display_error_number --diag_wrap=off --xml_link_info="iTRAK_PWM_DSP_linkInfo.xml" --absolute_exe --rom_model -o "pt.out" "../Cmd/pt_Common.cmd" "../Cmd/pt_Flash.cmd" "./DSP28_Spi.obj" "../lib/Flash2812_API_V210.lib" "./DSP281x_CSMPasswords.obj" "./pt_CodeStartBranch.obj" "./pt_DelayUs.obj" "./pt_Flash281x_CsmKeys.obj" "./pt_Passwords.obj" -l"libc.a" 

<Linking>
remark #10205-D: automatic RTS selection: linking in "rts2800_ml.lib" in place of index library "libc.a"
"C:\\Users\\tkrajave\\AppData\\Local\\Temp\\123323", line 22: error #10008-D:
cannot find file "./DSP281x_CSMPasswords.obj""

The object file that it is not able to find is one of the objects that are not needed for the project, and are hence excluded the from the build. I am not sure how the object name turned out to be a part of the linker command. How would I edit the linker command, so that the files I do not want aren't included?

Let me know if you need any more details about the project.

Thanks & Regards,
Tamil

  • Hi Tamil,

    Tamil Kadir Rajavel said:
    1. Clean build doesn't remove all the object files that were generated. Instead, it removes only selected files. In the console window, I see:
    ""c:\\ti\\ccsv6\\utils\\bin\\gmake" -k clean
    DEL /F "lib\Flash2812_API_V210.exe" "pt.out" "pt.hex""
    How would I edit this list of objects? 

    "clean" will delete any generated executables, object files and preprocessor files. Not sure how you can modify the list of files that it will clean. They are specified in the generated makefile but you really shouldn't be tampering with it. I'll poke around and see if there is a way via project settings.

    Tamil Kadir Rajavel said:

    <Linking>
    remark #10205-D: automatic RTS selection: linking in "rts2800_ml.lib" in place of index library "libc.a"
    "C:\\Users\\tkrajave\\AppData\\Local\\Temp\\123323", line 22: error #10008-D:
    cannot find file "./DSP281x_CSMPasswords.obj""

    The object file that it is not able to find is one of the objects that are not needed for the project, and are hence excluded the from the build. I am not sure how the object name turned out to be a part of the linker command. How would I edit the linker command, so that the files I do not want aren't included?

    There must be some reference to that object file somewhere. Can you attach the .*project files in your project folder?

    Thanks

    ki

  • Hi Ki,

    Thanks for your comments.

    1. I would like the 'clean' build to delete all the object files it generated, but due to some reason, it doesn't. This is why I was curious if there is any way to specify which files need to be deleted, where I can make sure that I want all the generated files to be deleted.

    2. There is an assembly file in the same name in my project, but I have excluded it from the current build configuration. I would expect it not to generate the associated object and not look for it while linking. As expected, it doesn't compile the file and doesn't generated the associated object file, but due to some reason it tries to link the non-existent file during the linking process.

    I have attached the .*project files here: 4213.E2EProjectFiles.zip . I do see "DSP281x_CSMPasswords.asm" mentioned there among the source file, but I am not sure why it appears there. Here is the project explorer screenshot:

     

    I would really appreciate your help.

    Regards,
    Tamil

  • I am also trying to migrate from CCS v3.3 to CCS V6 and have the following problems.

    1. getting an error now with this line of code:

    line: int32 test = (int32((8192.0*262144)-1)

    error:  line 34: error #175: floating-point value does not fit in required integral type

    2. linking indicates the following:

    error: "D:/Test//Linker/F2812.cmd", line 63: error #10008-D: cannot find file "../build/debug/init.obj"

    line:

    CONST_Jump : { ../build/debug/init.obj(.text) } > FLASHG_MAIN, PAGE= 0

    Does anyone know how to fix these?

    Thanks,

    Saskia

  • Tamil Kadir Rajavel said:
    1. I would like the 'clean' build to delete all the object files it generated, but due to some reason, it doesn't. This is why I was curious if there is any way to specify which files need to be deleted, where I can make sure that I want all the generated files to be deleted.

    Are the object files moved from the location where they were generated? If so, this can be one explanation. There is no "clean" way to specify files to clean before building. Maybe you can manually do this as a pre-build step (though then this would impact incremental build)

    Tamil Kadir Rajavel said:
    2. There is an assembly file in the same name in my project, but I have excluded it from the current build configuration. I would expect it not to generate the associated object and not look for it while linking. As expected, it doesn't compile the file and doesn't generated the associated object file, but due to some reason it tries to link the non-existent file during the linking process.

    It must be getting picked up from somewhere. I see there are other linker command files referenced in the link order. Could it be getting referenced from one of those? Without the full project it is hard for me to know for sure

    Thanks

    ki

  • Hi Saskia,

    This is an unrelated issue that is related to compilation. Please repost this as a separate thread in the compiler forum.

    Thanks

    ki

  • Update: 

    I worked with Ki offline and it looks like there is a bug in CCS with handling of *.asm files. He also promised to fix the bug in a future release.

    -Tamil

  • Hello Tamil,

    Did you get success in migrating project from CCS3.1 to CCS6.0. 

    If yes, is your project has bios?

    I also want to do same but not getting success. I am getting lot of linking errors. 

    Regards,

    Rajendra

  • Hi Tamil,

    I have a question regarding the *.asm files bug you have mentioned. I'm also migrating from v4 to v6 and I have some *.asm file in the project. The ones that I don't use anymore I have deleted, and did the same with the corresponding *.obj. I was able to compile the project. The question is, the other *.asm files will be ok? I mean, will they do their job, or what did you mean by 'there is a bug in CCS with handling of *.asm files. '

    Thanks,
    Monica
  • Rajendra,

    Yes, we were successful in migrating. No, we do not use BIOS, so never ran into problems with that. The only issues we had was with the *.asm files and some compiler options that were deprecated in the new version.

    -Tamil 

  • Hi Monica,

    Monica Zolog said:
    what did you mean by 'there is a bug in CCS with handling of *.asm files. '

    The bug is that assembly source files that have been excluded from the project ("exclude from build") were still getting picked up by the linker and causing a linker error. And a related issue is that object files generated from excluded assembly files were not getting removed on a project clean.


    If you are not excluding assembly files, then you would never run into this issue.


    Also I believe this issue has been resolved in 6.1.0 (released today)

    Thanks

    ki

  • Monica,

    The bug was that the *.asm files get included in the build if they exist in the project folders, even if they were excluded from the build configuration. So, from what I understand, the other non-deleted *.asm files that are in your project must have been included in the build and would do their job.

    However, we didn't have any .asm file that we wanted to include, so I can't confirm it for sure.

    Regards,
    Tamil
  • Hi Ki,

    Thanks for the answer, it's all clear now.

    Monica