英利公司推出的嵌入式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应用程序,由14个pdf文件组成: arm体系结构 目录 第一章-LinuxBasic 第二章t-LinuxApp02-LinuxCommand 第三章-LinuxApp03-C 第四章-LinuxApp04-EmbededSystem 第五章-LinuxApp05-...
嵌入式 Linux 应用程序调试方法 嵌入式 Linux 应用程序调试方法是一份详细的调试指南,涵盖了嵌入式 Linux 的 NFS 开发环境的建立、GDB 调试应用程序、内存工具、C/C++ 代码覆盖、性能 profiling 工具等方面的知识...
这样的代码不应该需要太多积分,但时间久了积分上去了,特意来减少所需积分,希望大家喜欢。...嵌入式开发框架之模块化代码实现 仿linux设备驱动框架编写 linux模块化编程 代码开发框架 linux驱动学习
嵌入式linux应用程序开发期末考试题库及答案.doc
嵌入式Linux应用程序开发是IT领域中的一个重要分支,它涉及到硬件、操作系统以及软件设计等多个方面。本教程聚焦于如何在嵌入式系统中利用Linux进行高效的应用程序开发,旨在为学习者提供一套全面且深入的标准教程。...
嵌入式Linux应用程序开发教程 第二版,完整版,充分讲叙了linux的基础命令,C编程基础,文件IO,进程控制及通信,多线程及驱动,QT开发
《嵌入式Linux应用程序开发标准教程(第二版)》是华清远见教育集团推出的一本经典教材,专门针对想要深入理解和实践嵌入式Linux应用程序开发的读者。这本教材凝聚了业界权威培训机构多年的经验和智慧,旨在帮助学习...
《嵌入式Linux应用程序开发标准教程》第二版全集,是一部深入探讨嵌入式系统开发的权威教程。这本书涵盖了从基础到高级的多个关键领域,包括Linux操作系统原理、C编程、进程控制、多线程编程、进程间通信、网络编程...
《嵌入式Linux应用程序开发标准教程》第二版是一本深入探讨在嵌入式系统中如何进行Linux应用程序开发的专业书籍。其配套的PPT资源旨在帮助读者更直观、更有效地理解和学习书中的理论知识与实践技能。以下是根据PPT...
《嵌入式Linux应用程序开发标准教程(第2版)》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux基础、基本操作命令讲起,为Linux初学者能快速入门提供了保证。...
《嵌入式Linux应用程序开发标准教程》(第2版)-第10章、嵌入式Linux.pdf
嵌入式Linux应用程序开发标准教程PPT嵌入式Linux应用程序开发标准教程PPT嵌入式Linux应用程序开发标准教程PPT嵌入式Linux应用程序开发标准教程PPT嵌入式Linux应用程序开发标准教程PPT
通过这些章节的学习,读者将能够全面掌握嵌入式Linux应用程序开发的各个方面,从底层硬件驱动到上层应用,从基础编程到高级网络和GUI设计,具备在各种嵌入式平台上进行高效开发的能力。这是一本对于希望在嵌入式领域...
1.1 嵌入式Linux基础 1.2 Linux安装 1.3 Linux文件及文件系统 1.4 实验内容——安装Linux操作系统 本章小结 思考与练习 第2章 Linux基础命令 2.1 Linux常用操作命令 2.2 Linux启动过程详解 2.3 ...
本文主要讲述了嵌入式Linux设备驱动程序的概念、通用模块和具体开发流程,进一步通过实例论述了如何设计和编写模块化的嵌入式Linux设备驱动程序,以及解释驱动程序的关键代码。 一、嵌入式Linux设备驱动程序的概念 ...
《嵌入式Linux应用程序开发标准教程》是华清远见所提供的专业嵌入式Linux开发培训教材,全书共分为12章,系统全面地讲述了嵌入式Linux应用程序的开发流程和技巧,适合对嵌入式Linux开发感兴趣的读者进行学习和参考。...
嵌入式Linux应用程序开发详解-第11章(嵌入式Linux设备驱动开发).pdf 嵌入式Linux应用程序开发详解-第12章(Qt图形编程).pdf 嵌入式Linux应用程序开发详解-第2 章 Linux 基础命令.pdf 嵌入式Linux应用程序开发详解...