1.一种具备防攻击能力嵌入式linux设备看门狗喂狗方法,其特征在于,包括:
初始化看门狗硬件电路,获取看门狗溢出时间,并屏蔽驱动代码中的函数接口;
获取计数变量和第一时间间隔,并根据所述第一时间间隔进行周期性的喂狗操作;
根据所述第一时间间隔,向应用程序发出是否喂狗命令;
判断在设定的第二时间间隔内是否收到所述应用程序回复的喂狗确认命令;
超过所述看门狗溢出时间后,看门狗复位,重启系统。
2.如权利要求1所述的一种具备防攻击能力嵌入式linux设备看门狗喂狗方法,其特征在于,所述初始化看门狗硬件电路,获取看门狗溢出时间,并屏蔽驱动代码中的函数接口,包括:
利用linux内核层初始化看门狗硬件电路,并得到看门狗的溢出时间,并同时通过所述linux内核层屏蔽驱动代码中由应用程序间接调用的函数接口。
3.如权利要求2所述的一种具备防攻击能力嵌入式linux设备看门狗喂狗方法,其特征在于,所述获取计数变量和第一时间间隔,并根据所述第一时间间隔进行周期性的喂狗操作,包括:
启动内核定时器,并设定所述定时器周期为第一时间间隔,利用获取的第一时间间隔周期性地对所述看门狗硬件电路进行喂狗操作,并将获取的计数变量初始化为零。
4.如权利要求3所述的一种具备防攻击能力嵌入式linux设备看门狗喂狗方法,其特征在于,根据所述第一时间间隔,向应用程序发出是否喂狗命令,包括:
在每个所述第一时间间隔的周期内,向应用程序发出询问是否喂狗的命令,并同时将所述计数变量的值增加一个计数,并喂狗一次。
5.如权利要求4所述的一种具备防攻击能力嵌入式linux设备看门狗喂狗方法,其特征在于,所述判断在设定的第二时间间隔内是否收到所述应用程序回复的喂狗确认命令,包括:
若在设定的第二时间间隔内,所述linux内核层接收到所述应用程序回复的喂狗确认命令,则将所述计数变量的值清零;
若在设定的第二时间间隔内,所述linux内核层未接收到所述应用程序回复的喂狗确认命令,则将所述计数变量值与设定超时次数进行比较。
6.如权利要求5所述的一种具备防攻击能力嵌入式linux设备看门狗喂狗方法,其特征在于,将所述计数变量值与设定超时次数进行比较,包括:
若所述计数变量的值未超过设定超时次数,则由所述linux内核层重新向应用程序发出是否喂狗命令;
若所述计数变量的值超过设定超时次数,则停止喂狗操作。
7.一种具备防攻击能力嵌入式linux设备看门狗喂狗驱动模块,其特征在于,所述具备防攻击能力嵌入式linux设备看门狗喂狗驱动模块包括初始化模块、喂狗子模块、询问是否喂狗子模块、喂狗确认命令接收子模块、喂狗确认命令检测子模块和执行子模块,所述初始化模块、所述喂狗子模块、所述询问是否喂狗子模块、所述喂狗确认命令接收子模块、所述喂狗确认命令检测子模块和所述执行子模块依次电性连接,
所述初始化模块,用于初始化看门狗硬件电路,获取看门狗溢出时间,屏蔽驱动代码中由应用程序间接调用的函数接口;
所述喂狗子模块,用于按照获取的第一时间间隔周期性地进行喂狗操作,同时对获取的计数变量增加一个计数;
所述询问是否喂狗子模块,用于向应用程序按照所述第一时间间隔周期性地发送询问是否喂狗的命令;
所述喂狗确认命令接收子模块,用于接收所述应用程序针对询问是否喂狗命令的回复确认指令;
所述喂狗确认命令检测子模块,用于检测所述喂狗确认命令接收子模块是否在第二时间间隔内收到应用程序返回的确认命令;
所述执行子模块,根据所述喂狗确认命令检测子模块的检测结果控制喂狗子模块是否继续进行喂狗操作。