打印
[STM32L1]

stm32L系列IAP功能的实现

[复制链接]
354|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huwr|  楼主 | 2022-5-12 23:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序流程是这样的,默认情况下程序在主程序中运行,收到升级指令后跳到IAP程序进行空中升级。
跳转程序如下:
1.NVIC_SETFAULTMASK(); //关总中断
2.JumpAddress = *(volatile u32*) (ApplicationAddress + 4); // 取中断向量表中的复位中断地址
3.Jump_To_Application = (pFunction) JumpAddress; // 该地址强置为跳转函数地址
4.__set_MSP(*(unsigned int*)(ApplicationAddress )
5.Jump_To_Application();
.如果不加第一步,好像无**常跳转。如果加上第一步,能够正常跳转,但是跳转到IAP程序后无法响应中断。

使用特权

评论回复
沙发
huwr|  楼主 | 2022-5-12 23:26 | 只看该作者
在IAP程序中开启总中断,跳转过去后无**常运行IAP程序。

使用特权

评论回复
板凳
zhenykun| | 2022-5-12 23:28 | 只看该作者
ApplicationAddress 的地址是多少,尽量保证0x400地址对齐

使用特权

评论回复
地板
llljh| | 2022-5-12 23:29 | 只看该作者
中断向量表 SCB->VCTOR 重新设置新的地址没有

使用特权

评论回复
5
llljh| | 2022-5-13 22:49 | 只看该作者
1.NVIC_SETFAULTMASK(); //关总中断                                   这个不是关总中断

使用特权

评论回复
6
huangchui| | 2022-5-13 22:54 | 只看该作者
如果不加第一步,好像无**常跳转。可能是因为不管总中断,在拷贝中断向量表或者说中断向量表的重映射时,还有后续的程序跳转前,如果来了其他的中断,讲可能进入不可预知的状态中。

使用特权

评论回复
7
huangchui| | 2022-5-13 22:55 | 只看该作者
加上第一步,能够正常跳转,但是跳转到IAP程序后无法响应中断。可能是因为没有做拷贝中断向量表或者说中断向量表的重映射时,或者说做的有问题。在还有可能是没有开启相关的中断。

使用特权

评论回复
8
llia| | 2022-5-13 22:58 | 只看该作者
STM32L系列的都支持IAP功能吗

使用特权

评论回复
9
renyaq| | 2022-5-13 23:01 | 只看该作者
可能是没有开启相关的中断

使用特权

评论回复
10
huwr|  楼主 | 2022-5-13 23:03 | 只看该作者
看看中断开启了没有

使用特权

评论回复
11
chuxh| | 2022-5-13 23:05 | 只看该作者
我记得论坛里有详细说iap的帖子 楼书找找

使用特权

评论回复
12
dengdc| | 2022-5-13 23:07 | 只看该作者
参考官方的IAP例子啊。

使用特权

评论回复
13
jlyuan| | 2022-5-13 23:09 | 只看该作者
官方的iap,还是自己写的iap?

使用特权

评论回复
14
huwr|  楼主 | 2022-5-13 23:10 | 只看该作者
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦

使用特权

评论回复
15
Jacquetry| | 2022-10-5 21:35 | 只看该作者
中断开启了吗

使用特权

评论回复
16
Bblythe| | 2022-10-7 08:22 | 只看该作者

GPIO口被复用为AD输入脚做相关AD检测

使用特权

评论回复
17
Pulitzer| | 2022-10-7 11:21 | 只看该作者

核心模块被封装成了一个函数

使用特权

评论回复
18
Uriah| | 2022-10-7 18:22 | 只看该作者

让该端口输出高电平的语句

使用特权

评论回复
19
帛灿灿| | 2023-6-1 07:19 | 只看该作者

中断产生于单片机内部和外部的各种设备

使用特权

评论回复
20
Bblythe| | 2023-6-1 08:22 | 只看该作者

通过函数指针传递的功能来获得B的功能

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

粉丝