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.

TMS320F2806: Errors when porting bootloader from CCS3.3 to CCS10

Part Number: TMS320F2806

Hi Champ,

I am asking for the customer. 

Customers use TMS320F2806.

Customer has developed a CAN-based bootloader program under CCS3.3 before, and there is no problem in using it under CCS3.3. But now it is found that the bootloader program cannot be run in CCS10.4. Through debugging, the customer locates that the problem is the call of flash_erase. Once flash_erase is added to the project, it will be found that there is no data in CAN, and it can be run by deleting the flash_erase (but it is not the function that the customer wants to achieve, customer need flash_erase).

So customer want to know:

①The customer did not modify the code, why can't the code of CCS3.3 run in CCS10.4? Does it need to modify the code when porting the code from CCS3.3 to CCS10.4? 

②Why only flash_erase() will cause the problem? What is the difference between CCS10.4 and CCS3.3 calling it?

③The customer tries to use CCS3.3 to program the bootloader, and then uses CCS10.4 to program the .out file with host computer. If this is done, the program will not report an error, but after running the program, it is found that there is a problem with the function implementation of the program. So it looks still wrong.

In addition, after checking the .a00 file generated by debugging the .out file with the host computer, we found that the files generated by CCS3.3 and CCS10.4 are different, and the location of the programmed section is different in the two files. Does this mean that the sequence of programming sections is different when the host computer writes the .out file?

Could you please kindly give some advice on this case? Thanks!

Best regards,

Julia

  • Julia,

    Can you ask customer to confirm in their project settings they have selected "legacy" COFF and not EABI as the output format in CCS10.x?  Also, any change in the compiler will likely result in different code.  I believe that customer should be able to look in CCS3.3 for the compiler version and then direct CCS 10.x to use this compiler as well.  I would start with the above 2 items and then we can go from there. 

    Is there a reason customer is changing from CCSv3 to CCSv10 on the F2806 device that has been in production for such a long time?

    Best,

    Matthew

  • Hi Matthew,

    After customer modified the compiler version, the problem was solved successfully. Very grateful for your help.

    Customer has this problem because they upgraded the Windows system to win10 and CCS3.3 became unavailable.

    Best regards,

    Julia