摘要: 1对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试。例如设置断点、逐步跟踪代码、输出调试信息等。 2打印内核调试信息:printk,该函数与printf用法类似,但是printk运行在内核空间,而printf运行在用户空间。 3printk文件是一个简单的有4个数字组成的文本文 阅读全文
posted @ 2016-06-24 08:49 bbbox 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 1 HAL是建立在Linux驱动上的一套程序库,并不属于Linux内核,而是属于Linux内核层上的应用层。它的目的就是保护“私人财产”,避免应用程序直接访问Linux驱动。 2在Android系统中使用Linux驱动有两种方式。一种就是通过传统的方式直接与Linux交互,如直接读取设备文件中的数据 阅读全文
posted @ 2016-06-24 08:48 bbbox 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 1可以通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。 2一个复杂的驱动不太可能将所有代码都放在一个文件中,最好将相关的代码放在相应的文件中。在编译Linux驱动时将这些文件进行联合编译。 3当开发一个Linux驱动时,如果无法使用rmmod命令正常卸载Linux驱动,就会造成无法再次安装的窘境。当 阅读全文
posted @ 2016-06-24 08:44 bbbox 阅读(760) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2016-05-23 10:25 bbbox 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 首先,学习Android系统移植与驱动开发,我们需要了解两个概念。什么是“移植”?由于Android原生的代码支持的设备并不多,因此我们想要在自己的设备上完美运行Android,就需要另外开发一些程序,使得Android可以识别相应设备中的各种硬件,这个过程被称为“移植”。在这个移植的过程中,我们必 阅读全文
posted @ 2016-04-10 11:52 bbbox 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: 本章只介绍了如何在OK6410-A开发板上安装Android。当然,我们还可以选择其他的开发板,还可以直接在手机上测试Linux驱动程序。由于不同的开发板和手机安装Android的方法不尽相同,在这里只是做个参考。 1安装串口调试工具:minicom 以Ubuntu Linux为例,需要按照如下步骤 阅读全文
posted @ 2016-05-22 11:26 bbbox 阅读(171) 评论(0) 推荐(0) 编辑
摘要: LED的完整驱动代码 #include <linux/fs.h> #include <linux/cdev.h> #include <linux/pci.h> #include <asm/uaccess.h> #include <mach/map.h> #include <mach/regs-gpi 阅读全文
posted @ 2016-05-22 11:19 bbbox 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 这一部分主要介绍了下载和编译Android源代码和Linux内核源代码,以及如何搭建这两种开发环境。 一.下载、编译和测试Android源代码 (1)配置Android源代码下载环境 1.创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件一放到任何目录中,在这里使用~/bin) #mkd 阅读全文
posted @ 2016-04-21 12:44 bbbox 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 一提到Linux、Android,大家就会不约而同地想到一个词:开源。 Linux下的软件有很多都不直接以二进制形式的安装包提供,而是直接提供了源代码。用户需要先下载源代码,然后在本机上编译并安装(一般使用make、make install等命令)。既然涉及到源代码,就需要对源代码进行管理。Git 阅读全文
posted @ 2016-04-19 17:45 bbbox 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 建议直接使用Linux作为Android的开发平台。 1.安装JDK 下载地址是http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载JDK的压缩包(tar.gz),并将其解压缩(可以解压到任何目录)。 然后配置环境 阅读全文
posted @ 2016-04-19 15:33 bbbox 阅读(538) 评论(0) 推荐(0) 编辑