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.

TMS320F28379D: CPU2 programming via SCI boot mode

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Hi,

I would like to program both CPU1 and CPU2 via SCI remote programming mode. For this purpose I use serial flash programmer utility from TI.

by entering this command on CMD :

serial_flash_programmer.exe  -d f2837xD -k F2837xD_sci_flash_kernels_cpu01.txt -a blinky_dc_cpu01.txt -m F2837xD_sci_flash_kernels_cpu02.txt -n test1.txt -p COM3 -b 9600 -v

the utility shall program CPU1 core by "blinky_dc_cpu01.txt" and CPU2 core by "test1.txt" .

The kernels files are taken from the examples of this programmer.

Unfortunately I got such a message :

:   

Only CPU1 could be programmed or erased, not CPU2 . All variations from 1 to 16 refers to CPU1 and if one of CPU2 options is checked, this message is appear

SCI communication is done by GPIO84 and GPIO85,  and they are allows to program both the CPU's while boot pins (changed in Z1 BOOTCTRL register to others from the default ones ) configures SCI boot mode.

According to  SPRABV4B application guide , CPU1 kernel shall contain the commands to boot CPU2 , but TI provide only txt file and it is impossible to check if the additional commands are present in it. 

What should be the reason for such message and how to solve it?

Thanks in advance

Alex  

  • Hi ALlex,

    The SCI kernels are available as CCS projects in the examples folder of C2000Ware.

    Please recompile the CPU1 kernel to enable booting CPU support. There should be a #define which enables this. After enabling this, recompile and use the new .txt file.

    Then after using command 1 to perform a DFU on CPU1, use command 13 to boot CPU2 to its SCi bootloader and then proceed with command 2 to perform a DFU for CPU2. Then you can use command 15 to run CPU2.

    Hope this helps,
    sal
  • Hi Sal,

    Thank you for the guidance, actually the original kernels are OK . Command 13  works on original kernels.

    Another question related to this issue.

    After choosing command 13 I was asked for the following question regarding to the branch address. My choice is 4 because 0x0004 is the command to run CPU1 and Boot CPU2  (according to SPRABV4B reference) .But is it ok? After that ,command 13 is executed  -kernel for CPU2 is loaded  and allows further operations on it.

    the same questions appears after choosing command 15.