cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F401RE Firmware update over Bluetooth

sauer
Associate II
Posted on June 27, 2015 at 16:05

Hi,

i got a Nucleo F401RE Board and tried to update the flash with the internal bootloader, it works perfectly with USB<->RS232 bridge at 115200baud on UART1 (PA9,PA10), i got correct responses from bootloader, id, and so on. But if i connect a same configured HC-05 Bluetooth RS232 module i only

got the first ACK byte and then only sometimes a respond to the get command (0x00 0xFF) and when i get a respond from bootloader it gots not the complete command set, only a few commands where listed.

Anyone got the same issues and found out why it so reacts?
2 REPLIES 2
Posted on June 27, 2015 at 17:39

The System Loader has some very specific requirements for 8E1 formatted data (Even Parity). It's auto-bauding against a specific pattern, and then holding data to that timing/formatting. There is no flow-control on the STM32 side.

As a manner of testing, you could T-off the data going into the RX pin, and push it to a console/terminal app that can display hex, and confirm you're seeing valid data at the STM32 end at 9600/115200 8E1, or whatever baud rate you're using. If the data's not solid there, then it's never going to work reliably.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
sauer
Associate II
Posted on June 27, 2015 at 23:14

I tried it now like you said and put a rs232 sniffer on the tx/rx lines between STM32 and bluetooth module and it first looks reliable.

but it didnt work .... so i read datasheets, application notes and so on again and then i saw it.....

the bootloader uses even parity...

im ashamed... now it works