摘要: 第一章 Android系统移植与驱动开发 Android源代码定制完全属于自己的嵌入式系统,但是支持的设备不多,所以要移植,而在移植的过程中使用的不得不提的是驱动开发。 Android系统构架主要包括四个层次:Linux内核,C/C++代码库,Android SDK API,应用程序。在第一层Lin 阅读全文
posted @ 2016-04-22 17:04 滴答嘟嘟hello 阅读(808) 评论(0) 推荐(1) 编辑
摘要: HAL是建立在Linux驱动之上的的程序库,他是一个应用层,它的作用保护内部私有。有一种是位于Android层次的系统运行库层,Linux中只保留与寄存器相互的代码,通过HAL进行数据的传递。 为Android加入HAL的主要目的是: 统一硬件的调用接口。 解决GPL版权问题。 资源等特殊要求。 这 阅读全文
posted @ 2016-06-21 19:29 滴答嘟嘟hello 阅读(310) 评论(0) 推荐(0) 编辑
摘要: Linux代码的重用: 在头文件中加载即可使用到原来所有的功能,还有动态方式就是一个驱动使用另一个驱动的资源。 对于像蜂鸣器这样的实验,它的内部文件有很多,所有要有很多的源代码以用于妥善管理。 有多个文件的话,module-y指定所有的文件,然后将会生成一个build.sh脚本,使用sh执行,使用d 阅读全文
posted @ 2016-06-21 17:44 滴答嘟嘟hello 阅读(2071) 评论(0) 推荐(0) 编辑
摘要: LED驱动的实现原理 编写LED驱动: 测试LED驱动之前需要用USB数据线连接开发板,然后打开电源,成功启动之后,执行build.sh脚本文件编译和安装LED驱动,顺利则会自动连接 如果有多个设备文件将会在后来使用,则要通过指针变量cdev.list.prev和cdev.list.next指针变量 阅读全文
posted @ 2016-05-24 11:22 滴答嘟嘟hello 阅读(1004) 评论(0) 推荐(0) 编辑
摘要: Linux驱动的工作方式就是交互。例如向Linux打印机驱动发送一个打印命令,可以直接使用C语言函数open打开设备文件,在使用C语言函数ioctl向该驱动的设备文件发送打印命令。编写Linux驱动最重要的是编写回调函数,否则与设备文件交互的数据无法得到处理。 建立Linux驱动骨架中使用到两个函数 阅读全文
posted @ 2016-05-24 10:20 滴答嘟嘟hello 阅读(1069) 评论(0) 推荐(0) 编辑
摘要: 开发板上安装嵌入式系统要比手机上简洁很多,有很多扩展的接口,适合对程序进行测试,这里所提及的是S3C6410开发板。它是由三星公司推出的一款低功耗/高性价比的RISC处理器。,其中包含强大的硬件加速器,还有集成MFC,还有先进的3D加速器,优化了外部接口。如下图十OK6410开发板的模型图,便于理解 阅读全文
posted @ 2016-05-24 08:57 滴答嘟嘟hello 阅读(1971) 评论(0) 推荐(0) 编辑
摘要: 第四章 源代码的下载和编译 一个android内核相当于4G,而一个Linux内个只有几百M,Linux内核相对于android内核来说实在是小巫见大巫。了解android源代码不一定要详细了解,只去关注我们需要的代码即可。 Android在下载源代码之前必须要在Linux终端执行一系列命令来配置下 阅读全文
posted @ 2016-04-24 19:43 滴答嘟嘟hello 阅读(397) 评论(0) 推荐(2) 编辑
摘要: 第三章 Git使用入门 使用Git的目的是减少各种版本的Linux的压缩大小,提供源代码在Linux上进行编译。 在这一个章节中,其实就是关键步骤的操作,虽然Git与我们学习的android没有很大的联系,但是在开发环境中也是必不可少的。通过学习这个章节,学习到了安装,查看,提取Git的方法。下面将 阅读全文
posted @ 2016-04-24 11:08 滴答嘟嘟hello 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 第二章 搭建Android 开发环境 虽然在这一章中讲的是Android底层开发环境,但是相应伴随的还有Android NDK程序来测试Linux驱动,HAL程序库。底层开发不仅需要交叉编译环境,还要开发应用环境。 所使用到的工具有:JDK6或以上版本,Eclipse3.4或以上版本,ADT,CDT 阅读全文
posted @ 2016-04-22 18:49 滴答嘟嘟hello 阅读(1041) 评论(0) 推荐(1) 编辑