摘要: 这一章主要讲的是嵌入式linux的调试技术 对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试,例如,设置断点、逐步跟踪代码、输出调试信息等。Printk函数运行在内核空间,printf函数运行在用户空间。 Printk函数用法与printf函数类似,只不过printk函数运行在 阅读全文
posted @ 2016-07-04 16:14 1306杨文俊 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 这一章主要讲的是硬件抽象层:HAL HAL ( Hardware Abstraction Layer,硬件抽象层 )是建立在Linux 驱动之上的一套程序库。这套程序库并不属于Linux 内核, 而是属于Linux 内核层之上的应用层。 Google为android加入hal主要目的如下: 1、统一 阅读全文
posted @ 2016-07-04 16:11 1306杨文俊 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 第八章主要讲的实例是蜂鸣器驱动程序,蜂鸣器是S3C6410开发板上自带的一个硬件设备。 这一章讲了linux驱动的代码重用,代码重用分为静态重用和动态重用,将要重用的代码放在头文件中声明,这种是静态重用,linux驱动可以使用另一个linux驱动中的资源,这是动态重用。 还有一种代码共享的方式:模块 阅读全文
posted @ 2016-06-03 11:08 1306杨文俊 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 第六章主要讲的是第一个linux驱动程序:统计单词个数。 从这章开始进入了实战阶段,这一章首先介绍了linux驱动的工作方式,linux将每一个驱动都映射成一个文件,这些文件被称为设备文件或驱动文件,都保存在/dev目录中,使得linux驱动交互就像是普通文件交互一样。 编写linux驱动程序的步骤 阅读全文
posted @ 2016-06-03 11:07 1306杨文俊 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 第七章主要讲的是控制发光二极管的驱动程序,用来控制开发板上的4个led灯。 首先讲了led驱动的实现原理,linux驱动并不是直接向硬件的内存中写数据,而是与本机的i/o内存进行交互,每一个连接linux的硬件在i/o内存中都会有映射首地址。 编写驱动程序,先创建led驱动的设备文件: 1.使用cd 阅读全文
posted @ 2016-06-03 11:07 1306杨文俊 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 第五章主要讲的内容是搭建S3C6410开发板的测试环境,因为开发板是开发和学习嵌入式必不可少的硬件设备,这本书用的是基于S3C6410 ARM11处理器的飞凌6410开发板。 使用OK6410开发板可以通过串口通信显示linux驱动程序输出的调试信息,linux在输出调试信息的时候会通过串口线将调试 阅读全文
posted @ 2016-06-03 11:06 1306杨文俊 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 第四章主要讲的内容是源代码的下载和编译:从文中了解到了android源代码包含了许多的东西,包括android应用程序的代码,android SDK自带的工具,android NDK的源代码等等,所以单从数量上来讲,android源代码就是很复杂的了。在下载源代码之前必须在linux终端执行命令来配 阅读全文
posted @ 2016-04-28 10:04 1306杨文俊 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 第三章主要讲的内容是Git使用入门:文章首先说明了linux上下载源代码来编译安装软件,我明白了为什么要直接下载源代码,是因为要减小软件的安装包大小,然后文章引出了源代码管理的工具,我这才明白什么是git以及它的作用,git拥有非凡的性能和优秀的存储能力,是同类软件中各方面都很优秀的源代码管理软件。 阅读全文
posted @ 2016-04-28 10:03 1306杨文俊 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 第二章主要讲的内容是搭建Android底层开发环境:其中包括Android应用程序开发环境、Android NDK开发环境和交叉编译环境的搭建。由于android基于linux内核,所以搭建环境需要使用linux作为开发linux驱动的平台。它的底层开发需要的工具包含众多的程序和库,同时也需要编An 阅读全文
posted @ 2016-04-28 10:02 1306杨文俊 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 第一章主要讲的内容是Android系统移植与驱动开放概述:android的系统架构分为4层,第一层:linux内核,第二层:c/c++代码库,第三层:android SDK API,第四层:应用程序。学习Android驱动开发,其实就是学习linux的驱动开发,因为Android是基于linux内核 阅读全文
posted @ 2016-04-28 10:02 1306杨文俊 阅读(95) 评论(0) 推荐(0) 编辑