硬件平台:FL2440 (S3C2440)
内核版本:2.6.28
软件平台:Ubuntu 11.04
内核版本:2.6.39
交叉编译器:arm-linux-gcc 3.4.1
原创作品,转载请标明出处
1、加载看门狗驱动
insmod wdt.ko
wdt.ko为驱动文件名,不加任何参数如果不喂狗,则计数器到0时执行中断函数(设置LED的状态,然后喂狗,重新设置WTCNT的值)
可选的参数
module_param(tmr_margin, int, 0);
module_param(tmr_atboot, int, 0);
module_param(nowayout, int, 0);
module_param(soft_noboot, int, 0);
module_param(debug, int, 0);
soft_noboot设置为0时,如果不喂狗,则开发板将reset重启 insmod wdt.ko soft_noboot = 0
这样,/dev/下自动生成watchdog设备文件
随便向该文件中输入内容,启动看门狗
echo 1>/dev/watchdog
这样,可以看到开发板上的LED灯定时闪烁,看门够移植成功。
要想停止看门狗,执行
echo V > /dev/watchdog即可
关键字:ARM-Linux 驱动移植 看门狗
引用地址:
ARM-Linux驱动移植--Watch Dog Timer(看门狗)驱动移植
推荐阅读最新更新时间:2024-03-16 15:02
ATmega64 看门狗复位
看门狗定时器溢出时将产生持续时间为1 个CK 周期的复位脉冲。在脉冲的下降沿,延时 定时器开始对tTOUT 记数。请参见后文以了解看门狗定时器的具体操作过程。
[单片机]
基于看门狗芯片MAX708的数据保护系统设计
引 言 单片机的程序稳定性和运行及数据的安全性是设计者在不同的运行环境中所必须考虑的问题,而最易遇到的问题是受干扰而使CPU进入死循环,一般情况下设计者会使用软件陷阱和软件看门狗来避免此类现象的出现,对于一般的运行环境还可以,如果是连续运行或环境恶劣的状况时往往不能满足要求,这时要使用硬件看门狗来重启CPU,使程序恢复正常运行。同时,如果电源电压波动较大或断电,有些系统还要求将当前有用的数据进行保护。MAX708就是这种既有电源监控和数据保护又有看门狗作用的集成电路芯片。 1 看门狗芯片MAX708的工作原理 图1是看门狗芯片MAX708内部组成结构原理。 MAX708是一种微处理器电源监控和看门狗芯片,可同时输出高
[单片机]
ZigBee基础实验(十)--看门狗
引言:硬件中的看门狗,不是门卫的意思,而是一只很凶的狗!如果你不按时喂它,它就会让系统重启!这反而是我们想要的功能~ 1、看门狗概述 看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。因此可以用看门狗防止程序在跑飞的时候回不到正常模式。 看门狗可用于受到电气噪音、电源故障、静电放电等影响的应用,或需要高可靠性的环境。如果一个应用不需要看门狗功能,可以配置看门狗定时器为一个间隔定时器,
[单片机]
STM32f103 看门狗使用
//看门狗使用需要计算超时时间 // IAR 7.1 #ifndef __STM32_WDG_H__ #include stm32f10x.h #define LSI_FREQ 40000 void stm32_wdg_init(void); void stm32_wdg_enable(void); void stm32_wdg_feed(void); #endif #include stm32_wdg.h #include stm32f10x_iwdg.h void stm32_wdg_init(void) { /*Enables write access to IWDG_PR and IWDG_RLR regist
[单片机]
STM32系列第10篇--看门狗
看门狗的作用: 在启动正常运行的时候,系统不能复位。 在系统跑飞(程序异常执行)的情况,系统复位,程序重新执行 STM32有两个看门狗: 独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它仍有效。独立看门狗适合应用于需要看门狗作为一个在主程序之外 能够完全独立工作,并且对时间精度要求低的场合。 窗口看门狗由从APB1时钟分频后得到时钟驱动。通过可配置的时间窗口来检测应用程序非正常的过迟或过早操作。 窗口看门狗最适合那些要求看门狗在精确计时窗口起作用的程序。 看门狗一般用法: while(1) { 喂狗; if(定时标识) { 里面就是按键程序; } }12345678 计算一下,主循环执
[单片机]
ARM-Linux s3c2440 之UART分析(三)
回顾一下上文,s3c2440串口底层驱动围绕三个数据结构展开: UART特定的驱动程序结构定义:struct uart_driver s3c24xx_uart_drv; UART端口结构定义: struct uart_port s3c24xx_serial_ops; UART相关操作函数结构定义: struct uart_ops s3c24xx_serial_ops; 实现了这三个数据结构体,基本完成了驱动操作函数的实现,紧接着需要对串口设备及设备驱动进行初始化,首先是模块初始化module_init(s3c24xx_serial_modinit): static int __inits3c24xx_serial
[单片机]
STM32小白入门(第十天)-------看门狗watchdog
记得刚开始面试的时候,被面试官问了一个问题:stm32这个项目如果系统跑飞了,死机了,你是怎么处理的? 那时候没听懂他的意思,傻乎乎的回了一句,没遇到过这种情况。事后,才后悔莫及啊,他的意思不就是问我看门狗的作用吗? 然后就没有然后了,一个嵌入式工程师,如果看门狗都不知道人家是不敢用你的。 一、什么是看门狗? 看门狗是一个定时器,我们可以设置一个计数值,当看门狗启动后,计数值在一定的频率下不停的减1,当计数值减到0,看门狗会发出一个复位信号给CPU,这样会造成嵌入式系统复位。 软件系统在正常工作的过程中,需要在看门狗计数值减到0之前,给计数值重新赋值,这个看门狗就不会复位了,这个过程- “喂狗”。 当嵌入式
[单片机]
STM32待机模式唤醒测试以及独立看门狗测试
环境: 主机:WIN7 开发环境:MDK4.23 MCU:STM32F103CBT6 说明: 在上篇文章中 http://blog.csdn.net/jdh99/article/details/7369844 ,进行了一些STM32待机模式的测试.其中关于如何在再次启动时判断是否是待机模式没有进行测试.另外上篇文章有个问题,闹钟中断在待机模式下是进入不了的. 本文进行了独立看门狗IWDG测试,以及待机模式更详细的测试. STM32中,复位分为3种: 1.系统复位:外部复位,WWDG,IWDG,SW复位,低功耗管理复位.除复位标志寄存器RCC_CSR不被复位,全部都被复位 2.电源复位:上电/掉电复位,从待机模式复位.上
[单片机]