watchdog 分析

本文详细探讨了针对s3c2410处理器的watchdog(看门狗)Linux驱动程序的工作原理和实现细节,涵盖了驱动的初始化、定时器管理和中断处理等方面的内容。
摘要由CSDN通过智能技术生成

本文分析s3c2410-s3c watchdog linux驱动。

如图, S3C2440的Watchdog模块提供了三个寄存器来对Watchdog进行操作,他们分别是:定时器控制寄存器WTCON、定时器数据寄存器WTDAT和定时器计数寄存器WTCNT。注意:在对定时器数据寄存器WTDAT进行操作时必须在定时器控制寄存器WTCON使能之前写入一个计数目标值,当Watchdog使能开启后,WTDAT中的值会自动被加载到计数寄存器WTCNT中,然后Watchdog从CPU内部的时钟分频和时钟除数因子得到一个工作周期,当每个周期结束时计数寄存器WTCNT中的值会一直到递减为零时,如果还不重新往WTCNT中写入新的计数目标值(即“喂狗”),则Watchdog就产生复位信号使系统复位
 通过platform总线注册watchhdog设备
struct platform_device s3c_device_wdt = {
	.name		= "s3c2410-wdt",
	.id		= -1,
	.num_resources	= ARRAY_SIZE(s3c_wdt_resource),
	.resource	= s3c_wdt_resource,
};
s3c2410wdt_probe() // platform 总线探测
	-> platform_get_resource() // 获取设备资源
	-> clk_get() // 获得soc内部watchdog模块时钟
	-> clk_enable() // 开启时钟
	-> if (s3c2410wdt_set_heartbeat(&a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值