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.

serial_flash_programmer issues with F28054F

Other Parts Discussed in Thread: UNIFLASH

I have been trying to use the "serial_flash_programmer" included in controlSUITE (controlSUITE\device_support\~Utilities\serial_flash_programmer).

However, it failed the test of serial flash programming.

For the Flash kernel, I'm refer to f28055_flash_kernel (controlSUITE\device_support\f2805x\v103\F2805x_examples_ccsv5\f28055_flash_kernel) source

I modify the '28054f_RAM_lnk.cmd' made f28054f_flash_kernel

 

And I was like Figure and running the "serial_flash_programmer", before at power up GPIO34 forced high and GPIO37 forced low.

However, the program is stopped in this state.

Why is not running?

  • Hi,

    I've never used SFP but just one suggestion: if you're planning simply dump the program you can try using CCS Uniflash.

    Regards,
    Gautam
  • Hi Gautam,

    Thanks for your response.
    Flash programming is already tried using Uniflash.
    I want to test the update using the SFP.
    Now, I'm testing modified 'serial_flash_programmer'
    SCI boot mode is entered, the device waits for a character (‘a’ or ‘A’ to be specific) in order to determine the baud rate, but program once sent an 'A' character.
    After the fix is tested and kernel autoBaud successful, but Kernel boot after not running from Application AutoBaud.

    Regards,
  • Hi user3733848,

    I didn't get your last sentence, but I had a similar issue when I tried serial programmer for the first time on my machine. Simply disabling antivirus software and firewall was enough to overcome it.

    If that won't help there are several ways how you can go deeper into debugging serial programmer.

    1) If you running the serial flash programmer with Visual Studio, then use pause button to determine on which stage you have stuck. It is not that hard to examine the code.

    2) Try to load your program simply in RAM by running convenient bootloader via SCI. If that will work fine, then there is certainly some problems with the way flesh kernel is handling your application .txt file.
    To debug it simply run flash_kernel example with CCS. Then use any software to send some bytes through the serial port to your MCU. Send 'A' or 'a' char first for autobaud. Then send byte by byte some of the characters from your application text file to see how far you can go. Check if at least you are able to get till this line:
    status = Flash_Erase((SECTORA | SECTORB | SECTORC | SECTORD), &FlashStatus);
  • Are you loading the flash kernel to a device that is locked with CSM?