这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 行业应用 » 汽车电子 » 【S32K3XX】SWT 模块使用

共1条 1/1 1 跳转至

【S32K3XX】SWT 模块使用

高工
2026-03-12 18:09:28     打赏

【简介】

在 S32K 中,看门狗通常具备这些特点:

1. 可配置超时时间,决定多久未喂狗就判定异常。

2.支持窗口模式,只允许在指定时间窗口内喂狗。

3.可选择先中断再复位,或直接复位系统。

芯片内的的SWT 数量是根据核心数来绑定的,芯片设计的时候为每个core 配置了独立的看看门狗。,从下属的描述也可以看出看出看门狗的时钟源为内部SIRC

image.png

在S32D 置界面添加Swt_Ip 就可以将SWT 的驱动文件加入工程之中。

image.png

对应的参数说明如下

image.png

生成代码后对应的驱动文件已经被添加到工程之中了。

image.png


添加如下代码初始化SW0,我们配置在中断中喂狗避免重启。

/*==================================================================================================
*                                       LOCAL VARIABLES
*================================================================================================*/
static uint8_t swt_feed_flag = 1U;

/*==================================================================================================
*                          LOCAL TYPEDEFS (STRUCTURES, UNIONS, ENUMS)
*================================================================================================*/

/*==================================================================================================
*                                   LOCAL FUNCTION PROTOTYPES
*================================================================================================*/

/*==================================================================================================
*                                       GLOBAL VARIABLES
*================================================================================================*/

/*==================================================================================================
*                                       GLOBAL CONSTANTS
*================================================================================================*/

/*==================================================================================================
*                                       GLOBAL FUNCTIONS
*================================================================================================*/
void Swt_CallbackNotification0(void)
{
if(swt_feed_flag)
{
Swt_Ip_Service(CFG_SWT_ID);
}
}
/********************************************************************************************************
 *                                      Shell command define                                            *
 *******************************************************************************************************/

unsigned int swt(char argc, char **argv)
{
    if(argc == 2 && strcmp(argv[1], "init") == 0)
    {
        Swt_Ip_Init(CFG_SWT_ID,&Swt_Ip_Cfg0);
    }
    else if(argc == 2 && strcmp(argv[1], "nofeed") == 0)
    {
        swt_feed_flag = 0U;
    }
    else
    {
        PRINTF("Invalid command. Usage: swt init|nofeed\n");
    }
    return 0;
}

上述测试程序 触发停止喂狗后看门狗进行了复位

image.png


   


           


共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]