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.

TMS320F280039C: Is it possible to increase serial flash programming speed?

Part Number: TMS320F280039C

Hello, 

I've recently got the serial flash programmer functionality working for my device and have been testing it with different sized application programs and baud rates. The highest reliable baud rate I can use is 115200 bps.

If my understanding of updating flash is correct, I was wondering if it was possible to alter the flash kernel to have a larger RAM buffer to load the program into, resulting in more of the application being programmed into flash at a time and fewer writes to flash overall?

I saw that there were requirements for the size of the buffer. Specifically that the size must be a multiple of 64 bits and be divisible by 4. 

I've tried setting the BUFFER_SIZE to 0x100, but the program stalls. Is there potentially something else that also needs to be changed whether in the kernel or on the PC/executable side? Or perhaps there's a reason the buffer was originally set to 0x80 and shouldn't be changed? This is the command prompt showing where it stalls (a have to control C to exit the program):

Thanks!

-Emma

  • Hi Emma,

    A buffer size of 0x80 refers to the number of words that can be transmitted until checksum. By increasing the buffer size, the flash API may not be able to program for a larger buffer size. I'll have to check the documentation and get back to you.

    Update:

    This should be fine as long as the time for the flash API to program finishes before the buffer size is reloaded, and the size stays a multiple of 64 bits as stated above.

    Along with a change in the kernel code, there is also a change needed in the host, as a checksum is sent once a block of data has been programmed. 

    The value for blocksize must match the value used on the target side. 

    Let me know if this helps to resolve the issue.

    Thanks and regards,

    Charles

  • Thanks! Yes it does.