嵌入式linux的调用技术 ——第10章读书笔记及心得 通过本章的学习了解了printk函数。该函数与printf函数类似,用于打印内核调试信息。只是前者运行在内核空间,后者运行在用户空间。即linux驱动这样的linux内核程序只能使用printk函数输出调试信息。Printk函数的原型:asmL ...
分类:
移动开发 时间:
2016-07-04 10:07:27
阅读次数:
164
(一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数、变量、宏等) 1、编译是由多个文件组成的Linux驱动,即静态重用 对于复杂的Linux驱动,需要使用多个源代码文件存放不同的功能代码,这样做有利于代码分 ...
分类:
系统相关 时间:
2016-07-04 10:06:44
阅读次数:
262
一、为什么要在android中加入HAL Linux系统中Linux驱动有两种类型的代码:访问硬件寄存器的代码——调用的Linux内核的标准函数进行的标准操作 业务逻辑代码——有些企业或个人并不想将源代码公开 Google为了满足这些不想开源的Linux驱动作者的要求,在android层次结构中的系 ...
分类:
其他好文 时间:
2016-07-04 10:06:13
阅读次数:
117
蜂鸣器驱动 ——第8章读书笔记及心得 通过本章的学习,学会了pwm的驱动实验,知道了蜂鸣器实现的原理。蜂鸣器是开发板上的一个硬件设备,可以通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。本实验将linux驱动区分成了多个实现文件。学会了编写Makefile文件。知道了linux驱动模块的依赖。通过实 ...
分类:
移动开发 时间:
2016-07-04 10:03:50
阅读次数:
175
HAL模块 ——第9章读书笔记及心得 通过本章学习学会了Android中特有的与linux驱动交互的方法,即通过HAL模块。HAL模块本质上就是通过linux共享库(.so)与linux交互驱动,然后利用应用程序再访问linux共享库。每一个HAL共享库指定一个ID,在利用这个ID配合一定的规则找到 ...
分类:
移动开发 时间:
2016-07-04 10:00:41
阅读次数:
221
这一章介绍HAL,全称为Hardware Abstract Layer,即硬件抽象层,它是建立在Linux驱动之上的一套程序库,程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。为Android增加HAL的目的除了尽量避免应用程序直接访问Linux驱动外,还会保护私人财产。 在An ...
分类:
其他好文 时间:
2016-07-04 01:01:09
阅读次数:
135
第9章 硬件抽象层:HAL Hal(Hardware Abstract Layer,硬件抽象层)是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。 编写支持HAL的Linux驱动程序的步骤: 第一步:编写Linux驱动 第二步:编写HAL ...
分类:
移动开发 时间:
2016-07-04 00:58:33
阅读次数:
205
基于linux的调试技术 虽然使用printk函数可以很方便的将消息写入日志文件或者控制台。但是大量使用printk函数频繁的操作日志文件或者控制台文件会严重影响到linux驱动的开发性能。因此,这就需要linux驱动在开发阶段使用printk函数输出消息,在正式发布linux驱动时候将可能影响驱动 ...
分类:
其他好文 时间:
2016-07-03 23:19:16
阅读次数:
191
第九章 HAL HAL是建立在Linux驱动之上的的程序库,他是一个应用层,它的作用保护内部私有。有一种是位于Android层次的系统运行库层,Linux中只保留与寄存器相互的代码,通过HAL进行数据的传递。 为Android加入HAL的主要目的是: 统一硬件的调用接口。 解决GPL版权问题。 资源 ...
分类:
其他好文 时间:
2016-07-03 23:16:19
阅读次数:
170
HAL ( Hardware Abstraction Layer,硬件抽象腔,是建立在Linux驱动之上的一套翻字库。这套程序并不属于 Linux 内核, 而是属于 Linux 内核层之上的应用层。 Google 为 Android 增加 HAL 的主要目的除了尽量避免应用程序直接访问 Linux ...
分类:
其他好文 时间:
2016-07-03 21:42:51
阅读次数:
177