硬汉嵌入式论坛

 找回密码
 立即注册
查看: 639|回复: 6
收起左侧

[BOOT/IAP] 复旦微双分区IAP问题

[复制链接]

1

主题

0

回帖

3

积分

新手上路

积分
3
发表于 2025-2-24 15:54:56 | 显示全部楼层 |阅读模式
描述一下流程:

①keil5全擦烧录boot(boot只根据flash中的boottable分区中数据进行程序跳转);
②sector erase烧录APP至APP2分区,同时生成bin包;

③复位后,由boot跳转至APP2分区与上位机通信获取bin包,烧入APP1分区中,然后触发软件复位;
④复位后,boot跳转至APP1分区,然后再接收bin包,烧入APP2分区,然而在APP2第一页刚被擦除后,整个系统除了boot,APP1和APP2全都无法启动(debug查看flash,APP1分区代码未受影响,APP2代码首页被擦除);

注:boot开启定时器,对应分区启动失败时,会复位尝试启动另一分区

按我的理解起码烧录后的APP1分区应该是会启动起来的,但是boot一直尝试启动,根本启动不起来

回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2025-2-24 17:04:48 来自手机 | 显示全部楼层
sct->vtor 指向哪里?是不是中断向量表指向APP2,然后在app1执行的时候跳过去了?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2025-2-25 04:49:42 | 显示全部楼层
为了方便问题排查,使用MDK,将BOOT,APP1,APP2分别都下载进去,如果这样也无法正常启动,说明程序实现确定有问题。
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2025-3-11 16:30:57 | 显示全部楼层
你用的是同样的bin文件吧,不支持这种升级,要么使用不同的bin,否则就会错误
回复

使用道具 举报

97

主题

537

回帖

843

积分

金牌会员

积分
843
发表于 2025-3-17 16:22:06 | 显示全部楼层
和楼上的看法一样,你这种升级方式需要编译两个bin,一个APP1一个APP2。
APP1和APP2如果你用的同一个bin文件是不行了。运行不了的。
共产主义一定胜利!
回复

使用道具 举报

0

主题

39

回帖

39

积分

新手上路

积分
39
发表于 2025-3-19 09:55:23 | 显示全部楼层
芯片在启动的时候,会校验FLASH区域的,如果区域不对,无法启动的,
回复

使用道具 举报

0

主题

10

回帖

10

积分

新手上路

积分
10
发表于 2025-5-26 09:31:24 | 显示全部楼层
会飞的猪_2020 发表于 2025-3-17 16:22
和楼上的看法一样,你这种升级方式需要编译两个bin,一个APP1一个APP2。
APP1和APP2如果你用的同一个bin文 ...

双分区,支持映射,可以把app2的flash映射到起始位置,也是可以运行的,现在好的芯片都是支持的;我觉得不是方案问题,应该是哪里细节没处理好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-9 23:50 , Processed in 0.307571 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表