Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Bootloader
潘多拉开发板_Pandora
潘多拉boot_OTA升级实验问题
发布于 2019-07-03 16:49:24 浏览:2288
订阅该版
我做潘多拉OTA发现,烧录程序是 1.0.0, OTA程序 2.0.0, app和boot分区表一致。为了能反复测试验证ota过程,每次升级完,我都直接烧录低版本1.0.0返回。无论是1.0或2.0版本运行后都会执行DL分区全擦除。但是事实上并没有达到我要的反复升级再烧录降级的效果。不知道是不是boot的版本比较老旧,我用的是潘多拉首发版本配套资料的boot。 现象&步骤: 第一步: 全片擦除 -> 烧1.0 -> OTA到2.0 -> 成功 第二步: 不擦除2.0 -> 烧1.0 -> OTA到2.0 -> 失败 (boot提示app 校验出错,返回出厂版本1.0) 翻看OTA手册,发现在每次OTA完成后,boot 会比较 app 区和 DL区数据,问题就在这里,这个比较动作是比较某个字段?还是某个大片区域? OK, 如果比较不相同,有两种情况,第一种,包版本不相同,第二种,DL分区为空或者其他乱七八糟的数据。我实现的是第二种(1.0或2.0版本运行后都会执行DL分区全擦除)。 至于第一种目前发现的是,版本号只能递增OTA。实际调试中不可能一直OTA(网速慢),一般通过烧录降级之类。 所以我才想能否通过手动清空DL分区来强行实现 APP与 DL分区校验不过从而达到反复OTA的效果。实际上却是不能。为什么呢? ![888.png](/uploads/201907/03/164920ylzawn2lhahyarep.png)
查看更多
5
个回答
默认排序
按发布时间排序
bevis
2019-07-03
这家伙很懒,什么也没写!
我猜想会不会是这样,APP分区存在某个字段的值时,此时DL分区为空或乱数。 就会触发APP校验错误,返回出厂。 APP分区不存在某个字段的值时,且DL分区为空或乱数。BOOT就会当做是第一次OTA的全新设备正常执行OTA。 这个猜测我是在onchip flash 分为 app + param 2个分区, param我没有使用,boot本来也没有param分区,固件大小也是小于 app分区大小,不存在横跨 app+param。 事实上是,当我OTA完,清空param后,就可以正常执行OTA了。 所以我怀疑是不是 boot的app分区是不是在分区尾部加入某些校验字段?当我把校验字段清了就可以?
我夏了夏天
认证专家
2019-07-03
Life isn't about finding yourself, life is about creating yourself.
写的蛮详细的,可是感觉读起来好累。 1. app 和 dl 分区中的固件版本不同才会进行 ota 升级 2. 每次升级完成后 dl 分区都会被擦除 如果觉得版本旧的话,可以试试 RTT 推出的通用 BootLoader,地址如下: - [an0028-rtboot](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/application-note/system/rtboot/an0028-rtboot)
bevis
2019-07-03
这家伙很懒,什么也没写!
>写的蛮详细的,可是感觉读起来好累。 > >1. app 和 dl 分区中的固件版本不同才会进行 ota 升级 --- 为什么我第二步会失败,跑到恢复出厂?
我夏了夏天
认证专家
2019-07-05
Life isn't about finding yourself, life is about creating yourself.
>为什么我第二步会失败,跑到恢复出厂? --- 提示 app 校验失败呢
bevis
2019-07-08
这家伙很懒,什么也没写!
你们是不是都看不明白我写的到底是什么??
撰写答案
登录
注册新账号
关注者
0
被浏览
2.3k
关于作者
bevis
这家伙很懒,什么也没写!
提问
79
回答
266
被采纳
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-thred的stm32h723对应bsp包CubeMX添加其他外设报错
2
RT-Thread中的time溢出问题,时间戳溢出,解决方法
3
ART-PI使用env驱动ETH网卡,pc和板子可以ping通
4
SystemView线程名字不显示
5
只用网页也能跑RT-Smart 无门槛腾讯Cloud studio + smart-build快速构建
热门标签
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
ESP8266
UART
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
8
个答案
2
次被采纳
三世执戟
7
个答案
1
次被采纳
KunYi
7
个答案
1
次被采纳
winfeng
2
个答案
1
次被采纳
chenyaxing
2
个答案
1
次被采纳
本月文章贡献
catcatbing
2
篇文章
5
次点赞
swet123
1
篇文章
3
次点赞
YZRD
1
篇文章
2
次点赞
Days
1
篇文章
2
次点赞
阳光的掌控者
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部