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

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

3天内不再提示

如何在STM32F407单片机上使用通用的BootLoader经验分析

RTThread物联网操作系统 来源:未知 2019-08-03 09:13 次阅读

因为在使用RT-Thread RTOS的时候发现官方提出了一种通用的BootLoader方案,支持F1和F4系列的芯片,正好手头有板子便试着用了下,顺便给大家分享一下经验总结吧。

硬件资源

正点原子stm32f407zgt6探索者开发板,片上Flash(ROM)大小为1024KB,RAM大小为192KB,板载一个SPI Flash W25Q128。

BootLoader配置

根据官方文档:https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/,(因为微信无法插入外部链接,请复制至外部浏览器打开)BootLoader的基本配置如下,加密压缩的配置可以不选。

上述的分区表以及bootloader所占空间可以用下面的图表示,偏移地址的概念为从0x08000000开始偏移。flash空间的前128KB用来存放Bootloader固件,因此排在BootLoader之下的download分区的起始地址为0x08020000。

生成Bootloader固件,固件会自动发送到自己的邮箱。

烧录Bootloader

将得到的Bootloader固件通过STM32 ST-LINK Utility.exe 烧录到片上flash。要注意的是,烧录的起始地址为0x0800000。

烧录完成后串口工具会输出一下信息

要注意的是,其中的NJUST字样是自定义的,可以在bootloader生成的页面自行定义。两个CRC32的error信息可以忽略,因为此时的flash中并没有包含分区表,分区表信息需要我们通过烧录app程序完成初始化配置。

FAL分区表中的onchip_flash为片上flash空间,起始地址为0x08020000,扇区大小为128KB。

烧录app程序和打包

参考官方文档:https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/(因为微信无法插入外部链接,请复制至外部浏览器打开)

烧录出厂固件

出厂固件的keil编译相关设置同app程序一样,中断向量表偏移地址也是一样的。在制作出厂固件app_factory时,需要将keil生成的bin用ota打包器进行打包,打包器的固件分区名为app,固件版本为1.0.0,然后将打包生成的app_factory.rbl改后缀名为app_factory.bin,最后使用st-link-utility将修改后缀名的app_factory.bin烧录到Flash的0x08060000地址即可。要注意,不可以直接把keil编译的bin文件直接下载到factory分区,因为此时的bin并没有app的头信息,这个头信息需要由OTA打包器打包后才能添加。

恢复出场固件的方法:按住WK_UP按键的同时按下复位按键,保持WK_UP按键处于按下状态10秒,即可进入恢复状态。

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

    关注

    2240

    文章

    10674

    浏览量

    348846
  • RTOS
    +关注

    关注

    20

    文章

    776

    浏览量

    118800
  • bootloader
    +关注

    关注

    2

    文章

    230

    浏览量

    45052
  • STM32F407
    +关注

    关注

    15

    文章

    187

    浏览量

    28993

原文标题:基于STM32F407的STM32通用BootLoader使用经验

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    介绍一下单片机STM32F407芯片

    主要有单片机、嵌入式linux等。其中单片机以其功能强大、性价比高,在物联网这一行业中占据了大半江山。4.1 初识STM32F407芯片本节介绍单片机
    发表于 07-16 07:32

    介绍STM32F407的启动模式

    单片机型号:STM32F407VGT6本文介绍STM32F407的启动模式,也称为BOOT模式。STM32F407可以有3种方式进行启动,见下表,我们一般采用从FLASH进行程序启动的
    发表于 08-04 06:08

    STM32F407的系统bootloader之串口IAP固件升级

    STM32F407的系统bootloader之串口IAP固件升级,STM32F407的系统bootloader之串口IAP固件升级本章节为大家讲解使用系统
    发表于 08-10 07:26

    STM32F407的系统bootloader基础知识下载

    STM32F407的系统bootloader基础知识下载,第28章 STM32F407的系统bootloader基础知识本章为大家介绍STM32F4
    发表于 08-10 08:00

    STM32F407探索者开发板

    问题:使用正点原子的STM32F407代码,下载到外部晶体为25MHz的开发板上,LED不闪烁,串口无输出,单片机直接死机,调试器检测不到芯片。问题分析:正点原子的STM32F407
    发表于 08-11 08:36

    如何实现stm32f407单片机串口通信?

    如何实现stm32f407单片机串口通信?
    发表于 12-07 06:24

    STM32F407模板

    STM32F407模板,感兴趣可以看看。
    发表于 07-25 18:52 125次下载

    STM32F407 UCOS III实验

    STM32F407 UCOS III实验,介绍基于STM32F407的UCOSIII实例,参考下
    发表于 09-22 14:08 80次下载

    为什么选用ST系列STM32F407单片机

    为什么选用ST系列STM32F407单片机
    发表于 11-26 14:06 7次下载
    为什么选用ST系列<b class='flag-5'>STM32F407</b><b class='flag-5'>单片机</b>

    基于STM32F407STM32通用BootLoader使用经验

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

    STM32F407开发板用户手册】第14章 STM32F407的电源,复位和时钟系统

    STM32F407开发板用户手册】第14章 STM32F407的电源,复位和时钟系统
    发表于 12-02 16:21 39次下载
    【<b class='flag-5'>STM32F407</b>开发板用户手册】第14章 <b class='flag-5'>STM32F407</b>的电源,复位和时钟系统

    STM32F407开发板用户手册】第1章   初学STM32F407的准备工作

    STM32F407开发板用户手册】第1章   初学STM32F407的准备工作
    发表于 12-04 13:36 73次下载
    【<b class='flag-5'>STM32F407</b>开发板用户手册】第1章   初学<b class='flag-5'>STM32F407</b>的准备工作

    STM32F407开发板用户手册】第8章 STM32F407的终极调试组件Event Recorder

    STM32F407开发板用户手册】第8章 STM32F407的终极调试组件Event Recorder
    发表于 12-04 14:21 17次下载
    【<b class='flag-5'>STM32F407</b>开发板用户手册】第8章 <b class='flag-5'>STM32F407</b>的终极调试组件Event Recorder

    STM32F407开发板用户手册】第19章 STM32F407的GPIO应用之按键FIFO

    STM32F407开发板用户手册】第19章 STM32F407的GPIO应用之按键FIFO
    发表于 12-05 15:21 32次下载
    【<b class='flag-5'>STM32F407</b>开发板用户手册】第19章 <b class='flag-5'>STM32F407</b>的GPIO应用之按键FIFO

    stm32f407原理图

    stm32f407原理图
    发表于 07-14 16:07 169次下载