硬汉嵌入式论坛

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

[有问必答] APP跳转至IAP出现问题

[复制链接]

17

主题

32

回帖

83

积分

初级会员

积分
83
发表于 2019-10-23 16:27:44 | 显示全部楼层 |阅读模式
本帖最后由 鬼脚七 于 2019-10-23 16:32 编辑

程序运行的流程是:APP接到网络程序升级的命令后软启动,IAP工作,开始从网络接收升级需要的源程序。
单独 测试IAP功能正常,一旦由APP通过软启动进入IAP后,IAP的网络部分只发送几条请求升级的命令后就停止了,直接进入了void HardFault_Handler(void)
请问硬汉,APP从网络接收到“准备升级”的命令后,使用
        
        __set_FAULTMASK(1);

        NVIC_SystemReset();
这两条命令重启有问题吗?
为什么单独测试IAP没有问题,APP软重启后进入IAP就不能正常工作呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107527
QQ
发表于 2019-10-24 08:08:07 | 显示全部楼层
1、单独测试IAP是指的直接调用NVIC_SystemReset()不。
2、作为测试对比,可以将你的APP程序,直接在main函数里面就调用NVIC_SystemReset(),看看是否正常,不要开启额外的外设。
回复

使用道具 举报

36

主题

1449

回帖

1557

积分

至尊会员

积分
1557
发表于 2019-10-24 16:54:35 | 显示全部楼层
你这样做BOOT岂不是很大。应该在APP中直接接收待升级的固件,存储在外部Flash。然后接收完毕,校验完毕之后,重启。在BOOT中只把固件写入内部Flash即可。这样在BOOT中不涉及网络方面的代码。
回复

使用道具 举报

74

主题

1224

回帖

1446

积分

至尊会员

积分
1446
发表于 2019-11-11 10:56:07 | 显示全部楼层
eric2013 发表于 2019-10-24 08:08
1、单独测试IAP是指的直接调用NVIC_SystemReset()不。
2、作为测试对比,可以将你的APP程序,直接在main函 ...

请问能否做一个103的iap啊,我一直官网的一直是无法跳转,
回复

使用道具 举报

6

主题

643

回帖

661

积分

金牌会员

积分
661
QQ
发表于 2019-11-11 20:26:38 | 显示全部楼层
通信触发进入芯片内部ISP功能,然后运行ST官方的下载软件就可以升级了,这个感觉是最快的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-5 08:10 , Processed in 0.264418 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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