Mini2440之linux驱动移植-LED字符设备驱动

我们在linux驱动基础概念这一节中粗略介绍了linux驱动的概念,以及应用程序是如何调用驱动程序的。

这一节我们将一点亮LED为例来介绍字符设备驱动的编写。

一、LED硬件

1.1 硬件接线

查看Mini2440原理图、S3C2440数据手册,了解如何点亮LED。在Mini2440裸机开发之点亮LED中我们已经介绍了Mini2440 LED1~LED4的接线方式,以及寄存器的设置,这里简单说一一下,就不具体介绍了:

  • LED1~LED4对应引脚GPB5~GPB8,以点亮LED1为例;
  • 配置控制寄存器GPBCON(0x56000010)的bit[11:10]=01,使GPB5引脚为输出模式;
  • 配置数据寄存器GPBDAT(0x56000014)的bit5=0,使GPB5引脚输出低电平;

二、字符设备驱动框架

2.1 编写led_open、led_read函数

在内核中找到相近的驱动程序,以它为模板进行开发,设计所要实现的操作,比如 open、close、read、write 等函数;

2.2 注册LED驱动程序

 实现驱动程序的初始化:比如向内核注册这个驱动程序,这样应用程序传入文件名时,内核才能找到相应的驱动程序;

2.3 编译驱动到内核

2.4 测试驱动程序

参考文章

[1]二、Linux驱动之简单编写字符设备

[2]07-S3C2440驱动学习(一)嵌入式linux字符设备驱动-LED字符设备驱动 

上一篇:Java基础中 % 运算的本质


下一篇:Puppeteer 不重启如何更换代理 IP