AN2606 STM32 microcontroller system memory boot mode(5)
STM32F40xxx/41xxx is used to refer to STM32F405xx, STM32F407xx, STM32F415xx and SMT32F417xx devices.
STM32F401xB(C) is used to refer to STM32F401xB and STM32F401xC devices.STM32F401xD(E) is used to refer to STM32F401xD and STM32F401xE devices.STM32F411xx is used to refer to STM32F411xD and STM32F411xE devices.STM32F42xxx/43xxx is used to refer to STM32F427xx, STM32F429xx, STM32F437xx and STM32F439xx devices
STM32F446xx is used to refer to STM32F446xE and STM32F446xC devicesL0 Series:
STM32L05xxx/06xxx is used to refer to STM32L051xx, STM32L052xx, STM32L053xx, STM32L062xx and STM32L063xx ultralow power devices.L1 Series:
STM32L1xxx6(8/B) is used to refer to STM32L1xxV6T6, STM32L1xxV6H6, STM32L1xxR6T6, STM32L1xxR6H6, STM32L1xxC6T6, STM32L1xxC6H6, STM32L1xxV8T6, STM32L1xxV8H6, STM32L1xxR8T6, STM32L1xxR8H6, STM32L1xxC8T6, STM32L1xxC8H6, STM32L1xxVBT6, STM32L1xxVBH6, STM32L1xxRBT6, STM32L1xxRBH6, STM32L1xxCBT6 and STM32L1xxCBH6 ultralow power devices.
STM32L1xxx6(8/B)A is used to refer to STM32L1xxV6T6-A, STM32L1xxV6H6-A, STM32L1xxR6T6-A, STM32L1xxR6H6-A, STM32L1xxC6T6-A, STM32L1xxC6H6-A, STM32L1xxV8T6-A, STM32L1xxV8H6-A, STM32L1xxR8T6-A, STM32L1xxR8H6-A, STM32L1xxC8T6-A, STM32L1xxC8H6-A, STM32L1xxVBT6-A, STM32L1xxVBH6-A, STM32L1xxRBT6-A, STM32L1xxRBH6-A, STM32L1xxCBT6-A and STM32L1xxCBH6-A ultralow power devices.
STM32L1xxxC is used to refer to STM32L1xxVCT6, STM32L1xxVCH6 ,
STM32L1xxRCT6, STM32L1xxUCY6, STM32L1xxCCT6 and STM32L1xxCCU6 ultralow power devices.
STM32L1xxxD is used to refer to STM32L1xxZDT6, STM32L1xxQDH6, STM32L1xxVDT6, STM32L1xxRDY6, STM32L1xxRDT6, STM32L1xxZCT6,
12/155DocID13801 Rev 21
AN2606Glossary
STM32L1xxQCH6, STM32L1xxRCY6, STM32L1xxVCT6-A and STM32L1xxRCT6-A ultralow power devices.
STM32L1xxxE is used to refer to STM32L1xxZET6, STM32L1xxQEH6,
STM32L1xxVET6, STM32L1xxVEY6, and STM32L1xxRET6 ultralow power devices.L4 Series:
STM32L476xx/486xx is used to refer to STM32L476xE, STM32L476xG and STM32L486xG devices
Note:
BL_USART_Loop refers to the USART Bootloader execution loop. BL_CAN_Loop refers to the CAN Bootloader execution loop. BL_I2C_Loop refers to the I2C Bootloader execution loop. BL_SPI_Loop refers to the SPI Bootloader execution loop.
DocID13801 Rev 2113/155
General bootloader descriptionAN2606
3 General bootloader description
3.1 Bootloader activation
The bootloader is activated by applying one of these patterns:
Table 2. Bootloader activation patterns
PatternsPattern1Pattern2
Condition
Boot0(Pin) = 1 and Boot1(Pin) = 0Boot0(Pin) = 1 and nBoot1(bit) = 1
Boot0 (Pin)= 1, Boot1(Pin) = 0 and BFB2 (bit) = 1
Pattern3
Boot0(Pin) = 0, BFB2 (bit) = 0 and both banks don’t contain valid code Boot0(Pin) = 1, Boot1(Pin) = 0, BFB2 (bit) = 0 and both banks don’t contain
valid code
Boot0 (Pin)= 1, Boot1(Pin) = 0 and BFB2 (bit) = 1
Pattern4
Boot0(Pin) = 0, BFB2 (bit) = 0 and both banks don’t contain valid code Boot0(Pin) = 1, Boot1(Pin) = 0 and BFB2 (bit) = 0Boot0 (Pin)= 1, Boot1(Pin) = 0 and BFB2 (bit) = 0
Pattern5
Boot0(Pin) = 0, BFB2 (bit) = 1 and both banks don’t contain valid code Boot0(Pin) = 1, Boot1(Pin) = 0 and BFB2 (bit) = 1Boot0(Pin) = 1, nBoot1(bit) = 1 and nBoot0_SW(bit) = 1
Pattern6
nBoot0(bit) = 0, nBoot1(bit) = 1 and nBoot0_SW(bit) = 0Boot0(Pin) = 0, nBoot0_SW(bit) = 1 and main flash empty
Note:
The bootloader activation procedure is not the same for all STM32 products. In each STM32 product bootloader section we specify which pattern is used to execute bootloader.In addition to patterns described above, user might execute Bootloader by performing a jump to system memory from user code (refer to table 64 for system memory address). Before jumping to Bootloader user must:
Disable all peripheral clocksDisable used PLLDisable interruptsClear pending interrupts
System memory boot mode can be exited by getting out from bootloader activation condition and generating hardware reset or using Go command to execute user code.
Note:
For some products with dual bank mechanism, the jump to Bootloader might result in
jumping again to user code (and thus Bootloader communication protocol is not executed). Please refer to product's "Dual Bank Boot Implementation" flowchart for more details. i.e. In order to jump and execute Bootloader communication protocol, you might configure SYSCFG register by software to map System Memory on address 0x00000000 prior to jumping, when this feature is available.
14/155DocID13801 Rev 21
AN2606Note:
General bootloader description
If you choose to execute the Go command, the peripheral registers used by the bootloader are not initialized to their default reset values before jumping to the user application. They should be reconfigured in the user application if they are used. So, if the IWDG is being used in the application, the IWDG prescaler value has to be adapted to meet the requirements of the application (since the prescaler was set to its maximum value ).
3.2 Bootloader identification
Depending on the STM32 device used, the bootloader may support one or more embedded
serial peripherals used to download the code to the internal Flash memory. The bootloader identifier (ID) provides information about the supported serial peripherals.For a given STM32 device, the bootloader is identified by means of the:1.
Bootloader (protocol) version: version of the serial peripheral (USART, CAN, USB, etc.) communication protocol used in the bootloader. This version can be retrieved using the bootloader Get Version command.
Bootloader identifier (ID): version of the STM32 device bootloader, coded on one byte in the 0xXY format, where:–
X specifies the embedded serial peripheral(s) used by the device bootloader: X = 1: on …… 此处隐藏:5537字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




