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.

CCS/TMS320F28334: "Optimize for Speed" Settings When Porting TMS320F28334 Project from CCS3.3 to CCS9.1

Part Number: TMS320F28334

Tool/software: Code Composer Studio

Hello,

We are porting our TMS320F28334 project  from CCS3.3 to CCS9.1. We decided to stay with compiler v.5.2.15.

We are comparing the .OUT file generated with CCS3.3 and the one generated with CCS9.1 and those looks different.

We paid attention that the following compilation settings are different between two versions:

 

Default Project settings in CCS3.3 BEFORE MIGRATION:

Compiler->Basic->Optimize for Speed (-mf) = NO

Advanced->Optimize for Speed (-mf) = UNCHECKED

Default project settings in CCS9.1 AFTER MIGRATION:

Build->C2000 Compiler->Optimizations->Optimize for Speed (--opt_for_speed, -mf) = 2

We have several files with specific optimization settings - 

File-specific settings in CCS3.3 BEFORE MIGRATION:

Compiler->Basic->Optimize for Speed (-mf) = NO

Advanced->Optimize for Speed (-mf) = CHECKED

File-specific settings in CCS9.1 AFTER MIGRATION:

Build->C2000 Compiler->Optimizations->Optimize for Speed (--opt_for_speed, -mf) = 4

Can you please explain why “Optimize for Speed (-mf)” appeared in two different places in CCS3.3 and how it is converted to CCS9.1 ?

Do you have any idea why do we get different .OUT files when using the same compiler ?

(we tried different “Optimize for Speed” settings, but the binaries are always different)

Thank you,

Oleg Romanov 

  • The CCS project migration feature does not guarantee the resulting build matches the previous build.  While we are not specifically aware of issues with regard to the --opt_for_speed option, it is not surprising that minor differences occurred.  The only way to guarantee a match is to manually check the setting for the project and, for the files that have file specific options, each file.  

    Even once all the --opt_for_speed settings are manually matched, you may continue to see differences in the build.  For instance, it is likely the linker sees the object files and libraries in a different order, and that causes differences in the build.

    Thanks and regards,

    -George