你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

IAP升级,boot和app分别是用标准库和HAL库写的,跳转不成功。

[复制链接]
any012 提问时间:2018-12-14 11:57 /
阅读主题, 点击返回1楼
收藏 1 评论12 发布时间:2018-12-14 11:57
12个回答
any012 回答时间:2019-1-19 09:26:47
david2016 发表于 2018-12-14 12:14
NVIC Group你设置的是不是一样的?

我觉得和nvic group设置没有关系吧,设置nvic group只是设置了中断响应的优先级。而各中断的地址是固定的。
any012 回答时间:2019-1-21 11:54:15
本以为一切都弄好了,结果又遇到了问题。
BOOT程序里原有独立看门狗,我调试时给关掉了,现在又打开了。然后在APP程序里喂狗。
一开始都是接着CAN设备,和其它设备通讯,正常。
偶然一次发现,上电时如果不接其它CAN设备,则看门狗复位了。
逐条屏蔽语句,发现是APP函数里while(1)前的打开CAN中断接收这一语句引起的,屏蔽掉就可以了。
但是,如果不用IAP工程,APP程序直接正常执行,从0X80000000执行。则不屏蔽这句,也不会引起看门狗复位。APP程序里重新打开了独立看门狗。

总结下来就是,如果上电时,使能CAN中断接收后,如果有CAN接收中断产生,则程序能正常运行下去,否则不知卡在那里引起了独立看门狗复位。
any012 回答时间:2019-1-21 14:57:46
解决了,原因是boot里出了开启了can接收中断外,还开起了can_sce中断。我在跳转到app前,只是关闭了can的接收中断,没关闭sce中断。
到了app程序后,一旦开启了can,则立刻产生了sce中断(也不知道为何会产生),然后就跳转到了某个位置,程序跑飞。
在app程序里也使能can_sce中断并添加中断处理函数,问题解决。或者在boot里,跳转app前,也关闭can_sce中断。

我就配合boot程序写个app程序,为何会遇到这么多问题啊...
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版