
USART bootloader
AN2662
Doc ID 14156 Rev 1
microcontroller baud rate can be calculated using the formula below:
, where f
B
≤
2.5%.
This baud rate deviation is a nonlinear function depending on the CPU clock and the baud
rate of the host. The maximum of the function (f
B
) increases with the host baud rate. This is
due to the smaller baud rate prescale factors, and the implied higher quantization error.
2.3 Minimum
baud
rate
The lowest tested baud rate (B
Low
) is 1200. Baud rates below B
Low
would cause the SysTick
timer to overflow. In this event, USARTx would not be correctly initialized.
2.4
Maximum baud rate
B
High
is the highest baud rate for which the deviation still does not exceed the limit. All baud
rates between B
Low
and B
High
are below the deviation limit.
The highest tested baud rate (B
High
) is 115 200.
2.5
Bootloader command set
The supported commands are listed in
below. Each command is further described in
this section.
f
B
STM32Fxxx baud rate
Host baud rate
–
STM32Fxxx baud rate
--------------------------------------------------------------------------------------------------------
100%
×
=
Table 3.
Bootloader commands
Command
(1)
Command
code
Command description
Get
(2)
0x00
Gets the version and the allowed commands
supported by the current version of the bootloader
Get Version & Read Protection
Status
0x01
Gets the bootloader version and the Read
Protection status of the Flash memory
Get ID
0x02
Gets the chip ID
Read Memory
0x11
Reads up to 256 bytes of memory starting from an
address specified by the user
Go
0x21
Jumps to an address specified by the user to
execute (a loaded) code
Write Memory
0x31
Writes up to 256 bytes to the RAM or Flash memory
starting from an address specified by the user
Erase
0x43
Erases from one to all the Flash memory pages
Write Protect
(3)
0x63
Enables the write protection for some sectors
Write Unprotect
0x73
Disables the write protection for all Flash memory
sectors