Transcription of AN2606 Application note - st.com
1 November 2018AN2606 Rev 341/2981AN2606 Application noteSTM32 microcontroller system memory boot modeIntroductionThe 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, I2C, SPI, etc.). A communication protocol is defined for each serial interface, with a compatible command set and sequences. This document applies to the products listed in Ta b l e 1. They are referred as STM32 throughout the document. 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 STM32 devices. However the specifications of the low-level communication protocol for each supported serial peripheral are documented in separate documents as referred in Section 2: Related 1.
2 Applicable productsTypePart number or product seriesMicrocontrollersSTM32F0 Series: STM32F03xxx, STM32F04xxx, STM32F05xxx, STM32F07xxx, STM32F09xxxSTM32F1 Series: STM32F301xx, STM32F302xx, STM32F303xx, STM32F318xx, STM32F328xx, STM32F334xx, STM32F358xx, STM32F373xx, STM32F378xx, STM32F398xxSTM32F4 Series: STM32F401xx, STM32F405xx, STM32F407xx, STM32F410xx, STM32F411xx, STM32F412xx, STM32F413xx, STM32F415xx, STM32F417xx, STM32F423xx, STM32F427xx, STM32F429xx, STM32F437xx, STM32F439xx, STM32F446xx, STM32F469xx, STM32F479xxSTM32F7 Series: STM32F722xx, STM32F723xx, STM32F732xx, STM32F733xx, STM32F745xx, STM32F746xx, STM32F756xx, STM32F765xx, STM32F767xx, STM32F769xx, STM32F777xx, STM32F779xxSTM32H7 Series: STM32H743xx, STM32H753xxSTM32L0 Series: STM32L100xx, STM32L151xx, STM32L152xx, STM32L162xxSTM32L4 series: STM32L431xx, STM32L432xx, STM32L433xx, STM32L442xx, STM32L443xx, STM32L451xx, STM32L452xx, STM32L462xx, STM32L471xx, STM32L475xx, STM32L476xx, STM32L486xx, STM32L496xx, STM32L4A6xx, STM32L4R5xx, STM32L4R7xx, STM32L4R9xx, STM32L4S5xx, STM32L4S7xx, STM32L4S9xx, STM32L412xx, Rev 34 Contents1 General information.
3 162 Related documents .. 163 Glossary .. 174 General bootloader description .. activation .. identification .. connection requirements .. memory management .. 295 STM32F03xx4/6 devices bootloader .. configuration .. selection .. version .. 326 STM32F030xC devices bootloader .. configuration .. selection .. version .. 347 STM32F05xxx and STM32F030x8 devices bootloader .. configuration .. selection .. version .. 368 STM32F04xxx devices bootloader .. configuration .. selection .. version .. 409 STM32F070x6 devices bootloader .. 41AN2606 Rev 343 configuration .. selection .. version .. 4410 STM32F070xB devices bootloader .. configuration .. selection .. version .. 4811 STM32F071xx/072xx devices bootloader .. configuration .. selection .. version .. 5112 STM32F09xxx devices bootloader .. configuration .. selection .. version.
4 5313 STM32F10xxx devices bootloader .. configuration .. selection .. version .. 5514 STM32F105xx/107xx devices bootloader .. configuration .. selection .. version .. to identify STM32F105xx/107xx bootloader versions .. unavailability on STM32F105xx/STM32F107xx devices with a date code below 937 .. bootloader Get-Version command returns 0x20 instead of 0x22 .. excessive power consumption when USB cable is plugged in bootloader .. 6115 STM32F10xxx XL-density devices bootloader .. 62 ContentsAN26064/298AN2606 Rev configuration .. selection .. version .. 6316 STM32F2xxxx devices bootloader .. configuration .. selection .. version .. configuration .. selection .. version .. 7017 STM32F301xx/302x4(6/8) devices bootloader .. configuration .. selection .. version .. 7318 STM32F302xB(C)/303xB(C) devices bootloader .. configuration .. selection .. version.
5 7619 STM32F302xD(E)/303xD(E) devices bootloader .. configuration .. selection .. version .. 8020 STM32F303x4(6/8)/334xx/328xx devices bootloader .. configuration .. selection .. version .. 8221 STM32F318xx devices bootloader .. configuration .. 83AN2606 Rev 345 selection .. version .. 8522 STM32F358xx devices bootloader .. configuration .. selection .. version .. 8723 STM32F373xx devices bootloader .. configuration .. selection .. version .. 9024 STM32F378xx devices bootloader .. configuration .. selection .. version .. 9225 STM32F398xx devices bootloader .. configuration .. selection .. version .. 9426 STM32F40xxx/41xxx devices bootloader .. configuration .. selection .. version .. configuration .. selection .. version .. 10427 STM32F401xB(C) devices bootloader .. configuration .. selection .. 109 ContentsAN26066/298AN2606 Rev version.
6 11028 STM32F401xD(E) devices bootloader .. configuration .. selection .. version ..11529 STM32F410xx devices bootloader .. configuration .. selection .. version .. 12030 STM32F411xx devices bootloader .. configuration .. selection .. version .. 12631 STM32F412xx devices bootloader .. configuration .. selection .. version .. 13232 STM32F413xx/423xx devices bootloader .. configuration .. selection .. version .. 13833 STM32F42xxx/43xxx devices bootloader .. configuration .. selection .. version .. configuration .. selection .. version .. 150AN2606 Rev 347/298AN2606 Contents1034 STM32F446xx devices bootloader .. configuration .. selection .. version .. 15635 STM32F469xx/479xx devices bootloader .. configuration .. selection .. version .. 16336 STM32F72xxx/73xxx devices bootloader .. configuration .. selection .. version .. 16937 STM32F74xxx/75xxx devices bootloader.
7 Configuration .. selection .. version .. configuration .. selection .. version .. 18038 STM32F76xxx/77xxx devices bootloader .. configuration .. selection .. version .. 18739 STM32H74xxx/75xxx devices bootloader .. configuration .. selection .. version .. 19340 STM32L01xxx/02xxx devices bootloader .. 194 ContentsAN26068/298AN2606 Rev configuration .. selection .. version .. 19741 STM32L031xx/041xx devices bootloader .. configuration .. selection .. version .. 20042 STM32L05xxx/06xxx devices bootloader .. configuration .. selection .. version .. 20343 STM32L07xxx/08xxx devices bootloader .. configuration .. selection .. version .. configuration .. selection .. version .. 21244 STM32L1xxx6(8/B)A devices bootloader .. configuration .. selection .. version .. 21445 STM32L1xxx6(8/B) devices bootloader .. configuration.
8 Selection .. version .. 21646 STM32L1xxxC devices bootloader .. configuration .. 217AN2606 Rev 349 selection .. version .. 21947 STM32L1xxxD devices bootloader .. configuration .. selection .. version .. 22348 STM32L1xxxE devices bootloader .. configuration .. selection .. version .. 22749 STM32L412xx/L422xx devices bootloader .. configuration .. selection .. version .. 23250 STM32L43xxx/44xxx devices bootloader .. configuration .. selection .. version .. 23851 STM32L45xxx/46xxx devices bootloader .. configuration .. selection .. version .. 24452 STM32L47xxx/48xxx devices bootloader .. configuration .. selection .. version .. configuration .. selection .. 254 ContentsAN260610/298AN2606 Rev version .. 25653 STM32L496xx/4A6xx devices bootloader .. configuration .. selection .. version .. 26254 STM32L4 Rxxx/4 Sxxx devices bootloader.
9 Configuration .. selection .. version .. 27055 Device-dependent bootloader parameters .. 27156 Bootloader timing .. Startup timing .. connection timing .. connection timing .. connection timing .. connection timing .. 28457 Revision history .. 285AN2606 Rev 3411/298AN2606 List of tables13 List of tablesTable products .. 1 Table activation patterns .. 20 Table bootloaders.. 22 Table F2, F4 and F7 Voltage Range configuration using bootloader.. 30 Table memory area by Write, Read, Erase and Go Commands.. 30 Table configuration in system memory boot mode .. 31 Table bootloader versions .. 32 Table configuration in system memory boot mode .. 33 Table bootloader versions .. 34 Table and STM32F030x8 devices configuration in system memory boot mode . 35 Table and STM32F030x8 devices bootloader versions .. 36 Table configuration in system memory boot mode .. 37 Table bootloader versions.
10 40 Table configuration in system memory boot mode.. 41 Table bootloader versions .. 44 Table configuration in system memory boot mode .. 45 Table bootloader versions .. 48 Table configuration in system memory boot mode .. 49 Table bootloader versions .. 51 Table configuration in system memory boot mode .. 52 Table bootloader versions .. 53 Table configuration in system memory boot mode .. 54 Table bootloader versions .. 55 Table configuration in system memory boot mode .. 56 Table bootloader versions .. 59 Table XL-density configuration in system memory boot mode .. 62 Table XL-density bootloader versions .. 63 Table configuration in system memory boot mode .. 64 Table bootloader versions .. 66 Table configuration in system memory boot mode .. 67 Table bootloader versions .. 70 Table (6/8) configuration in system memory boot mode.. 71 Table (6/8) bootloader versions .. 73 Table (C)/303xB(C) configuration in system memory boot mode.