标签:
第六章就开始真正的实战,首先了解到了linux驱动到底是个什么东西,以及linux驱动的工作方式,linux系统将每一个驱动都映射成一个文件,保存在/dev中,再使用c语言函数ioctl向驱动的设备文件发送打印命令。编写linux驱动程序,需要接受被写入的数据,并将它们通过pc的并口、usb等端口发送给打印机,需要linux响应应用程序传过来的数据。
然后编写linux驱动程序的步骤,步骤如下:
1建立linux驱动骨架。
Module_init 和module_exit宏制定
2注册和注销设备文件
Misc_register mics_deregister
3.指定驱动相关信息
Module_author module_license module_alias module_description
4.制定回调函数
5.编写业务逻辑
6.编写makefile文件
7.编译linux驱动程序
8.安装和卸载linux驱动
然后,我们就可以真正开始我们的程序了,利用设备文件作为介质与应用程序进行交互。应用程序通过向设备文件传递一个由空格分隔的字符串,然后从设备文件读出来的是该字符串包含的单词数。在编写前首先建立存放驱动程序的目录,然后建立驱动源代码文件并编写一个makefile文件,之后进行编写骨架等一系列操作,通过书上内容可以完美编译。
最后测试驱动,可以使用的方法有:
1Ubuntu linux进行测试
2在android模拟器上通过原生c程序测试
3使用android NDK测试
4使用java代码直接操作设备文件测试
5使用S3C6410开发板测试
6将驱动编译进linux内核进行测试
最后一个小节讲述了使用Eclipse开发和测试linux驱动程序,利于深入了解内核技术。
开发步骤如下:
1.建立c工程
2建立c源代码文件链接
3设置include路径
4编译linux驱动
测试步骤如下
1导入test_word_count.c文件
2设置include路径
3建立target
4build工程
5运行测试程序
本章不仅仅介绍了一个word_count驱动示例,还介绍了如何使用不同的方法测试Linux驱动。
标签:
原文地址:http://www.cnblogs.com/jiaxing754/p/5560734.html