完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
使用SPC56EL60L3进行操作时,我注意到当软件看门狗定时器复位器件时,行为与我预期的不同。我期待应用程序重新启动,但我注意到应用程序没有开始运行,直到下一次上电复位。 查看设备文档,我找到了以下句子(第1292页,RM0032): '如果发生软件看门狗超时事件,则芯片将在复位退出后立即进入SAFE模式。 所以我找到了启动代码,我发现了这个(文件clock.c,第131行,函数spc_clock_init()): 看起来当前运行模式是根据预期的运行模式(即DRUN)和if检查的 它是不同的,调用SPC5_CLOCK_FAILURE_HOOK(),它被映射到irqSysHalt()(基本上是一个 无尽的循环)。这可以解释为什么我的应用程序在SWT重置系统后没有启动。 问题是:在SWT重置后,如果我需要重新启动应用程序(无需循环上电),该怎么办? 我是否可以更改上面的代码以包含SAFE_MODE作为有效的初始状态(以便功能继续)? 还有什么我需要做的吗? 谢谢。 问候 亚历山德罗 以上来自于谷歌翻译 以下为原文 Hello Everyone, woking with SPC56EL60L3, I noticed that when the device gets reset by the software watchdog timer, the behaviour is different than I expected. I was expecting the application to be restarted, but I notice the application does not start running, until the next power-on reset. Looking at the device documentation, I found the followong sentence (page 1292, RM0032): 'If a software watchdog timeout event occurs, then the chip will always enter SAFE mode immediately after reset exit.' So I Iooked at the startup code and I found this (file clock.c, row 131, function spc_clock_init() ): It looks like the current run mode is checked against the expected run mode (which is DRUN) and if it's different, the SPC5_CLOCK_FAILURE_HOOK() is invoked, which is mapped to irqSysHalt() (basically an endless loop). This could explain why my application isnot starting after the system being reset by the SWT. The question is: what if I need my application to restart (without having to cycle the power), after a SWT reset? Can I just change the above code to include SAFE_MODE as a valid initial state (so that the function goes ahead)? Is there anything else I need to do? Thank you. Regards Alessandro |
|
相关推荐
2个回答
|
|
亚历山德罗你好,
是的,如果看门狗定时器发生..原始代码是解决链接到无限循环的SWT问题的方法。 如果要在SWT之后重新启动软件,则必须如下修补此文件 你可以在时钟init上修补RLA。 并尊重以下国家 最好的祝福 二万 以上来自于谷歌翻译 以下为原文 Hello Alessandro , Yes , if the watchdog timer occured .. the original code is way to solve the SWT issue linked to a infinite loop. If you want to restart your software after SWT , you have to patch this file like below you can patch RLA the clock init.
and respect the following states Best regards Erwan |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2644 浏览 1 评论
3209 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1784 浏览 1 评论
3613 浏览 6 评论
5990 浏览 21 评论
940浏览 4评论
1317浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
585浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1304浏览 3评论
1362浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 04:13 , Processed in 1.190456 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号