这次弄一个复杂一点的驱动测试,暂且认为是LED驱动吧!应用程序借用驱动程序控制4个LED灯亮灭。
对于驱动程序的编写,首先是构建框架,打通LED与应用程序之间的关系。本文在《字符设备驱动之"Hello, World!"》的基础上捣鼓,框架已经有了。然后便是完善对硬件的操作。
具体下文细细道来。
此LED驱动程序首先能够实现的功能是:调用应用程序app_test1,能够实现LED灯亮灭控制。譬如在终端输入“app_test1 on”,灯亮;输入“app_test1 off”,灯灭。
对于完善硬件的操作,首先阅读原理图和S3C2440 datasheet,然后编写代码。
通过原理图,可以知道开发板四个控制LED的IO口,如下:
然后阅读S3C2440 datasheet,相关GPIO控制寄存器信息如下:</