Google为Android加入HAL主要有如下的目的。 统一硬件的调用接口。由于HAL 有标准的调用接口,所以可以利用HAL屏蔽Linux 驱动复杂、不统一的接口。 解决了GPL版权问题。由于Linux 内核基于GPL协议,而Android 基于Apache Licence 2 . 0、协议。因此 ...
分类:
移动开发 时间:
2016-06-22 20:27:00
阅读次数:
187
一、内存管理概念 1. 物理内存概念(Physical Memory Address) PC上有三条总线,分别是数据总线、地址总线和控制总线。32位CPU的寻址能力为4GB(2的32次方)个字节。用户最多可以使用4GB的真实物理内存。PC中很多设备都提供了自己的设备内存。这部分内存会映射到PC的物理 ...
第九章 硬件抽象层:HAL 9.1为什么要在安卓中加入HAL? 首先Google 为 Android 增加 HAL 的主要目的除了尽量避免应用程序直接访问 Linux 驱动外,还有一仓重要原因,那就是保护 “私人财产”。-对于 那些既想发布茬子·Android,的 Linux 驱动程序,又不想将核心 ...
分类:
移动开发 时间:
2016-06-22 12:34:31
阅读次数:
214
robotframework 是自动化测试框架。 Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)。 上面一段话是百度百... ...
分类:
其他好文 时间:
2016-06-22 01:41:07
阅读次数:
2487
《UNIX环境高级编程》(第2版),史蒂文斯著 《深入理解 Linux 内核》(第三版) ,博韦等著 Linux设备驱动开发详解:基于最新的Linux 4.0内核 宋宝华 ...
分类:
系统相关 时间:
2016-06-21 22:39:40
阅读次数:
196
编译是由多个文件组成的Linux驱动。对于复杂的Linux 驱动,就需要使用多个源代码文件存放不同的功能代码,这样有利于代码的分类和管理。 小实验:将 3 个.c 文件分别编译成 3 个.0 文件,并将这3 个.0 文件链接生成.ko 文件。 1.编写main.c文件,以及fun.c、product ...
分类:
移动开发 时间:
2016-06-21 20:40:26
阅读次数:
238
关于Exynos4412 IIC 裸机开发请看 :Exynos4412 裸机开发 —— IIC总线 ,下面回顾下 IIC 基础概念
一、IIC 基础概念
IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。IIC总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用...
分类:
其他好文 时间:
2016-06-21 07:16:01
阅读次数:
154
提到中断就必须了解到GIC,下面先了解一下GIC
一、GIC概念
GIC(Generic Interrupt Controller)是ARM公司提供的一个通用的中断控制器。GIC通过AMBA(Advanced Microcontroller Bus Architecture)这样的片上总线连接到一个或者多个ARM processor上。
下面是Ex...
分类:
其他好文 时间:
2016-06-21 07:13:22
阅读次数:
268
前面在Exynos4412 IIC总线驱动开发(一)—— IIC 基础概念及驱动架构分析 中学习了IIC驱动的架构,下面进入我们的驱动开发过程
首先看一张代码层次图,有助于我们的理解
上面这些代码的展示是告诉我们:linux内核和芯片提供商为我们的的驱动程序提供了 i2c驱动的框架,以及框架底层与硬件相关的代码的实现。...
分类:
其他好文 时间:
2016-06-21 07:11:58
阅读次数:
382
从本章开始引入所有关于模块和内核编程的基本概念,并编写一个完整模块来实践这些基本的概念。3.1搭建测试环境由于所有测测试代码都是基于Ubuntu14.04.2Desktop的3.16.0-30-generic内核,所以最好是到Linux官方网站去下载一份该版本内核的源代码。另外,建议在虚拟机里面安装你..
分类:
系统相关 时间:
2016-06-20 19:05:04
阅读次数:
191