Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Bootloader
使用“STM32 通用 Bootloader”是关于fal偏移地址的一点说明
发布于 2020-03-07 20:31:41 浏览:1770
订阅该版
最近在STM32F407上试用了一下官方的通用bootloader, 确实方便,直接串口就可以更新程序,简单稳定,而且速度可以接受, 最重要的就是成本低,不用配专门的下载器。 不过也发现了一些问题,比如支持的型号目前比较少,只有F1、F4、L4这三种, 常用的L0、以及高性能的F7等都不支持,而且不开源。 在就是踩了一个不大不小的坑,也是我看资料不仔细的原因吧,现在分享出来。 =============================分割线=================================== 在官方的资料介绍中,有两处地方提到了设置分区时设置偏移地址的问题,如下 第一处是在设置分区的时候,很明显**这个地址是在Flash0x08000000的基础上进行设置的**; ![QQ截图20200307201441.png](/uploads/202003/07/202212dhg6xg980617h4uz.png) 而到了后边,在app程序中进行fal分区设置的时候,这个开始地址成了0x08020000, 也就是**从128k bootloader分区之后的地址开始算的**,如图download分区的偏移地址成了0; ![QQ截图20200307202057.png](/uploads/202003/07/202212auxx46hp5hpjzmum.png) 我最开始的时候即使把fal分区的地址也按照从0x08000000开始计算的, 造成的结果就是程序能正常写入Flash,但重启之后bootload读取的位置不对, 校验失败,也就不给更新。 ![QQ截图20200307200800.png](/uploads/202003/07/202210qui6426digoi49us.png) 将程序里边fal分区处的地址调整之后,程序升级运行正常,对照启动时的参数可以看出, 实际在bootloader加载分区的时候,也是没有算入自身的128k地址的,如下图。 ![QQ截图20200307201239.png](/uploads/202003/07/202211r1zfe2zzsxkmufhu.png)
查看更多
4
个回答
默认排序
按发布时间排序
bevis
2020-03-07
这家伙很懒,什么也没写!
有点不知道你想表达什么。 图一设置的分区表是让Boot有一份你的APP的分区表而已。
通宵敲代码
2020-03-09
这家伙不懒,他只是什么都不想写
>有点不知道你想表达什么。 图一设置的分区表是让Boot有一份你的APP的分区表而已。 ... --- 就是分区偏移地址的问题, 在网站上生成boot的时候是从Flash的物理地址开始的, 但在boot跟app中都是不考虑boot这块分区的。
国际哥
2020-03-09
这家伙很懒,什么也没写!
[i=s] 本帖最后由 国际哥 于 2020-3-9 14:40 编辑 [/i] 这两种说明只是对同一地址的不同表述罢了,分区表的偏移是基于 fal_dev 设备地址算的,app 写了 onchip_flash_128k 就是从 128K 开始算,网页基于 flash 起始地址 0x8000000 算,但同时也说明了前 128k 不能用,所以app也只能从 128K 开始算,地址能保证一致。其实都是一个意思:前128k保留给 BootLoader用。 本来两种情况下就是不同的语境,没必要都基于某个基准来描述一个地址。
我夏了夏天
认证专家
2020-03-09
Life isn't about finding yourself, life is about creating yourself.
确实,芯片的地址和基于存储设备的地址要理解清楚
撰写答案
登录
注册新账号
关注者
0
被浏览
1.8k
关于作者
通宵敲代码
这家伙不懒,他只是什么都不想写
提问
8
回答
25
被采纳
0
关注TA
发私信
相关问题
1
Linux下通过USBTinyISP为Arduino开发板烧?写Bootloader
2
请教修改NVIC后RTT调度函数失效的问题[已解决 bootloader中打开了不必要的中断]
3
进入bootloader的方式探讨
4
求助:IAP里的APP使用的RTT,跳转后出错。[已解决]
5
有没有人在STM32F103上用UART IAP跑过RT-Thread?
6
想做网口的IAP远程升级,不知可不可行
7
IAP问题
8
[已解决]请教基于RTT的IAP程序切换到应用程序不成功的问题(基于STM32F4)?
9
stm32f4xx-----IAP移植APP程序需要注意的地方
10
在调试IAP网络升级遇到跳转之后bootloader程序网络不通
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
开源共生 商业共赢 | RT-Thread 2024开发者大会议程正式发布!
2
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
3
RT-Thread EtherKit开源以太网硬件正式发布
4
如何在master上的BSP中添加配置yml文件
5
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
19
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
6
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
6
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部