2016年7月4日

摘要: 对调试工具进行简介。Linux中提供了一类工具,通过这些工具可以逐行跟踪程序的代码,用于测试用户空间程序的gdb、gdbserver和调试内核空间程序的kgdb。 用gdb调试用户空间程序:gdb可跟踪调试用户空间的程序,这些调试命令可用于gdbserver远程调试。可直接运行脚本文件编译gdb_d 阅读全文
posted @ 2016-07-04 17:13 Horatia 阅读(221) 评论(0) 推荐(0) 编辑
 

2016年7月3日

摘要: 这一章介绍HAL,全称为Hardware Abstract Layer,即硬件抽象层,它是建立在Linux驱动之上的一套程序库,程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。为Android增加HAL的目的除了尽量避免应用程序直接访问Linux驱动外,还会保护私人财产。 在An 阅读全文
posted @ 2016-07-03 23:30 Horatia 阅读(768) 评论(0) 推荐(0) 编辑
 
摘要: 蜂鸣器是开发板上的一个硬件设备,可通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。这一章我们对开发板上的蜂鸣器进行介绍。 蜂鸣器(PWM)驱动--蜂鸣器是开发板上自带的一个硬件。通过相应的寄存器控制蜂鸣器的打开和关闭,并且在实现蜂鸣器的驱动时,将打开和关闭蜂鸣器的函数放到了另外的C源代码中,通过多个 阅读全文
posted @ 2016-07-03 23:25 Horatia 阅读(332) 评论(0) 推荐(0) 编辑
 

2016年6月4日

摘要: 该Linux驱动用来控制开发板上的4个LED灯,即通过向Linux驱动发送数据可以控制LED灯的开关。LED驱动提供两种交互方式:命令和读写设备文件。 测试LED驱动之前需用USB线连接开发板,然后打开开发板。成功启动后,执行build.sh脚本文件编译和安装LED驱动。build.sh脚本文件会自 阅读全文
posted @ 2016-06-04 18:27 Horatia 阅读(517) 评论(0) 推荐(1) 编辑
 
摘要: 现在进入了实战阶段,使用统计单词个数的实例让我们了解开发和测试Linux驱动程序的完整过程。第一个Linux驱动程序是统计单词个数。 这个Linux驱动程序没有访问硬件,而是利用设备文件作为介质与应用程序交互,应用程序通过向设备文件传递一个由空格分隔的字符串,将每一个被空格隔开的子字符串看作一个单词 阅读全文
posted @ 2016-06-04 18:24 Horatia 阅读(456) 评论(0) 推荐(0) 编辑
 
摘要: 在PC上可以开发Linux驱动,重新编译成ARM架构的Linux驱动模块,但最后还是要在开发板上进行测试。目前最流行的是基于三星S3C6410 ARM11架构的开发板,很多厂商在其基础上进行了扩展,开发了扩展板。 下面对S3C6410开发板进行简单的介绍:三星S3C6410是一款低功耗、高性价比的R 阅读全文
posted @ 2016-06-04 18:20 Horatia 阅读(915) 评论(0) 推荐(0) 编辑
 

2016年4月23日

摘要: Android移植主要就是Linux内核的移植,而Linux内核的移植主要是Linux驱动的移植。为了开发和测试Linux驱动,需在Ubuntu Linux下搭建两套开发环境:Android应用程序开发环境和Linux内核开发环境。需要对源代码进行下载和编译,由于Android源代码包含了很多东西, 阅读全文
posted @ 2016-04-23 21:05 Horatia 阅读(262) 评论(0) 推荐(0) 编辑
 
摘要: 我们都知道Linux和Android是开源的。Linux下的软件很多都不直接以二进制形式的安装包提供,而是直接提供了源代码,为了减少发行包的大小,用户须先下载源代码,在本机上编译并安装,使用make、make install命令。在提供源代码的软件中,很多是与内核紧密相关的驱动及其他底层程序。使用G 阅读全文
posted @ 2016-04-23 20:39 Horatia 阅读(168) 评论(0) 推荐(0) 编辑
 
摘要: 这一章为我们讲解了如何搭建Android开发环境。 首先要了解的是Android底层开发需要哪些工具:搭建android应用程序开发环境、android NDK开发环境和交叉编译环境,前两个用来测试Linux驱动、HAL程序库等底层的程序。映像文件可用来测试例子。 android底层开发:用来配置L 阅读全文
posted @ 2016-04-23 20:11 Horatia 阅读(170) 评论(0) 推荐(0) 编辑
 
摘要: 本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容。 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程。自己开发一些程序(移植)装载在设备上,使得Android系统可以识别设备中的蓝牙,WiFi等,这样就可以使用这些功能了。这些程序大多是支持各种硬件设备的 阅读全文
posted @ 2016-04-23 19:33 Horatia 阅读(213) 评论(0) 推荐(0) 编辑