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.

TMS320F28075: Serial Flash Programming problem

Part Number: TMS320F28075
Other Parts Discussed in Thread: CONTROLSUITE, TMS320F28069, C2000WARE

I have problem to flash my TMS320F28075 (100-pin) via SCI. I follow TI documentation SPRABV4B.

I modify F2837xD_sci_flash_kernels_cpu01 example from controlSUITE, remove CPU2 function, the program compiles fine.

configured GPIO72 = 0, GPIO84 = 1,  TRST = 0 to enter SCI boot mode. GPIO84 as Tx, GPIO85 as Rx, checked by echo back, SCI line is OK.

Then, Use serial_flash_programmer.exe with txt file. However, the cmd stuck at :

"calling f021_DownloadKernel CPU1 Kernel

 Downloading kernels.txt to device. . . "

What did I miss here?

FYI : I already tried the serial_flash_programmer.exe for flashing TMS320F28069. Follow every steps of SPRABv4B, go to sci boot, and works fine.

PS : Also used C2Prog to verify the problem, F28075 flashing by JTAG is OK, but when using SCI, I stuck at "Bootloading . . . failed (no response)!".

I guess, I missed something on SCI boot configuration, but don't know what is the problem.

  • Hi Luiz,

    The GPIO pins used for the default SCI boot loader (SCI_Boot0) is not pinned out to the control card. The SCI pins muxed to the FTDI chip and mini-USB connector are the pins used in SCI_Boot0. You will need to modify 0xD00 memory location for emulation boot to use the correct pins (SCI_Boot1) which are muxed to the connector.

    Alternatively, you can connect to the GPIOs used by the default boot mode.

    Hope this helps.

    Regards,
    sal
  • Hi Sal,
    Thank you for your response.

    The default sci boot pins are GPIO84 and GPIO85, the alternative pins are GPIO 29 and GPIO 28. Correct?
    However, I am using custom board with F28075PZP 100-pin, this type doesn't have GPIO 29,28. Unlike the sibling 176-pin PTP type installed on controlCARD. So, I use GPIO 84,85 (default).

    Based on : e2e.ti.com/.../1933175
    It should have no contention, if I pull up the GPIO84 and use it as Tx pin. So I assume this configuration will be fine.
    I check SCI echo back example using GPIO84,85 is fine as well.

    What did I miss here?

    Just to be clear, emulation boot requires TRST pin to be pulled up, right?

    regards,
    luis
  • Luis

    Yes, those pins are correct. You should be fine to use GPIO84.

    Correct, TRST should be pulled up for emulation boot.

    Have you tried running the serial flash programmer with "-v" for verbose output for more details? You've set everything needed so that autobaud lock is used?

    Best regards
    Chris
  • Hi Chris,
    Thank you for your response.

    1. -v did help me to see detail process on cmd.
    2. I see the device didn't echoback the signal when autobaud attempt. So the process stuck at "attempting autobaud to load kernel. . ."
    However, I verify with echoback example from controlSUITE, it works fine. So I assume the SCI line is OK.

    I guess the device did not enter SCI boot properly, even I have configured the required pins (GPIO84 pull-up by 10K to 3.3V and GPIO72 pull-down by 10K to gnd).

    Since controlSUITE does not provide flash_kernel example for F28075 specifically, I modified the F2837xD example and remove CPU2 and Ipc part. also ensure that clock is configured correctly.

    Do you have any insight to solve this issue?

    Best regards
    Luis
  • Luis

    In the latest C2000Ware package, there is a flash kernel for F2807x.
    Also, we provide the boot code source if you want to reference or load the symbols to verify that you are reaching SCI boot.

    Reviewing documentation, make sure to "reset the device before running serial_flash_programmer so that Autobaud will complete correctly".

    Best regards
    Chris
  • Hi Chris,

    Thanks for pointing flash kernel for 2807x, I was not aware of this example.
    So far, I was not successful to do sci boot by configuring the boot pins.
    However, I am using emulation boot and it's fine.
    I will review the HW setup further because it's a custom board.

    Regards,
    Luis