cancel
Showing results for 
Search instead for 
Did you mean: 

Serial Bootloader baudrate mismatch

MW
Associate

We have a system with STM32L431CCU which gets its initial firmware through serial download (as described in AN3155). We use USART1 and applied pattern 6 as described in AN2606. The software on the host side (embedded linux system) is either stm32flash (https://sourceforge.net/p/stm32flash/wiki/Home/) or a custom tool. Both are showing the same behavior. If we are using a baudrate of 19200 everything is okay and flashing the MCU is very stable (no errors in hundreds of tries). If baudrate is increased (to decrease the time needed to flash the device) the process gets more unstable (>= 38400) or doesn't work at all (at 115200). The MCU seems to detect the baudrate wrong. We send the 0x7F (red channel) at 115200 (start and parity bit have a length of 8.67µs which is a good match for the 115200. The MCU answers with 0x79 (yellow channel, start bit only) but with a start bit time of 7.94µs which equals to roundabout 126000 baud. This is a deviation of 9% and to much for the receiver. So startup fails.0693W000007ZaYqQAK.png 

AN3155 states that 115200 should work. In another product we use STM32F042 and STM32F091 which both allows using the serial loader at 115200. Is there any known limitation in the L431 that limits the device to lower baudrates?

Thanks in advance.

0 REPLIES 0