2024年5月4日发(作者:)

【WinCE驱动】基于S3C2440A芯片的看门狗驱动

【引子】

小弟日前正在开发一个仪器项目,核心芯片采用三星公司的S3C2440A,操作系统移

植的是微软公司的WinCE5.0。在实际调试中发现,系统由于受到强干扰而经常死机,虽

然后来在硬件上增加了屏蔽等措施,效果已经很好,但这个问题仍引起了我的重视,因此

我打算采用看门狗来增强系统最终的可靠性。然而,现有的开发包(BSP)并没有看门狗

驱动,只能自己动手写了。经过两个白昼的努力,终于搞定,现将这个看门狗驱动整理出

来,以免以后忘记了,毕竟“好记性不如烂笔头”。

【步骤】

WinCE下的驱动,一般分为本机驱动(Native Driver)和流驱动(Stream Driver)

两种。对于我们的应用,大多数都可以归结到流驱动,而我的看门狗驱动正是按照流驱动

格式来编写的。基本思路就是利用S3C2440A的定时器1来产生中断,然后在中断程序中

完成“喂狗”这一动作,从而实现看门狗功能。

首先,在Drivers目录下建立一个子目录watchdog,然后建立4个文件:makefile、

source、、wdg.c。

【makefile】文件内容如下(就一句):

!INCLUDE $(_MAKEENVROOT)

【source】文件内容如下:

RELEASETYPE=PLATFORM

TARGETNAME=wdg

TARGETTYPE=DYNLINK

TARGETLIBS=$(_COMMONSDKROOT)lib$(_CPUINDPATH)

DLLENTRY=DllEntry

DEFFILE=

SOURCES =

wdg.c

【】文件内容如下:

LIBRARY wdg

EXPORTS

wdg_Init

wdg_Deinit