cancel
Showing results for 
Search instead for 
Did you mean: 

Trying to receive large unknown size data over UART (over 1MB)

Victorious
Visitor

So I am new to STM32 , what I want to implement is to receive large data(preferably over 1MB) which is greater than the size of receive buffer of UART so how should I proceed with it. Since the data I am receiving is in the form of hex, I also have to program the flash using the same data.

1 REPLY 1
Andrew Neil
Super User

welcome to the forum.

Please see How to write your question to maximize your chances to find a solution for best results.

 


@Victorious wrote:

I also have to program the flash using the same data.


So are you trying to implement in-application firmware update (IAP)?

If so, see Application note AN4657STM32 in-application programming (IAP) using the USART.

 

The general principle is that you receive a block of data, program that to Flash, then receive the next block, etc, etc,...

So you need some kind of "protocol" to tell the sender when the receiver is ready for the next block.

The above-mentioned App Note uses YMODEM; other protocols, of course, are available.

 

 

 

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.