标签:
《Android深度探索》第六章讲的是第一个Linux驱动程序:统计单词个数。1.编写Linux驱动程序的步骤:第1步:建立Linux驱动骨架(装载和卸载Linux驱动),这两个函数分别用module_init和module_exit宏指定;第2步:注册和注销设备文件分别使用misc_register和misc_deresiger函数创建和移除设备文件;第3步:指定与驱动相关的信息,通过MODULE_AUTHOR、MODULE_LICENSE、MODULE_ALIAS、MODULE_DESCRIPTION等宏可以指定与驱动相关的信息;第4步:指定回调函数,一个驱动程序不一定要指定所有的回调函数,回到函数会通过相关机制进行注册;第5步:编写业务逻辑;第6步:编写Makefile文件;第7步:编译Linux驱动程序;第8步:安装和卸载Linux驱动。2.测试Linux驱动方式:使用Ubuntu Linux测试Linux驱动、使用Android NDK测试Linux驱动、使用Java代码直接操作设备文件来测试Linux驱动、使用S3C6410开发板上运行可执行程序测试Linux驱动、将驱动编译进内核进行测试。3.在Eclipse中开发Linux驱动程序:第1步:建立C工程;第2步:建立C源代码文件链接;第3步:设置include路径;第4步:编译Linux驱动。4.在Eclipse中测试Linux驱动:第1步:导入test_word_count.c文件;第2步:设置include路径;第3步:建立Target;第4步:Build工程;第5步:运行测试程序。
通过对第六章的学习,我知道了Linux系统将每一个驱动都映射成一个文件。这些文件称为设备文件或驱动文件,都保存在/dev目录中。这种设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易。当然,也比访问Linux API更容易。由于大多数Linux驱动都有与其对应的设备文件,因此与Linux驱动交换数据就变成了与设备文件交换数据。编写Linux驱动最重要的一步就是编写回调函数,否则与设备文件交互的数据将无法得到处理。可以直接使用Ubuntu Linux测试Linux驱动,有很多驱动只要再利用相应的Linux内核编译一遍,就可以直接安装在Android、Linux等嵌入式系统中。当然,也可以在Android模拟器、开发板甚至手机上测试Linux驱动。为了更快地开发Linux驱动,也可以考虑采用Eclipse集成开发环境。
标签:
原文地址:http://www.cnblogs.com/zi-qing/p/5560558.html