英利公司推出的嵌入式Linux工控板EM9160针对一些扩展应用,实现了相应的驱动程序,包括有精简ISA总线的操作驱动、GPIO、I2C、SPI、LCD、KeyPad、CAN驱动等。这些设备的驱动程序可以在内核启动后,通过启动脚本来自动加载,但是这种方式往往不够灵活,因为在实际的应用中,客户往往会根据实际情况加以选择。
基于这种情况,我们把驱动程序模块分为两类,第一类驱动针对于嵌入式Linux工控板EM9160直接引出的接口,如ISA总线、GPIO、LCD、I2C、SPI等,则直接通过内核启动脚本来实现自动载入。第二类针对于利用ISA总线进行的扩展应用驱动,如:Keypad 、CAN应用等,对于这类驱动在内核启动时并没有自行载入,需要客户可根据实际情况进行选择。本文将着重介绍如何在应用程序中实现自动载入第二类驱动模块的方法。
英利所提供的嵌入式Linux工控板的所有驱动库文件均放置在文件系统/lib/modules/2.6.30目录下。
系统内核自动载入驱动功能模块:
/lib/modules/2.6.30/em9x60_sysinfo.ko
/lib/modules/2.6.30/em9x60_isa.ko
/lib/modules/2.6.30/em9x60_gpio.ko
/lib/modules/2.6.30/em9x60_irq.ko
/lib/modules/2.6.30/em9x60_pwm.ko
/lib/modules/2.6.30/em9x60_i2c.ko
/lib/modules/2.6.30/em9x60_lcd.ko
需要客户自行入载驱动功能模块:
/lib/modules/2.6.30/em9x60_keypad.ko
/lib/modules/2.6.30/em9x60_can.ko
在嵌入式Linux操作系统下,一般是利用insmod指令来实现向系统内核载入模块,如载入键盘驱动:
# insmod /lib/modules/2.6.30/em9x60_keypad
在嵌入式应用中,往往是需要自动运行模式,这就需要通过编程来实现。因此在应用编程代码中,利用C++中的构造函数以及析构函数可以很好地实现驱动功能模块的自动载入和自动卸载,下面是以键盘为例来加以说明。
定义一个class KEYManager键盘管理类,在该类中主要实现对键盘的响应功能。
其构造函数:
KEYManager::KEYManager( )
{
m_ExitThreadFlag = 0;
system( 'insmod /lib/modules/2.6.30/em9x60_keypad.ko' ); // 载入键盘驱动模块
}
对应的析构函数:
KEYManager::~KEYManager( )
{
system( 'rmmod em9x60_key' ); // 卸载键盘驱动模块
}
应用程序中,一旦定义了class KEYManager的实例就实现了键盘模块的自动载入。后续就可打开键盘设备文件,读取键码值,从而实现对键盘响应的功能。
在英利公司所提供的嵌入式Linux开发光盘上均有以上介绍的相关源码提供,以供客户参考。
来源:http://www.emlinix.com/jishu-blog/zhishi2010145.html
分享到:
相关推荐
这样的代码不应该需要太多积分,但时间久了积分上去了,特意来减少所需积分,希望大家喜欢。...嵌入式开发框架之模块化代码实现 仿linux设备驱动框架编写 linux模块化编程 代码开发框架 linux驱动学习
嵌入式Linux应用程序开发详解-第11章(嵌入式Linux设备驱动开发).pdf 嵌入式Linux应用程序开发详解-第12章(Qt图形编程).pdf 由于包比较大,采用.tar.bz2类型的压缩.压缩包绝对没有问题,我自己曾经下来解压.由于没有...
嵌入式Linux应用程序开发详解(完整版).pdf
《嵌入式Linux应用程序开发详解》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux的安装过程、基本操作命令讲起,为Linux初学者能快速入门提供了保证。接着系统...
嵌入式linux应用程序开发期末考试题库及答案.doc
华清远见 经典资料 “黑色经典”之嵌入式Linux应用程序开发详解 很好的嵌入式Linux应用程序入门材料 值得下载 资源共享 一点都不贵 呵呵~~~~~~~~~~~
一步一步教你开发嵌入式linux应用程序,非常适合初学者学习
嵌入式Linux应用程序开发标准教程 配套视频教程,原版光盘
嵌入式Linux应用程序开发教程 第二版,完整版,充分讲叙了linux的基础命令,C编程基础,文件IO,进程控制及通信,多线程及驱动,QT开发
嵌入式Linux应用程序开发标准教程PPT嵌入式Linux应用程序开发标准教程PPT嵌入式Linux应用程序开发标准教程PPT嵌入式Linux应用程序开发标准教程PPT嵌入式Linux应用程序开发标准教程PPT
1.1 嵌入式Linux基础 1.2 Linux安装 1.3 Linux文件及文件系统 1.4 实验内容——安装Linux操作系统 本章小结 思考与练习 第2章 Linux基础命令 2.1 Linux常用操作命令 2.2 Linux启动过程详解 2.3 ...
《嵌入式Linux应用程序开发标准教程》(第2版全) doc文档,真正高清 附源代码
嵌入式Linux应用程序开发标准教程》(第2版)配套PPT
接着系统地讲解了嵌入式Linux的环境搭建,以及嵌入式Linux的I/O与文件系统的开发、进程控制开发、进程间通信开发、网络应用开发、基于中断的开发、设备驱动程序的开发以及嵌入式图形界面的开发等,并且还安排了丰富...
《嵌入式Linux应用程序开发标准教程》(第2版)-第10章、嵌入式Linux.pdf
嵌入式Linux应用程序开发详解-第11章(嵌入式Linux设备驱动开发).pdf 嵌入式Linux应用程序开发详解-第12章(Qt图形编程).pdf 嵌入式Linux应用程序开发详解-第2 章 Linux 基础命令.pdf 嵌入式Linux应用程序开发详解...
《嵌入式Linux应用程序开发标准教程》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux基础、基本操作命令讲起,为Linux初学者能快速入门提供了保证。接着系统地...