Skip to content
Discussion options

You must be logged in to vote

This is a problem on all ports / boards which use UART for repl and internal flash for storage. With internal flash, when code is running from the same flash the CPU is paused while flash write / erase operations take place. These pauses can cause UART bytes to be dropped.

I've got a fix for this on STM32 in #9054 (which has links to earlier discussions and investigations) but it's a rather involved change.

Note the F411 doesn't have this issue because it's using USB rather than UART, the USB has flow control so pauses the communication while flash operations take place.
UART with RTS/CTS flow control also fixes the problem, but most stm boards like all the nucleo ones don't wire these li…

Replies: 2 comments 10 replies

Comment options

You must be logged in to vote
0 replies
Comment options

andrewleech
Dec 9, 2023
Collaborator Sponsor

You must be logged in to vote
10 replies
@andrewleech
Comment options

andrewleech Dec 9, 2023
Collaborator Sponsor

@davefes
Comment options

@davefes
Comment options

@andrewleech
Comment options

andrewleech Jan 29, 2024
Collaborator Sponsor

@davefes
Comment options

Answer selected by davefes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants