看了本书第八章,我学习到了: PWM连接到了TOUT1端口,使用端口F的GPFCON寄存器进行控制。宏S3C64XX_GPFCON表示寄存器GPFCON的虚拟地址。仅用最高两位(30、31位)控制PWM。最高两位为 10时,打开PWM;为00时停止PWM。用iowrite32函数为GPFCON设置不 ...
分类:
移动开发 时间:
2016-07-05 00:59:36
阅读次数:
252
HAL是建立在linux驱动之上的一套程序库,这套程序库属于linux内核层之上的应用层。编写一款支持HAL的linux驱动程序:1、在为linux驱动添加HAL,要想尽量保护敏感数据。Linux驱动的代码就要尽量简洁,尽可能将业务逻辑放到HAL library中。2、HA类就是普通的linux L ...
分类:
移动开发 时间:
2016-07-05 00:57:56
阅读次数:
216
《Android深度探索》第十章讲的是嵌入式Linux的调试技术。对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行测试。printk函数的用法和printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。也就是说,像Linux驱动这样的Linux内核 ...
分类:
移动开发 时间:
2016-07-04 23:27:39
阅读次数:
174
第十章讲的是嵌入式Linux的调试技术,对于复杂的Linux驱动及HAL等程序,需要使用各种方法对其进行调试,;如,设置断点、逐步跟踪代码、输出调试信息等。 本章主要介绍如何利用开发板、android模拟器以及一些函数、工具调试嵌入式linux内核模块、可执行文件和共享库。 首先讲的是打印内核信息: ...
分类:
其他好文 时间:
2016-07-04 22:17:09
阅读次数:
147
刚开始介绍了为什么要在Android中加入HAL,目的有三个,一,统一硬件的调用接口。二,解决了GPL版权问题。三,针对一些特殊的要求。可以利用位于用户空间的HAL代码来辅助Linux驱动完成一些工作。下一个小节讲了Android HAL 架构。接下来讲了为led驱动增加HAL,主要是将所有的业务逻 ...
分类:
其他好文 时间:
2016-07-04 21:58:13
阅读次数:
165
第10章:嵌入式Linux的调试技术 对于复杂的Linux驱动及HAL等程序库, 需要使用各种方法对其进行调试。例如, 设置断点、逐步跟踪代码、输出调试信息等。 一、打印内核调试信息:printk printk函数在前面的章节己多次使用过。该函数的用法与printf函数类似,只不过printk函数运 ...
分类:
移动开发 时间:
2016-07-04 20:22:47
阅读次数:
200
第9章:硬件抽象层HAL 1.HAL ( Hardware Abstraction Layer,硬件抽象层) 是建立在Linux驱动之上的一套翻字库。这套程序库并不属于 Linux 内核, 而是属于 Linux 内核层之上的应用层。 2.编写一款支持 HAL 的 Linux 驱动程序的步骤 编写一款 ...
分类:
移动开发 时间:
2016-07-04 20:20:36
阅读次数:
233
第8章:让开发板发出声音:蜂鸣器 一、Linux驱动的代码重用 Linux 驱动的代码重用有很多种方法。可以采用标准 C 程序的方式。将要重用的代码放在其他的文件(在头文件中声明)中。如果要使用某些功能, include 相应的头文件即可(这种方式称为静态重用)。也可以使用另外一种动态重用的方式,也 ...
分类:
移动开发 时间:
2016-07-04 20:16:10
阅读次数:
173
通过学习Android深度探索(卷一)HAL与驱动开发的第八章让我知道了如何让开发板发出声音,如何编写蜂鸣器的驱动程序。了解了Linux驱动的代码重用,代码重用分为静态和动态两种。 Linux驱动的代码重用有很多方法,可以采用标准C程序的方式,将重要代码的代码放在其他的文件中,如果要使用某些功能,i ...
分类:
移动开发 时间:
2016-07-04 18:50:00
阅读次数:
224
嵌入式linux的调试技术,对于复杂的linux驱动及HAL等程序库,需要使用各种方法进行调试,如设置断点,逐步跟踪代码,输出调试信息等。本章主要介绍如何利用开发板、android模拟器以及一些函数、工具调试嵌入式linux内核模块、可执行文件和共享库。 Printk函数的用法与printf函数类似 ...
分类:
移动开发 时间:
2016-07-04 18:39:45
阅读次数:
218