STM32系统bootloader应用

嵌入式开发中,常常须要bootloader进行程序固件升级和系统维护,因此bootloader必不可少的功能。STM32系统自带的系统bootloader很方便使用。大量减小了工程师开发bootloader的工做微信


1. 摘要函数

本篇笔记主要介绍,STM32系统bootloader的应用,以STM32H743芯片为例介绍,测试

2. 准备工做spa

    1, IAR 8.32.1.net

    2, STM32CubeProgrammer3d


3. 系统bootloader介绍blog

相信用过STM32芯片的童鞋应该都不陌生,在芯片出厂的时候,意法在内部系统固化了bootloader,而且支持多种接口像UART,I2C,SPI,USB,CAN等等,可用于下载升级用户程序,就我使用的H743来说可支持接口以下:接口

注意红色框部分地址有误,程序中代码须要注意,目前支持几乎全系列STM32。像F0, F1,F4,F7,H7,包括比较新的G系列也都支持,还有L系列和W系列。此bootloader可配合ST官方的STM32CubeProgrammer上位机使用,这样大大节省了开发时间,固然你若是要作更好的bootloader能够根据这个思路本身在添加更多功能。ci

就我最近使用的H743来说,咱们今天以H743为例,以USB接口为例来介绍。开发

4. 硬件链接示意图

将板子经过USB线连入电脑,板子做为USB device

5. Bootloader模式

在使用bootloader时候,须要考虑怎么进入boot模式,而STM32支持经过boot引脚跳转,经过boot引脚跳转须要配置引脚和地址寄存器

经过用户应用程序跳转则不须要配置boot引脚,而通常经过应用程序跳转比较方便,尤为是带有很差拆卸外壳的产品,咱们经过应用程序跳转极为方便,固之后者为例来讲明。经过boot引脚跳转的配置说明你们能够参考官方文档AN2606.

6. 配置需求

通常来讲咱们在进入跳转到bootloader时候须要作一些工做,STM32在进入系统bootloader时候须要作如下动做:关闭全局中断,时钟恢复配置为HIS,清除中断挂起标志,使能中断,设置跳转地址,执行跳转,能够是按键检测跳转,或者触摸操做跳转,这个根据本身的应用去实现。

7. 代码实现

经过按照上面的说明咱们就能够经过代码实现,只须要在须要跳转动做的地方调用下面的函数。注意ST官方给的系统bootloader系统地址不对,AN2606中给出的地址有误,使用时候要注意,需采用下面的地址,此处参考了安富莱例程,一并感谢。

8. 测试

配合STM32CubeProgrammer完成测试,测试步骤很简单,打开STM32CubeProgrammer,当应用程序中知足跳转条件进入系统bootloader后,就会进入DFU,点击链接,如过链接无误,能够选择要下载的文件,进行下载,下载成功后,有提示。按照图示操做就能够完成。


点击Open file,选择本身要下载的文件




或者能够在菜单里选择第二项进入下面界面更新。


9. 参考文档

序号

文献

1

STM32H743RM

2

AN2606: STM32 microcontroller system memory boot mode



本文分享自微信公众号 - 嵌入式程序猿(InterruptISR)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索