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
    +关注

    关注

    2239

    文章

    10663

    浏览量

    348496
  • bootloader
    +关注

    关注

    2

    文章

    230

    浏览量

    45042

原文标题:STM32系统bootloader应用

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

收藏 人收藏

    评论

    相关推荐

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

    Bootloader不但依赖于CPU的体系架构,而且依赖于嵌入式系统板级设备的配置。 3. STM32bootloader的内存分配
    的头像 发表于 02-15 06:10 1.6w次阅读
    什么是<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 5212次阅读
    <b class='flag-5'>STM32</b>单片机<b class='flag-5'>Bootloader</b>的实现

    介绍STM32F429内置的系统bootloader的基础知识

    第28章 STM32F429的系统bootloader基础知识本章为大家介绍STM32F429内置的系统
    发表于 08-10 06:16

    STM32F407的系统bootloader基础知识下载

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

    介绍STM32H7内置的系统bootloader的基础知识

    第67章 STM32H7的系统bootloader基础知识本章为大家介绍STM32H7内置的系统boot
    发表于 08-11 08:10

    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异常复位如何解决

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

    STM32F103C8上实现一个简单的bootloader

    STM32F103C8上实现一个简单的bootloader最近在琢磨单片机在线更新程序的事情,查资料查到在STM32上实现一个bootloader比较简单,废话不多说,动手尝试一下。
    发表于 11-23 17:51 20次下载
    在<b class='flag-5'>STM32</b>F103C8上实现一个简单的<b class='flag-5'>bootloader</b>

    STM32系统bootloader应用

    嵌入式开发中,经常需要bootloader进行程序固件升级和系统维护,所以bootloader是必不可少的功能。STM32系统自带的
    发表于 11-26 13:36 16次下载
    <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 24次下载
    写了个通用的<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 76次下载
    <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 18次下载
    基于<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>异常复位案例