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.

TMS320F28335: TMS320F28335

Part Number: TMS320F28335
Other Parts Discussed in Thread: C2000WARE

Dear TI support,

I created a project using Code Composer 11.2.0.00007 which targets TMS320F28335.

My project works fine and I am able to debug properly. Before I ship to customer, I need to install in TMS320F28335 other piece of code (bootloader code) which is programmed in FLASHA.

My code should go to FLASHB. How can I configure my project so it runs on FLASHB?

Thanks for your help,

Felix V.

  • Hi Felix,

    To configure your project so that it runs on FlashB you will have to change the linker cmd file to use FlashB as the load address for your project. For an example to set the FLASHB project, you can look to the F28335 flash example (C:\ti\c2000\C2000Ware_5_01_00_00\device_support\f2833x\examples\flash_f28335). The project will need to be loaded to FLASHB but ran from RAM. Also, the F28335 datasheet gives the list of usable sectors (https://www.ti.com/lit/ds/symlink/tms320f28335.pdf). 

    Thanks,

    Charles

  • Hi Charles, thanks for the information. I have another related question. I have an older TMS320F28335 project which was built using CC 6.1.1. The project compiles fine. During compilation a hex file is generated using C2000 hex utility. A cmd file named SRecorder.cmd is added to command line as shown in picture below.

    The purpose of SRecorder.cmd is to change address of program start to FLASHB. 

    This is the contents of SRecorder.cmd. Test.map shows result of memory mapping. This works well in CC 6.1.1.

    -map Test.map
    -romwidth 16 -memwidth 16 -m
    -image

    ROMS
    {
    FLASH28335: origin = 0x308002, len = 0x2FFFE, romwidth = 16, fill = 0xFFFF
    }

    I want to do the same with my current project. However, my current project is built on CC 11.2.0. In C2000 hex Utility, when I add SRecorder.cmd to command line, CC says that it cannot find Test.map file. It seems that C2000 hex utility in CC 11.2.0 behaves different to CC 6.1.1. I know that in CC 6.1.1 -map flag creates a map file, however CC 11.2.0 doesn't seem to recognize this instruction.  Is there a difference between them? CC 11.2.0 doesn't seem to recognize other flags in SRecorder.cmd as well, such as -romwidth or -memwidth.

    Is there a way I can do the same in CC 11.2.0?

    Thanks in advance for your kind support,

    Felix V.

  • Hello Felix,

    However, my current project is built on CC 11.2.0. In C2000 hex Utility, when I add SRecorder.cmd to command line, CC says that it cannot find Test.map file.

    Is it possible that the Test.map file is not present at the time of the build? If you verified that the Test.map file exists within the folder where the compile is happening, please also provide the error shown in the console output and build configurations for both CCS 6.1.1 and CCS 11.2.0.

  • Hi Omer,

    I understand  C2000 generates Test.map file. At least I verified this on CCS 6.1.1. I deleted previouly generated Test.map file and when I re-compiled, CC generated it again. This is the error CC 11.2.0 reports:

    I even created a Test.map file just to see if it needed to be there but got the same error.

    Is there a C2000 hex reference document?

    I appreciate your help,

    Felix

  • Hello Felix,

    I deleted previouly generated Test.map file and when I re-compiled, CC generated it again.

    Have you tried using the name of the actual .map file that gets generated by the project rather than a blank or possible missing Test.map file? I haven't used the C2000 hex utility extensively, but it seems like you should have a valid file within the same directory as the .cmd file which is trying to use it. I'll forward this query to the compiler experts to see if there is any documentation on what change in CCS version could be creating this error.

  • CCS thinks Srecorder.cmd is a linker command file, and passes it as an input to the linker.  For more details, and how to fix it, please see the last part of the article Hex utility in CCS.

    Thanks and regards,

    -George

  • Thanks George, this resolved my issue, in my project explorer, I right clicked SRecorder.cmd and excluded from build. Once I did this hex2000 created Test.map file correctly and got no errors.

    Felix V.