摘要: 一、打印内核调试信息:printk Printk函数用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间,printk函数在printk.c文件中实现。 Printk函数的原型如下:asmlinkage int printk(const char *fmt 阅读全文
posted @ 2016-07-08 10:43 fenjingit 阅读(261) 评论(0) 推荐(0) 编辑
摘要: HAL,全称为Hardware Abstract Layer,即硬件抽象层,它是建立在Linux驱动之上的一套程序库,程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。为Android增加HAL的目的除了尽量避免应用程序直接访问Linux驱动外,还会保护私人财产。 一、在Andro 阅读全文
posted @ 2016-07-08 10:30 fenjingit 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 一、Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数、变量、宏等) 1、编译是由多个文件组成的Linux驱动,即静态重用 对于复杂的Linux驱动,需要使用多个源代码文件存放不同的功能代码,这样做有利于代码分类 阅读全文
posted @ 2016-07-08 10:23 fenjingit 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 在上一章中了解到驱动程序的开发步骤,并一个实列来演示如何开发一个完整的驱动。但这个驱动只是简单的演示了实现步骤。真正的驱动需要与硬件直接进行相互交互。这节完整的演示驱动程序,控制开发板上的4个led灯闪烁。在开发前我们了解下工作原理。linux驱动直接与硬件打交道,但并不是驱动直接向硬件中的内存协数 阅读全文
posted @ 2016-06-05 17:38 fenjingit 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 在第一章我们已经了解到是什么事Linux驱动,linux驱动的工作方式,linux系统将每一个驱动都映射成一个文件,保存在/dev中,再使用c语言函数ioctl向驱动的设备文件发送打印命令。 那么我们接下来要研究的是如何编写Linux驱动程序; 第一、编写Linux驱动程序步骤: 1.建立Linux 阅读全文
posted @ 2016-06-05 17:06 fenjingit 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 一、简介: 对于嵌入式驱动开发者来说,你必须要了解什么是开发板;它与我们经常用的手机类似, 包含了显示屏、 键盘、 Wi-Fi、 蓝牙等模块等,是开发者必备的硬件设备。但与手机不同的是:在开发板上安装嵌入式系统要比手机容易得多。而且一般开发 扳都有很多扩展的端口,可以很容易开发定制的硬件, 并与开发 阅读全文
posted @ 2016-06-05 16:55 fenjingit 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 之前,学习了如何使用Git,现在我们终于可以使用Git来下载自己所需的源代码了。首先我们要做的工作是配置Android源代码下载环境: 第1步:创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件一放在任何目录下,在这里使用~/bin); 第2步:下载repo脚本文件(用于下载Androi 阅读全文
posted @ 2016-04-25 11:42 fenjingit 阅读(295) 评论(0) 推荐(0) 编辑
摘要: “管理”一词,几乎在生活的方方面面都存在,而在Linux驱动开发中会涉及很多的源代码,对于数量繁多的源码,我们也应该有一个管理软件。Android和Linux内核及驱动开发的源代码基本都是由Git 来管理的。很多Linux系统已经自带了Git。如果没有,我们需要安装,安装方法:apt-get ins 阅读全文
posted @ 2016-04-25 10:58 fenjingit 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 俗话说,工欲善其事,必先利其器,对于Android驱动开发来说,首先我们要做的就是搭建Android开发环境,我们首先要配置Linux驱动的开发环境,接着还得配置开发Android应用程序以及Android NDK程序的开发环境,除此以外,还要一些辅助工具用以测试Linux驱动和调试开发板。 首先要 阅读全文
posted @ 2016-04-25 10:56 fenjingit 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧。首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构。其架构主要分4层,第一层:Linux内核;第二层:c/c++代码库;第三层:Android sdk 阅读全文
posted @ 2016-04-24 15:31 fenjingit 阅读(137) 评论(0) 推荐(0) 编辑