找回密码
 立即注册
查看: 48|回复: 5

用户AP区怎样再分两个区,AP1和AP2

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:28
  • 最近打卡:2025-10-15 18:00:08
已绑定手机

10

主题

50

回帖

274

积分

中级会员

积分
274
发表于 前天 08:53 | 显示全部楼层 |阅读模式

大佬知不知道怎么在用户AP区再分两个区,AP1和AP2,
我的想法是先把数据写入到AP2中,再把AP2的数据写到AP1中,然后把AP2的数据擦除,
1、如果升级过程中突然断电,那下次上电时,AP1和AP2都有数据,
那这时怎么让单片机跑完AP1的代码后,不再往后跑AP2的代码呢?
2、如果把AP2的数据写到AP1过程中断电,那下次上电时,AP1程序不完整,AP2程序完整,
那这时怎么让单片机直接执行AP2的代码?

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:208
  • 最近打卡:2025-10-15 11:03:15

787

主题

1万

回帖

1万

积分

管理员

积分
19770
发表于 前天 09:31 | 显示全部楼层
截图202510140930572576.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:532
  • 最近打卡:2025-10-15 08:56:42
已绑定手机

47

主题

2274

回帖

7995

积分

论坛元老

积分
7995
发表于 前天 09:38 | 显示全部楼层
1. 你的程序是在AP1空间运行的话,除非程序跑飞,否则是不会跑到程序地址以外空间运行。
2. 上电时先在用户ISP区判断AP1程序是否完整(可以设置一个升级完成标志),
    如果完整的话执行AP1程序。AP1不完整,AP2完整的话将AP2程序重新复制到AP1空间。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:28
  • 最近打卡:2025-10-15 18:00:08
已绑定手机

10

主题

50

回帖

274

积分

中级会员

积分
274
发表于 前天 09:43 | 显示全部楼层

我现在就用“8系列UART在线升级”的例程,这里面的ISP代码没有对AP用户再分区,
而且最重要的是如果AP1和AP2区都存在,在运行AP1区结束时,怎么能让程序不跑到AP2区
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:28
  • 最近打卡:2025-10-15 18:00:08
已绑定手机

10

主题

50

回帖

274

积分

中级会员

积分
274
发表于 前天 09:51 | 显示全部楼层
乘风*** 发表于 2025-10-14 09:38
1. 你的程序是在AP1空间运行的话,除非程序跑飞,否则是不会跑到程序地址以外空间运行。
2. 上电时先在用户 ...

1、请求解答一下,如果AP1和AP2都存在,程序是怎么一直在AP1区运行的,是因为main函数后面那个while吗?
2、你这个想法是很可以,我有想过设置一个升级标志,但是你后半句说的这个处理方式,我就没想到,我去试一下,谢谢大佬!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:532
  • 最近打卡:2025-10-15 08:56:42
已绑定手机

47

主题

2274

回帖

7995

积分

论坛元老

积分
7995
发表于 前天 10:15 | 显示全部楼层
ZARD*** 发表于 2025-10-14 09:51
1、请求解答一下,如果AP1和AP2都存在,程序是怎么一直在AP1区运行的,是因为main函数后面那个while吗?
...

1. 是的,正常一套程序是一个完整的闭环,程序都在主循环跟中断里执行,不会跑到这套程序以外的地址运行。
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-10-16 07:46 , Processed in 0.131115 second(s), 79 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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