2016年7月7日

第九章

摘要: HAL是建立在LInux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核之上的应用层。Google为Android增加HAL的主要目的除了尽量避免应用程序直接访问Linux驱动外,患有一个重要原因,那就是保护“私人财产”。 Google为Android加入HAL主要有如 阅读全文

posted @ 2016-07-07 21:33 取名无能 阅读(90) 评论(0) 推荐(0)

第十章

摘要: 打印内核调试信息:printk printk 函数的原型如下: asmlinkage int printk(const char * fmt, ...) printk文件是一个简单的有4 个数字组成的文本文件,该文件的默认.如下: 6 4 1 7 这四个数字的含义如下: 6:将消息输出到控制台的级别 阅读全文

posted @ 2016-07-07 21:33 取名无能 阅读(94) 评论(0) 推荐(0)

第八章

摘要: 编译是由多个文件组成的Linux驱动。对于复杂的Linux 驱动,就需要使用多个源代码文件存放不同的功能代码,这样有利于代码的分类和管理。 小实验:将 3 个.c 文件分别编译成 3 个.0 文件,并将这3 个.0 文件链接生成.ko 文件。 1.编写main.c文件,以及fun.c、product 阅读全文

posted @ 2016-07-07 21:32 取名无能 阅读(106) 评论(0) 推荐(0)

2016年6月4日

第七章

摘要: 第七章 控制发光二极管。 尽管linux 驱动直接和硬件打交道,但并不是linux驱动直接向硬件中的内存写数据,而是与本机的i/o内存进行交互。所谓I/O内存是通过各种接口(PCI, USB、蓝牙以太网等)连接到主机的硬件在主机的内存映射。Linux内核提供了多个与I/O内存交互的函数。Linux内 阅读全文

posted @ 2016-06-04 22:50 取名无能 阅读(116) 评论(0) 推荐(0)

第六章

摘要: 一个编写基本的linux驱动的步骤: 1)建立linux驱动骨架(卸载或者加载驱动) Linux驱动首先在使用驱动时首先要装载驱动。在装载的过程中,需要进行一些初始化过程。例如建立设备文件、分配内存空间地址等。在linux驱动退出程序时,需要卸载驱动。在linux驱动程序中,需要两个函数来分别进行驱 阅读全文

posted @ 2016-06-04 22:49 取名无能 阅读(87) 评论(0) 推荐(0)

第五章

摘要: 第五章 搭建S3C6410开发板的测试环境 ARM构架的开发板可基于X86构架的PC 在CPU指令以及二进制格式上有所不同。 安装串口调试工具 minicon 使用OK6410开发板可以使用其他方法显示Linux驱动程序输出的调试信息。此为串口调试。 OK6410开发板自带一个串口。通过串口线与PC 阅读全文

posted @ 2016-06-04 22:47 取名无能 阅读(115) 评论(0) 推荐(0)

2016年4月27日

第四章

摘要: 第三章 源代码的下载和编译 1.下载编译和测试android源代码。 2.Android源代码中包含了很多东西,如内嵌在android系统中的应用程序(拍照、计算机、日历、相册、拨号器等)的源代码,androidSDK 带的各种工具(如adb、emulate、等)的源代码;android NDK 的 阅读全文

posted @ 2016-04-27 16:49 取名无能 阅读(94) 评论(0) 推荐(0)

第三章

摘要: 第三章 Git使用入门 一、GIT GIT是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 本章主要讲了git的部分使用方法。 我的电脑上vmware 虚 阅读全文

posted @ 2016-04-27 16:48 取名无能 阅读(127) 评论(0) 推荐(0)

第二章

摘要: 本章主要讲了在linux环境下android开发环境的配置。 1 .安装JDK 直接下载JDK的压缩包,并将其解压。然后再linux终端输入以下命令打开profile文件来设置PATH 环境变量。 #gedit /etc/profile 打开文件后,在文件的最下边输入如下内容 export PATH 阅读全文

posted @ 2016-04-27 16:13 取名无能 阅读(98) 评论(0) 推荐(0)

Android深度探索(卷1)HAL与驱动开发读书笔记 第一章

摘要: 一、Android的系统构架 1.linux内核 Android是基于linux内核,所以android和其他linux系统的内核差异小。这一层主要包括linux的驱动程序以及内存管理、进程管理、电源管理等。 2.c/c++代码库 3.Android的sdk api SDK API是由java 语言 阅读全文

posted @ 2016-04-27 16:11 取名无能 阅读(170) 评论(0) 推荐(0)

导航