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/TMS320F28027F: Firmware update guidance & questions

Part Number: TMS320F28027F
Other Parts Discussed in Thread: CONTROLSUITE

Tool/software: Code Composer Studio

My goal is to be able to provide firmware updates to this part through usb to uart adapter controlled by a pc gui application that checks current version of the firmware and updates it when the user desires.  My implementation doesn't allow access to any jumpers so my GPIO 34 & 37 pins will always be in getmode.  I'm in the process of setting up my 2 seperate CCS projects, 1 for the main app and 1 for the bootloader app and I have a question regarding sprabv4b.pdf.  My intention is to first verify the functionality of the serial_flash_programmer utility with the flash kernal A as described in this document and then work on building out the gui application that functions similar to the serial_flash_programmer utility.

1.  section 6 of sprabv4b.pdf says the flash kernel project is in the /device_support folder of the control suite installation.  I assume this must be device_support/f2802x/v230/f2802x_examples_structs/f28027_flash_kernel.  But upon inspecting main.c of this project it refers to a SerialLoader2000 utility and not the serial_flash_programmer.  Is this a typo in the .pdf or the code comment as I do not see any other projects that the .pdf could be referring to?    

2.  In 28027_RAM_Ink.cmd file in the above mentioned directory I notice the names of the memory segments differ from the 28027F.cmd file (BOOTROM vs. ROM) but that the address and length are the same.  I assume this is okay so long as the length and address match up?

  • 1. This is a type in the main.c source file.
    2. Yes, that is correct. That is not a problem.

    Regards,
    sal
  • Sal,

    Thanks for the clarification.  This is my first attempt at linking 2 projects together so I have some follow up questions on the .cmd file

    1.  I notice a couple of memory definitions with overlap/different lengths as I have listed below.  I'm assuming since these projects don't run at the same time it is fine that both .cmd files define these areas but that I should make their location and length consistent across both .cmd files?  A few examples of overlap/mismatch:

    F28027.cmd                                         28027_RAM_Ink.cmd

    P_RAML0   x8000   x980                    PRAML0           x8000   x900

    RAMM0_M1 x0000 x600                    BOOT_RSVD   x0002   x004E

                                                                   RAMM1             x0400   x0400

    D_RAML0  x8980   x0680                 DRAML0           x8900   x0700

    My thought was to modify the definitions to match up to whatever definitions has the larger size and then for the RAMM0_M1 definition shift by x004E and change RAMM1 to match this new definition. 

    2. For my intended application as I described in my first post,  is this the best example to start from as I also came across another project in the controlsuite installation at "controlSUITE\libs\utilities\flash_api\2802x\v201a".  My understanding is the difference between the 2 projects is that the flash_api project the custom bootloader would always reside in flash A and load itself into RAM whereas the f28027_flash_kernel project it is loaded through SCI during a firmware update and then run from RAM but doesn't reside in flash A.  I'm thinking the f28027_flash_kernel example is the best option but wanted to make sure I wasn't missing something as to why maybe the other example would be the optimal choice.

  • 1. You can make them consistent. Just ensure that you do not have code or data linking into those memory sections from both projects. The memory contents of the two projects should not overlap.

    2. Please see www.ti.com/lit/sprabv4

    sal