STM32 system memory boot mode.pdf
(
339 KB
)
Pobierz
STM32™ microcontroller system memory boot mode
AN2606
Application note
STM32™ microcontroller
system memory boot mode
Introduction
The bootloader is stored in the internal boot ROM memory (system memory) of STM32
devices. It is programmed by ST during production. Its main task is to download the
application program to the internal Flash memory through one of the available serial
peripherals (USART, CAN, USB, etc.). A communication protocol is defined for each serial
interface, with a compatible command set and sequences.
The main features of the bootloader are the following:
●
It uses an embedded serial interface to download the code with a predefined
communication protocol
●
It transfers and updates the Flash memory code, the data, and the vector table sections
This application note presents the general concept of the bootloader. It describes the
supported peripherals and hardware requirements to be considered when using the
bootloader of any STM32 device currently in production. However the specifications of the
low-level communication protocol for each supported serial peripheral are documented in
separate documents:
●
For specifications of the USART protocol used in the bootloader please refer to
AN3155
●
For the specification of CAN protocol used in the bootloader please refer to AN3154
●
For the specification of DFU (USB Device) protocol used in the bootloader please refer
to AN3156
Related documents (available from
www.st.com
)
●
STM32 datasheets:
– low, medium and high-densitySTM32F101xx and STM32F103xx datasheets
– low, medium and high-density STM32F100xx and STM32F102xx datasheets
– STM32F105xx/107xx connectivity line datasheet
– XL-density STM32F101xx and STM32F103xx datasheets
●
STM32 reference manuals:
– STM32F101xx, STM32F102xx, STM32F103xx and STM32F105xx/107xx
reference manual (RM0008)
– low, medium and high-density STM32F100xx value line reference manual
(RM0041)
●
STM32 Flash programming manuals
– STM32F101xx, STM32F102xx, STM32F103xx and STM32F105xx/107xx Flash
programming manual (PM0042)
– low, medium and high-density STM32F100xx value line Flash programming
manual (PM0063)
– XL-density STM32F101xx and STM32F103xx programming manual (PM0068)
October 2010
Doc ID 13801 Rev 9
1/27
www.st.com
Contents
AN2606
Contents
1
General bootloader description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1
Bootloader activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2
Exiting system memory boot mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3
Bootloader identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2
STM32F101xx, STM32F102xx, STM32F103xx,
medium-density and high-density value line bootloader . . . . . . . . . . . 8
2.1
Bootloader configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2
Bootloader hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3
Bootloader selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4
Bootloader version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3
STM32F105xx and STM32F107xx device bootloader . . . . . . . . . . . . . . 11
3.1
Bootloader configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2
Bootloader hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3
Bootloader selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4
Bootloader version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4
STM32F101xx and STM32F103xx XL-density devices bootloader . . . 17
4.1
Dual bank boot feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2
Bootloader configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3
Bootloader hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4
Bootloader selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.5
Bootloader version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5
Device-dependent bootloader parameters . . . . . . . . . . . . . . . . . . . . . . 24
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2/27
Doc ID 13801 Rev 9
AN2606
List of tables
List of tables
Table 1. Boot pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Table 2. Embedded bootloaders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Table 3. STM32F10xxx configuration in system memory boot mode . . . . . . . . . . . . . . . . . . . . . . . . . 8
Table 4. STM32F10xxx bootloader versions evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Table 5. STM32F105xx/107xx configuration in system memory boot mode . . . . . . . . . . . . . . . . . . 11
Table 6. STM32F105xx and STM32F107xx bootloader versions evolution . . . . . . . . . . . . . . . . . . . 16
Table 7. Boot pin and BFB2 bit configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Table 8. STM32F10xxx XL-density configuration in system memory boot mode . . . . . . . . . . . . . . . 19
Table 9. Evolution of the XL-density bootloader versions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Table 10. Bootloader device dependant parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Table 11. Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Doc ID 13801 Rev 9
3/27
List of figures
AN2606
List of figures
Figure 1.
Bootloader for STM32 with USART1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figure 2.
Bootloader selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Figure 3.
Bootloader selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4/27
Doc ID 13801 Rev 9
AN2606
Glossary
Low-density devices
are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes.
Medium-density devices
are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes.
High-density devices
are STM32F101xx and STM32F103xx microcontrollers where the
Flash memory density ranges between 256 and 512 Kbytes.
Connectivity line devices
are STM32F105xx and STM32F107xx microcontrollers.
Low-density value line devices
are STM32F100xx microcontrollers where the Flash
memory density ranges between 16 and 32 Kbytes.
Medium-density value line devices
are STM32F100xx microcontrollers where the Flash
memory density ranges between 64 and 128 Kbytes.
High-density value line devices
are STM32F100xx microcontrollers where the Flash
memory density ranges between 256 and 5128 Kbytes.
XL-density devices
are STM32F101xx and STM32F103xx microcontrollers where the
Flash memory density ranges between 768 Kbytes and 1 Mbyte.
Doc ID 13801 Rev 9
5/27
Plik z chomika:
masterkom
Inne pliki z tego folderu:
Reference manual STM32F101,102,103,105,107.pdf
(9312 KB)
Reference manual STM32F100.pdf
(7041 KB)
MMstm32F103R_pl.pdf
(1895 KB)
STM32F103xy.pdf
(1413 KB)
STM32101xy_2.pdf
(1586 KB)
Inne foldery tego chomika:
# Elektronika
# LCD
-=Arduino=-
► AVR-USB
2007-07-03(1)
Zgłoś jeśli
naruszono regulamin