代码改变世界

第十章

2016-07-08 10:30 by 1010101010, 90 阅读, 0 推荐, 收藏, 编辑
摘要:对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试。例如,设置断点,逐步跟踪代码、输出调试信息等。打印内核调试信息:printk,printk 函数的用法与printf 函数类似,只不过printk函数运行在内核空间, printf函数运行在用户空间。也就是说,像Linux 驱 阅读全文

第九章

2016-07-08 10:21 by 1010101010, 227 阅读, 0 推荐, 收藏, 编辑
摘要:HAL(硬件抽象层)是建立在Linux驱动之上的一套主程序,这套主程序并不属于Linux内核,而是属于Linux内核层之上的应用层。在Android中加入HAL的原因是:Linux系统中Linux驱动有两种类型的代码,访问硬件寄存器的代码——调用的Linux内核的标准函数进行的标准操作;业务逻辑代码 阅读全文

第八章

2016-07-08 10:03 by 1010101010, 101 阅读, 0 推荐, 收藏, 编辑
摘要:蜂鸣器是开发板上的一个硬件设备,可通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。蜂鸣器驱动的原理:蜂鸣器也称为PWM-脉冲宽度调制,基本原理是通过脉冲来控制蜂鸣器的打开和停止。PWM使用端口F的GPFCON寄存器进行控制。该寄存器在Linux内核中对应的宏是S3C64XX_GPFCON,表示GPF 阅读全文

第七章

2016-06-05 20:10 by 1010101010, 131 阅读, 0 推荐, 收藏, 编辑
摘要:前面了解到了开发Linux驱动程序的步骤,也做了一个小的实例,现在要更进一步了,让LED等发亮。 首先来介绍一下LED发亮的实现原理:虽然linux驱动直接与硬件打交道,但并不是linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互。Linux内核的内存管理模块负责同步I/O内存与硬 阅读全文

第六章

2016-06-05 19:57 by 1010101010, 137 阅读, 0 推荐, 收藏, 编辑
摘要:接下来就要进入Android底层开发入门的阶段了,在学习Linux驱动之前先来介绍一下Linux驱动的工作方式,Linux系统将每个驱动都映射成一个文件。这些文件称为设备文件或驱动文件,都保存在/dev目录中。这种设计理念使得与Linux驱动进行交互就向与普通文件进行交互一样容易。大多数Linux驱 阅读全文

第五章的体会

2016-06-05 19:31 by 1010101010, 119 阅读, 0 推荐, 收藏, 编辑
摘要:目前市面上的开发板型号和种类很多,但目前最流行的是基于三星S3C6410 ARM11架构的开发板。国内很多厂商在S3C6410 ARM11架构的开发板的基础上进行了扩展,开发了扩展板,现在主要来说OK6410-A开发板 S3C6410是由三星公司推出的一款低功耗、高性价比的RISC处理器,它基于AR 阅读全文

这是第四章

2016-04-25 10:25 by 1010101010, 121 阅读, 0 推荐, 收藏, 编辑
摘要:这一章就开始源代码之旅了,介绍了如何下载和编译Android源代码和Linux内核源代码。 Android源代码 在下载Android源代码之前要先配置下载环境,1.创建一个用于存放下载的脚本文件(repo)的目录。2.下载repo脚本文件。3.创建用于存放源代码的目录。4.初始化。5.开始下载源代 阅读全文

第三章的体会

2016-04-25 09:13 by 1010101010, 129 阅读, 0 推荐, 收藏, 编辑
摘要:Git是用来管理源代码的,很多Linux系统已经带了Git,在Linux下可以直接使用man命令查看指定命令的帮助文档 #man git-checkout。这一章介绍了Git的基本用法,源代码的提交于获取。 1.创建版本库 git init 先使用git init在本地创建一个空的版本库,执行命令 阅读全文

第二章的体会

2016-04-24 22:22 by 1010101010, 135 阅读, 0 推荐, 收藏, 编辑
摘要:这一章的内容是如何搭建Android底层开发的环境,主要包括Android应用程序开发环境、Android NDK开发环境和交叉编译环境的搭建。 开发、测试和调试Linux驱动、HAL程序库需要的一些工具:JDK6或以上版本;Eclipse3.4或以上版本;ADT(用于开发Android应用程序), 阅读全文

Android深度探索第一章的一点体验

2016-04-24 19:26 by 1010101010, 108 阅读, 0 推荐, 收藏, 编辑
摘要:Android是当今智能手机操作系统的主流,这取决于任何人都可以免费利用Andorid的源代码定制嵌入式系统。而它支持的设备并不多,所以就要移植。本书第一章主要介绍了关于Android系统移植和驱动开发的相关内容。 Android系统构架主要包括四个层次,从下而上为:Linux内核,C/C++代码库 阅读全文