cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F407VG and UART Bootloader

Ivan
Associate II
Posted on March 28, 2014 at 07:26

Hi All

I have kind of garbage with the uart bootloader.

What I do:

1. I tie pins (BOOT0=vcc, BOOT1=gnd). Turn on power.

2. From PC sent 0x7F (57600, 8E1).

3. I get answer from STM32 - 0x79 - that means that everything is OK.

4. Send any other command (e.g. 0x00,0xFF = GET or 0x01, 0xFE). But I get no answer.

What could it be?

#stm32f407-uart-bootloader
5 REPLIES 5
zuew
Associate II
Posted on March 31, 2014 at 12:05

What I have digged. I debugged bootloader and noticed, that RX pin was pull-up. I made it float and everything started working.

Is it the miracle or the bug?

Noone have met this problem?

PS: Sorry, I have two accounts here. I deal with it later.

Posted on March 31, 2014 at 14:54

Noone have met this problem?

Not one I've encountered. The USART technically isn't receiving the initial 0x7F, a timer is measuring the signal and computing a baud rate against the internal clock. If the value is wrong, all subsequent communications will be at the wrong baud rate, and you'll see corrupted characters or garbage.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
zuew
Associate II
Posted on March 31, 2014 at 15:23

I would agreed with you.

But

1. It always respond at the known baud rate (0x7F). I changed  from 9600 to 115200.

2. In debug mode I made Rx pin float.And it help.

3. I try with port B (USART3) and it works.

4. I hadn't see any garbage on TX.

I need to be sure, that it's the bug or not.

Anybody could test Bootloader with stm32f407ig USART1?

stm322399
Senior
Posted on March 31, 2014 at 15:46

What about an electrical issue ?

Are you using a well known HW or is this your design ?

Is there any noticeable difference between USART1 and USART3 connection ?  How are you connected to your host machine ?

Normally Pull-up shall not hurt, unless the driver on TX side being weak (bad driver, or broken ground).

zuew
Associate II
Posted on April 01, 2014 at 07:50

This is my device.

I've found my ''bug''.

USART1 RX line has serial resitor 10k (for future purpose). USART3 RX is connected directly to RS232-UART. When I'd replaced 10k by 0Ohm, bootloader started working.

Now I need to understand why internal pull-up resistor leads to the malfunction.