TC277 watchdog 超时后无法触发SMU Alarm

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
HandlerOne
Level 1
Level 1
5 sign-ins First reply posted First question asked

在EB工具配置完成后,可以触发中断回调Wdg_17_Scu_Cbk_GtmNotifySRV函数,当不按时进行喂狗操作时,Wdg_TimeoutCounter[CoreId]变量计数值变为0,但触发不了watchdog timeout alarm,如果在不解锁的情况下,强制修改SCU_WDTSCON0寄存器的 lck位,ALM3[17]可以报出Alarm

企业微信截图_16933635648360.png

watchdog配置寄存器和状态寄存器如下图所示,状态是No timeout

Myhoney_0-1693404325942.png

请问是什么原因导致不能报出alarm?还是说要做哪些操作,还是我配置有问题,麻烦解答一下,非常感谢!

0 点赞
1 解答
Jeremy_Z
Moderator
Moderator
Moderator
1000 replies posted 250 sign-ins 100 likes received

Hi @Wangbk ,
1) Debug时,WDG不工程,原因如下。

In order to use the debugger, OCDS is enabled. Whenever the OCDS is enabled, all watchdogs are disabled by default.

2)TC3XX的Mcal Demo Code里面避免劳特巴赫调试器影响,会往0xF000047C地址上写入0x00003000,这样的话,在劳特巴赫调试过程中看门狗超时就会检查到复位,如果不写入值,就检查不到。请问它的作用是什么,我们现在测试的是TC275,是不是需要类似的赋值操作?
-- 我对劳德巴赫这个机制不熟悉,这个你最好问问他们。
3)我们尝试将SMU关闭,然后拔掉劳特巴赫调试器,发现看门狗超时之后,仍能产生复位,想确认一下上述的4个ALM3,和普通WDG超时没有关系吗?WDG超时引发复位的机制是怎么样的。
-- 请参考用户手册中的9.4.5.8 Watchdog Alarms.
BR,
Jeremy

在原帖中查看解决方案

0 点赞
4 回复数
Jeremy_Z
Moderator
Moderator
Moderator
1000 replies posted 250 sign-ins 100 likes received

Hi @HandlerOne ,

首先,你说的Alarm没有触发,是指ALM3[17]位没有置1吗?

其次,能否分享一下demo code?

BR,

Jeremy

0 点赞
Wangbk
Level 3
Level 3
25 sign-ins 10 replies posted First question asked

Hi Jeremy:

针对上述问题:

1)准确的说应该是ALM3[18]没有置1,因为在核0做的WDG操作,使用的不是safety wdg。

2)我们拔掉劳特巴赫调试器之后,发现功能正常了,看门狗能复位了。

但是仍有2个疑问:

1)TC3XX的Mcal Demo Code里面避免劳特巴赫调试器影响,会往0xF000047C地址上写入0x00003000,这样的话,在劳特巴赫调试过程中看门狗超时就会检查到复位,如果不写入值,就检查不到。请问它的作用是什么,我们现在测试的是TC275,是不是需要类似的赋值操作?

2)我们尝试将SMU关闭,然后拔掉劳特巴赫调试器,发现看门狗超时之后,仍能产生复位,想确认一下上述的4个ALM3,和普通WDG超时没有关系吗?WDG超时引发复位的机制是怎么样的。

0 点赞
Jeremy_Z
Moderator
Moderator
Moderator
1000 replies posted 250 sign-ins 100 likes received

Hi @Wangbk ,
1) Debug时,WDG不工程,原因如下。

In order to use the debugger, OCDS is enabled. Whenever the OCDS is enabled, all watchdogs are disabled by default.

2)TC3XX的Mcal Demo Code里面避免劳特巴赫调试器影响,会往0xF000047C地址上写入0x00003000,这样的话,在劳特巴赫调试过程中看门狗超时就会检查到复位,如果不写入值,就检查不到。请问它的作用是什么,我们现在测试的是TC275,是不是需要类似的赋值操作?
-- 我对劳德巴赫这个机制不熟悉,这个你最好问问他们。
3)我们尝试将SMU关闭,然后拔掉劳特巴赫调试器,发现看门狗超时之后,仍能产生复位,想确认一下上述的4个ALM3,和普通WDG超时没有关系吗?WDG超时引发复位的机制是怎么样的。
-- 请参考用户手册中的9.4.5.8 Watchdog Alarms.
BR,
Jeremy

0 点赞
Wangbk
Level 3
Level 3
25 sign-ins 10 replies posted First question asked

Hi Jeremy

感谢解答。

0 点赞