你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
每日签到
STM32团队2
论坛吐槽优化专区
升级测试
IAP升级,boot和app分别是用标准库和HAL库写的,跳转不成功。
[复制链接]
any012
提问时间:2018-12-14 11:57 /
阅读主题, 点击返回1楼
赞
0
收藏
1
评论
12
分享
发布时间:2018-12-14 11:57
请先
登录
后回复
12个回答
any012
回答时间:2019-1-19 09:26:47
a1024a.1 32b0c
david2016 发表于 2018-12-14 12:14
NVIC Group你设置的是不是一样的?
我觉得和nvic group设置没有关系吧,设置nvic group只是设置了中断响应的优先级。而各中断的地址是固定的。
赞
0
评论
回复
any012
回答时间:2019-1-21 11:54:15
a1024a.1 32b0c
本以为一切都弄好了,结果又遇到了问题。
BOOT程序里原有独立看门狗,我调试时给关掉了,现在又打开了。然后在APP程序里喂狗。
一开始都是接着CAN设备,和其它设备通讯,正常。
偶然一次发现,上电时如果不接其它CAN设备,则看门狗复位了。
逐条屏蔽语句,发现是APP函数里while(1)前的打开CAN中断接收这一语句引起的,屏蔽掉就可以了。
但是,如果不用IAP工程,APP程序直接正常执行,从0X80000000执行。则不屏蔽这句,也不会引起看门狗复位。APP程序里重新打开了独立看门狗。
总结下来就是,如果上电时,使能CAN中断接收后,如果有CAN接收中断产生,则程序能正常运行下去,否则不知卡在那里引起了独立看门狗复位。
赞
0
评论
回复
any012
回答时间:2019-1-21 14:57:46
a1024a.1 32b0c
解决了,原因是boot里出了开启了can接收中断外,还开起了can_sce中断。我在跳转到app前,只是关闭了can的接收中断,没关闭sce中断。
到了app程序后,一旦开启了can,则立刻产生了sce中断(也不知道为何会产生),然后就跳转到了某个位置,程序跑飞。
在app程序里也使能can_sce中断并添加中断处理函数,问题解决。或者在boot里,跳转app前,也关闭can_sce中断。
我就配合boot程序写个app程序,为何会遇到这么多问题啊...
赞
0
评论
回复
1
2
/ 2 页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
我觉得和nvic group设置没有关系吧,设置nvic group只是设置了中断响应的优先级。而各中断的地址是固定的。
BOOT程序里原有独立看门狗,我调试时给关掉了,现在又打开了。然后在APP程序里喂狗。
一开始都是接着CAN设备,和其它设备通讯,正常。
偶然一次发现,上电时如果不接其它CAN设备,则看门狗复位了。
逐条屏蔽语句,发现是APP函数里while(1)前的打开CAN中断接收这一语句引起的,屏蔽掉就可以了。
但是,如果不用IAP工程,APP程序直接正常执行,从0X80000000执行。则不屏蔽这句,也不会引起看门狗复位。APP程序里重新打开了独立看门狗。
总结下来就是,如果上电时,使能CAN中断接收后,如果有CAN接收中断产生,则程序能正常运行下去,否则不知卡在那里引起了独立看门狗复位。
到了app程序后,一旦开启了can,则立刻产生了sce中断(也不知道为何会产生),然后就跳转到了某个位置,程序跑飞。
在app程序里也使能can_sce中断并添加中断处理函数,问题解决。或者在boot里,跳转app前,也关闭can_sce中断。
我就配合boot程序写个app程序,为何会遇到这么多问题啊...