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/TMS320F28377D: CCS/TMS320F28377D Boot to Flash issue

Part Number: TMS320F28377D

Tool/software: Code Composer Studio

We have upgraded from an existing project from CCS7 to CCS10 and the Boot to Flash mode does not work any more.

We are using a XDS110 Debug probe to load the firmware onto both CPU's has we have been doing for the last couple of years.

The firmware on the Debug probe was automatically updated by CCS.

After the power is cycled the neither CPU core starts running as they would normally do.

There were no issues migrating the project to CCS10 and it complied straight away.

Are there some new steps required to get the Boot to Flash mode to work with CCS10?

Regards

Scott

  • Hi Scott, 

    Is the same compiler version used in both CCS7 and CCS10 projects ? If not, can you use the same compiler version and try it out? 

    Best Regards

    Siddharth

  • Hi Siddharth

    I am using a later compiler version with CCS10 (V20.2.1LTS) vs V16.9 previously with CCS7.

    After more testing I have found I can get the program to Boot to Flash to work if I change the Optimization level from 2 (Global Optimization) to level 1(Local Optimizations) when using CCS10 and V20.2.1 compiler.

    The program seems to run okay with the exception on the CAN Interface which now doesn't see incoming CAN frames (at level 1 optimization).

    There must be some difference in the way Optimizations are preformed in the v20 compiler vs the V16.9 compiler at level 2 now.

    Where can I find out more information on the changes made to the level 2 Optimization process with V20 compiler. What changes have been made since V16.9?

    Regards

    Scott

  • Hi Scott,

    I will forward your query to the compiler team. You will get a response from them soon.

    Best Regards

    Siddharth

  • Hi Scott,

    Can you check what is the entry point defined in your project. It should be defined as "code_start". If not then compiler may remove this while optimizing code.

    Regards,

    Vivek Singh

  • Scott Osborne said:
    Where can I find out more information on the changes made to the level 2 Optimization process with V20 compiler. What changes have been made since V16.9?

    Unfortunately, this information is not available.  There are about 3.5 years between these releases.  Many bugs were fixed, and I'm sure a lot of them were related to optimization.  Several features were introduced.  None of them were exclusively focused on optimization, but I'm sure they had an effect.

    You seem to presume that, since the compiler changed, it must be the cause of the problem.  I agree this is a possibility.  But it is not the only possibility.  I've also seen cases where an improvement in optimization uncovers a bug in user code that was present all along.  All global variables which are modified by interrupts must be marked with the keyword volatile.  Failure to use volatile correctly tends not to show up at lower levels of optimization.  But, as optimization is increased or improved, it is more likely such a problem makes itself known.

    I wish I could be more specific.  But, at this point, there aren't enough details of the problem to work with.  I need more evidence of a form similar to:  A particular function, or line of code, produces result AAA, but it should produce result BBB instead.

    Thanks and regards,

    -George