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.

LAUNCHXL-F28377S: serial_flash_programmer application issue

Part Number: LAUNCHXL-F28377S
Other Parts Discussed in Thread: TMS320F28377S, C2000WARE, UNIFLASH, CONTROLSUITE

Hi,

I am trying to use the serial_flash_programmer to burn an example FW to my LAUNCHXL-F28377S.

The GPIO is configured to SCI communication according to TMS320F28377S_Ref_Manual_spruhx5e.pdf:


 

Files:

From C2000Ware_1_00_04_00 examples (f2837xs)  it took:

1. "flash_programming"  

2. "blinky"

Compiled both into .out files using CCS 6.0.1.00040.

Used hex2000 to prepare appropriate file formats for the serial_flash_programmer application with this command:

hex2000.exe -boot -a -sci8 <filename>.out -o <filename>.txt

The resulting files i ran with the serial_flash_programmer, with the following command:

serial_flash_programmer.exe  -d f2837xS -k flash_programming_cpu01.txt -a blinky_cpu01.txt -p COM68 -b 9600 -v

After the utility downloads the flash kernel to the device i receive the expected menu and chose the DFU option.

The issue i receive the following error:

I also tried to run the application with the F2837xS_sci_flash_kernel instead of flash_programming_cpu01, it freezes on the autobaud after downloading the flash kernel:

please help,

Thanks and best regards

  • Hi,

    The flash_programming example is the wrong example to use. Please see www.ti.com/.../sprabv4b.pdf

    You need to use the F2837xS_sci_flash_kernel example.

    Regards,
    sal
  • Hi Sal,

    Thank you for your answer, 

    I tried using the F2837xS_sci_flash_kernel example.

    it behaves as i mentioned (after loading the kernel to RAM it freezes on: "Attempting autobaud to send function message..."

    * Please ignore the that i mentioned using serial_flash_programmer.

  • Hi,

    Seems that the problem was that the F2837xS_sci_flash_kernel example was configured to run with "SCI_BOOT_ALTERNATE" instead of "SCI_BOOT", this caused wrong GPIO's to be configured for the flash kernel.

    After succeeding to launch the flash kernel and complete a DFU i receive the following error:  VERIFY ERROR

    According to TMS320F28377S_Ref_Manual_spruhx5e.pdf this address belongs to TI-RTOS (Flash), 

    am i missing something else?

  • I am not sure why you are seeing this error. It may be working properly despite the error message.

    Can you send the verify command to verify the flash and see if you get the same error messsage?

    Also, if you RUN the application, does it work properly?

    Regards,
    sal
  • Hi Sal,

    Did the burning again, after the DFU received BLANK_ERROR with same error address (0x82000),

    Tried the verify and received the same VERIFY_ERROR with same error address,

    Running doesn't work either (led's are not toggled). it seems that the previous application remains untouched (i use UniFlash to change FW but i need to make the SCI work).

    When using the UniFlash application the FW is burned with no error and led's act as expected,

    Any other ideas?

    Thanks,

    Berger Peter

  • Can you ensure that the entire flash application is linked to be loaded to flash?

    Have you gotten this working with any other flash application?

    Regards,
    sal
  • Also, after attempting the DFU, you can connect to the target and check the memory contents.

    Additionally, to debug further, you can use CCS and the Visual studio project to walk through the DFU process. You can see what is going wrong better that way.

    Regards,
    sal
  • Also, please use the software released in C2000Ware. This is the latest software package provided by C2000. We had a new release yesterday, and the software may have been updated from the software you are using from controlSUITE.

    The two IDEs will make it easier for you to debug this issue. But if you do not open the kernel text file or the led blinky text file, then it should work as is.

    Regards,
    sal
  • Hi Sal,

    I am using C2000Ware.from the beginning,

    Regarding connecting via the two IDE's, i am currently not sure how to do it and will try to figure it out, 

    i am not sure what you meant by"open the kernel text file" of the kernel or blinky, if you modifying then i didn't, both are same as original only the kernel i changed from SCI_BOOT_ALTERNATE" to "SCI_BOOT".

    i will update to any progress.

    thanks

  • What I mean by open the file is, open it in a text editor. Lately, WIndows has been modifying the source file with some header information and some additional characters which has messed up the serial flash programmer. So, build the .txt and just point the serial flash programmer to them without opening them in a text editor.

    The location where you are getting the error, are you loading anything to that address? Is anything getting programmed there.

    To debug further, you can set a breakpoint, or an ESTOP when that address is trying to be programmed by the kernel and you can single step to see if it is succeeding or how it is failing. You can view the flash error status with the debugger at this point.

    Regards,
    sal
  • I too am struggling with the  Blank Error bellow. Could you please have someone at TI test the application/bootloader  on the F38377s.

    Bit rate /s of transfer was: 6712.127930
    Application load successful!
    Done waiting for application to download and boot...
    SUCCESS of Command
    ERROR Status: BLANK_ERROR
    ERROR Address: 0x82000

  • Hi Peter,

    Your first issue is that you need to use the SCI flash kernel instead of the flash_programming example. The kernel is designed to work with the serial flash programmer.

    The second issue is likely due to the GPIO pins used in the kernel for SCI communication. When you build the flash kernel, please ensure it is using the proper GPIOs for SCI TX and SCI RX communication.

    Hope this helps.
    www.ti.com/.../sprabv4b.pdf
    sal
  • Hi Sal,

    As to your questions:

    Sal Pezzino said:
    What I mean by open the file is, open it in a text editor. Lately, WIndows has been modifying the source file with some header information and some additional characters which has messed up the serial flash programmer. So, build the .txt and just point the serial flash programmer to them without opening them in a text editor.

    I didn't open these files with any software except the hex2000, flash programmer and CCS,



    The location where you are getting the error, are you loading anything to that address? Is anything getting programmed there.

    I am not loading anything at all except the FW using the flash programmer, i validated that the previous FW remains although flash programmer seems to be burning (validation was done by using two FW with different LED behavior.



    To debug further, you can set a breakpoint, or an ESTOP when that address is trying to be programmed by the kernel and you can single step to see if it is succeeding or how it is failing. You can view the flash error status with the debugger at this point.

    I am not familiar with the process of debugging in CCS while running the flash programmer, also the flash programmer itself has a lot of compilation issues when compiling in Visual Studio.

    Also this issue is not resolved, please remove the following:



    Regards,
    sal

  • Please see reply
  • Peter, check out this thread. This guy, Alex, found a work around. It allowed me to sci flash my program.
    e2e.ti.com/.../2607290
  • Hi Peter,

    Alex posted the solution to this issue. The F2837xS kernel does not account for the dual banks. Please see his solution here:
    e2e.ti.com/.../2607343

    Regards,
    sal
  • Thank you very much!
  • Thank you ,

    This resolves my issue with burning the example on the launch board,

    i see that Alex has mentioned this would not work for bigger application sizes due to inability to operate both FLASH banks,

    Will you be fixing this on the bug you have submitted? if so, how can i can i know if it is fixed? when is it expected to be fixed?

    Berst Regards,

    Peter Berger

  • It should be fixed in the next C2000Ware release.

    When it gets released, you can check the updates to the F2837xS device support in this document:

    C:\ti\c2000\C2000Ware_1_00_04_00\device_support\f2837xs\docs\F2837xS_DEV_USER_GUIDE.pdf

    Regards,
    sal
  • Hi Sal,

    I want to make sure i fully understand the bug and the current state of the Flash programming utility for the F28377S,

    We are currently able to use only FLASH bank 0 and not FLASH bank 1, this would prevent us from being able to burn an application that requires both banks,

    this issue is expected to be resolved in the next CWare2000 release and both FLASH banks will be usable.

    am i correct?

  • This is correct. However, the fix has been identified in the other post. You should be able to add this functionality without much effort. Please see the fix described in the other post.

    Regards,
    sal
  • I am closing this thread.

    Bug has been identified and filed in order to be addressed in future C2000Ware release. The current way forward for customers has also been identified and posted.