OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5169|回复: 7

IAP升级问题求助,有点小急

[复制链接]

11

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2023-4-10
在线时间
31 小时
发表于 2023-5-9 17:00:20 | 显示全部楼层 |阅读模式
老哥们,我用DAPlink烧录Bootloader后,用串口传输简单的程序的BIN文件格式可以完成IAP升级,但是换到要求的APP程序时会在跳转APP程序时卡死,我在APP程序的main函数的起始部分写了个打印内容到串口的操作,这个都执行不了,应该是跳转时进行时钟初始化或外设配置时出问题了,请问各位老哥,我要怎么排查和解决呢?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2023-4-10
在线时间
31 小时
 楼主| 发表于 2023-5-10 08:49:33 | 显示全部楼层
有老哥们看不?帮帮小弟
回复 支持 反对

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14287
金钱
14287
注册时间
2018-8-3
在线时间
1147 小时
发表于 2023-5-10 09:09:46 | 显示全部楼层
EnyawEcurb 发表于 2023-5-10 08:49
有老哥们看不?帮帮小弟

是不是在bootloader里边某些中断开了,在APP没开 导致直接卡死? 你可以在APP程序仿真看看死在哪个位置
啊哈~加油!!
回复 支持 反对

使用道具 举报

3

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2022-7-20
在线时间
34 小时
发表于 2023-5-10 10:15:01 | 显示全部楼层
BootLoader写入flash后检查一下写入的对不对,然后跳转前得关闭中断
回复 支持 反对

使用道具 举报

11

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2023-4-10
在线时间
31 小时
 楼主| 发表于 2023-5-10 11:07:56 | 显示全部楼层
翼行园子 发表于 2023-5-10 09:09
是不是在bootloader里边某些中断开了,在APP没开 导致直接卡死? 你可以在APP程序仿真看看死在哪个位置

这个要怎么看?Bootloader和App不是在两个文件里吗?怎么做到仿真从Bootloader开始到跳转App和执行App的整个程序呢?
回复 支持 反对

使用道具 举报

0

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
401
金钱
401
注册时间
2019-5-5
在线时间
150 小时
发表于 2023-5-10 11:17:43 | 显示全部楼层
1.bootloader跳转前中断是不是都关了
2.app的中断向量表有没有重映射
回复 支持 反对

使用道具 举报

11

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2023-4-10
在线时间
31 小时
 楼主| 发表于 2023-5-10 11:44:35 | 显示全部楼层
石头君 发表于 2023-5-10 11:17
1.bootloader跳转前中断是不是都关了
2.app的中断向量表有没有重映射

app的中断向量表通过SCB->VTOR=FLASH_BASE | 0x10000语句更改了,应该不是这个方面的问题。然后bootloader只使能了一个USART3串口的中断,也关闭了。我这边的主要问题是通过Bootloader烧录一个简单的程序(bin文件大概5k左右)(串口打印接收到的内容)是可以实现的。但是烧录公司设计的程序的bin文件(大概36K左右,没有超过Bootloader的接受最大值,最大值设定的为42K,在芯片的RAM大小的范围内),就在跳转的时候卡死了,然后我在公司程序的main开头就加了个打印内容的步骤,连这一步都不能实现,应该是连mian函数都进不去,现在就不知道该从哪里去排查了。
回复 支持 反对

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14287
金钱
14287
注册时间
2018-8-3
在线时间
1147 小时
发表于 2023-5-17 09:34:44 | 显示全部楼层
EnyawEcurb 发表于 2023-5-10 11:44
app的中断向量表通过SCB->VTOR=FLASH_BASE | 0x10000语句更改了,应该不是这个方面的问题。然后bootloade ...

在跳转到APP前 调用一个关闭全部中断的指令:__ASM volatile("cpsid i");
啊哈~加油!!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 08:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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