电子说
看门狗定时器(WDOG)模块是一个独立的定时器,可供系统使用。它提供了一个安全功能,以确保软件按计划执行,并且MCU不会陷入无限循环或执行非预期代码。如果WDOG模块在一定时间内未进行刷新,则会重置MCU。WDOG模块提供故障安全机制,以确保在系统故障(如MCU时钟停止或在软件代码中存在失控情况。看门狗计数器在可选择的时钟源下连续运行,并期望定期进行刷新。如果不是,则会生成复位触发事件。WDOG具有用户可访问的16位寄存器,用于配置、操作和监视看门狗定时器的状态。
在MIMXRT1176/MIMXRT1175/MIMXRT1173工业级CVM8A,汽车级AVM8A,消费级DVMAA中,都有包含双核,M7和M4内核。关于两个内核禁用看门狗是如何操作的呢?它有4个WDOG定时器,WDOG提供0.5至128秒的超时时间,时间分辨率为0.5秒。
•看门狗定时器(WDOG1、2):WDOG1和WDOG2提供了避免意外事件或编程错误的方法来防止系统故障。
•看门狗定时器(WDOG3、4):是高可靠性的独立定时器可供系统使用。WDOG3用于M7和WDOG4用于M4。
在参考手册第79.5.2节复位器件后,禁用看门狗中显示的代码片段如下。
实际上MIMXRT1176双核器件的看门狗禁用操作,用于M4内核和M7内核,所以每个内核代码都需要禁用看门狗。在几个SDK示例中(如evkmimxrt1170_erc_matrix_multiply_rpmsg_rtos_cm7),两个内核似乎以相同的方式禁用相同的看门狗WDOG1、WDOG2、WDOG3、WDGO4。system_MIMXRT1176_cm7.c和system_MIMXRT1176_cm4.c文件中的处理都是相同的,但默认是M7内核先启动,而M4 后启动的(在默认的核心启动序列中),因此,在M4内核的 SystemInit()中添加冗余代码(等待ULK和RCS位被清除)。如下是SDK 禁用看门狗代码,供参考。
SDK_2_12_1_MIMXRT1170-EVK/devices/MIMXRT1176/system_MIMXRT1176_cm7.c :
SDK_2_12_1_MIMXRT1170-EVK/devices/MIMXRT1176/system_MIMXRT1176_cm4.c :
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !