Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Bootloader
使用“STM32 通用 Bootloader”是关于fal偏移地址的一点说明
发布于 2020-03-07 20:31:41 浏览:1865
订阅该版
最近在STM32F407上试用了一下官方的通用bootloader, 确实方便,直接串口就可以更新程序,简单稳定,而且速度可以接受, 最重要的就是成本低,不用配专门的下载器。 不过也发现了一些问题,比如支持的型号目前比较少,只有F1、F4、L4这三种, 常用的L0、以及高性能的F7等都不支持,而且不开源。 在就是踩了一个不大不小的坑,也是我看资料不仔细的原因吧,现在分享出来。 =============================分割线=================================== 在官方的资料介绍中,有两处地方提到了设置分区时设置偏移地址的问题,如下 第一处是在设置分区的时候,很明显**这个地址是在Flash0x08000000的基础上进行设置的**;  而到了后边,在app程序中进行fal分区设置的时候,这个开始地址成了0x08020000, 也就是**从128k bootloader分区之后的地址开始算的**,如图download分区的偏移地址成了0;  我最开始的时候即使把fal分区的地址也按照从0x08000000开始计算的, 造成的结果就是程序能正常写入Flash,但重启之后bootload读取的位置不对, 校验失败,也就不给更新。  将程序里边fal分区处的地址调整之后,程序升级运行正常,对照启动时的参数可以看出, 实际在bootloader加载分区的时候,也是没有算入自身的128k地址的,如下图。 
查看更多
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.9k
关于作者
通宵敲代码
这家伙不懒,他只是什么都不想写
提问
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
MCAX-156 ADC测评
2
【FRDM-MCXA156测评】- CherryUSB与hid鼠标设备模仿
3
【FRDM-MCXA156测评】- 硬件SPI模块
4
【NXP-MCXA156】恩智浦A156上的 IIC(硬件) 实践
5
【FRA156测评DM-MCX】- PWM模块
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
GD32
ADC
flashDB
编译报错
socket
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
出出啊
1520
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
178
次被采纳
crystal266
552
个答案
162
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
5
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部