0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32系统bootloader的应用有哪些

嵌入式程序员 来源:CSDN博客 作者:CSDN博客 2020-10-22 12:19 次阅读

嵌入式开发中,经常需要bootloader进行程序固件升级和系统维护,所以bootloader是必不可少的功能。STM32系统自带的系统bootloader很方便使用。大量减少了工程师开发bootloader的工作。

1. 摘要

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

2. 准备工作

1, IAR 8.32.1

2, STM32CubeProgrammer

3. 系统bootloader介绍

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

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

就我最近使用的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. 参考文档

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2270

    文章

    10893

    浏览量

    355666
  • bootloader
    +关注

    关注

    2

    文章

    234

    浏览量

    45605

原文标题:STM32系统bootloader应用

文章出处:【微信号:InterruptISR,微信公众号:嵌入式程序员】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是Bootloader 浅谈STM32bootloader的内存分配

    Bootloader不但依赖于CPU的体系架构,而且依赖于嵌入式系统板级设备的配置。 3. STM32bootloader的内存分配
    的头像 发表于 02-15 06:10 1.7w次阅读
    什么是<b class='flag-5'>Bootloader</b> 浅谈<b class='flag-5'>STM32</b>中<b class='flag-5'>bootloader</b>的内存分配

    STM32单片机Bootloader的实现

    之前一篇的文章中,主要介绍了STM32的启动流程和内存主要空间的分配,这篇文章将在上一篇文章的基础上,来阐述一下STM32 Bootloader的实现。
    发表于 01-11 17:29 6940次阅读
    <b class='flag-5'>STM32</b>单片机<b class='flag-5'>Bootloader</b>的实现

    STM32F407的系统bootloader基础知识下载

    STM32F407的系统bootloader基础知识下载,第28章 STM32F407的系统bootlo
    发表于 08-10 08:00

    STM32系统自带的系统bootloader何作用

    嵌入式开发中,经常需要bootloader进行程序固件升级和系统维护,所以bootloader是必不可少的功能。STM32系统自带的
    发表于 12-09 07:30

    基于stm32的can BootLoader系统资料分享

    基于STM32+ucosiii的CAN BOOTLOADER CAN IAP一套完整的基于stm32的can BootLoader系统,包括
    发表于 12-10 06:09

    STM32F091空片使用System Bootloader下载

    STM32F091空片使用System Bootloader下载代码
    发表于 12-07 18:17 0次下载

    STM32 BootLoader升级固件

    Bootloader应该是每个成熟产品都必须具备的功能,了它,我们不用担心产品销售出去后发现产品固件问题而无法解决的问题,Bootloade
    发表于 11-10 08:59 5081次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>BootLoader</b>升级固件

    STM32单片机的bootloader设计流程解析资料分析

    stm32在内部硬件bootloader,但那是在生产烧录时使用的。stm32在flash开头的4K程序空间是可以设置成防擦除的,是天生的boot
    发表于 12-13 16:45 21次下载
    <b class='flag-5'>STM32</b>单片机的<b class='flag-5'>bootloader</b>设计流程解析资料分析

    STM32 Bootloader异常复位如何解决

    客户反馈通过PC软件Flashloader不能够跟STM32 MCU自带Bootloader连接。并且系统运行一段时间后异常复位。
    的头像 发表于 03-23 10:26 9621次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>Bootloader</b>异常复位如何解决

    基于STM32F4和RT-Thread通用BootLoader使用经验

    基于STM32F4、RT-Thread通用BootLoader使用经验
    的头像 发表于 02-27 17:23 6291次阅读
    基于<b class='flag-5'>STM32</b>F4和RT-Thread通用<b class='flag-5'>BootLoader</b>使用经验

    STM32系统bootloader应用

    嵌入式开发中,经常需要bootloader进行程序固件升级和系统维护,所以bootloader是必不可少的功能。STM32系统自带的
    发表于 11-26 13:36 17次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>系统</b><b class='flag-5'>bootloader</b>应用

    写了个通用的stm32串口bootloader

    写了个通用的stm32串口bootloader
    发表于 11-26 15:51 26次下载
    写了个通用的<b class='flag-5'>stm32</b>串口<b class='flag-5'>bootloader</b>

    STM32单片机bootloader扫盲

    STM32单片机BootLoader扫盲BootLoader和APP之间的关系APP就是平时写的单片机上的应用程序,而BootLoader本质上和APP一样,也是平时写的应用程序
    发表于 11-26 18:21 77次下载
    <b class='flag-5'>STM32</b>单片机<b class='flag-5'>bootloader</b>扫盲

    基于STM32F407的STM32通用BootLoader使用经验

    背景: 在使用RT-Thread RTOS的时候发现官方提出了一种通用的BootLoader方案,支持F1和F4系列的芯片 硬件资源: 正点原子stm32f407zgt6探索者开发板,片上Flash
    发表于 11-30 19:06 20次下载
    基于<b class='flag-5'>STM32</b>F407的<b class='flag-5'>STM32</b>通用<b class='flag-5'>BootLoader</b>使用经验

    STM32 Bootloader异常复位案例

    电子发烧友网站提供《STM32 Bootloader异常复位案例.pdf》资料免费下载
    发表于 09-25 09:17 3次下载
    <b class='flag-5'>STM32</b> <b class='flag-5'>Bootloader</b>异常复位案例