硬件资源
正点原子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。

关于ST-Link知识,推荐阅读我的文章:【专栏】ST-Link资料
烧录完成后串口工具会输出以下信息:

要注意的是,其中的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秒,即可进入恢复状态。

-
DRAM
+关注
关注
40文章
2373浏览量
188173 -
开发板
+关注
关注
25文章
6125浏览量
113380 -
RT-Thread
+关注
关注
32文章
1540浏览量
44287 -
正点原子
+关注
关注
9文章
31浏览量
10846
发布评论请先 登录
首搭RT-Thread程翧车控平台| RT-Thread程翧 S32K344 快速原型开发平台正式上市!| 产品动态
通过scons生成RT-Thread Studio工程,编译报rtconfig_preinc.h告警怎么解决?
rt-thread studio 2.2.9如何使用最新的RT-Thread v5.2.0 released?
STM32cubeMX生成配置rt-thread引用问题求解
rt-thread stm32 BSP编译不通过怎么解决?
【好书推荐】RT-Thread第20本相关书籍!《嵌入式实时操作系统RT-Thread原理与应用》| 技术集结
RT-Thread荣获2025优秀开源项目 | 新闻速递
让开发板畅游网络:RT-Thread CherryUSB 驱动 RNDIS 模块详解 | 技术集结
揭秘RT-Thread上的AUTOSAR CP系统
STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4编程手册
RT-Thread审核团招募: 深度参与开源RTOS社区治理与演进
中新社:RT-Thread携“睿擎平台”亮相工博会 | 媒体视角
RT-Thread嵌入式操作系统专业培训班来上海啦!
如何将RT-Thread移植到NXP MCUXPressoIDE上
清华大学出版社推出RT-Thread新作,助力嵌入式开发人才培养

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