嵌入式linux的调试技术,对于复杂的linux驱动及HAL等程序库,需要使用各种方法进行调试,如设置断点,逐步跟踪代码,输出调试信息等。本章主要介绍如何利用开发板、android模拟器以及一些函数、工具调试嵌入式linux内核模块、可执行文件和共享库。 Printk函数的用法与printf函数类似 ...
分类:
移动开发 时间:
2016-07-04 18:39:45
阅读次数:
218
学习第八章,也就是蜂鸣器驱动的知识是为了掌握Linux驱动常用的代码重用方式。Linux的代码重用、强行卸载Linux驱动、蜂鸣器(PWM)驱动。编译是由多个文件组成的Linux驱动,代码重用分为静态和动态两种,静态重用方式是代码级的重用,也就是将需要重用的代码和使用这些代码的使用者放在一起进行编译 ...
分类:
移动开发 时间:
2016-07-04 18:37:48
阅读次数:
220
主要讲了对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试。例如,设置断点、逐步跟踪代码、输出调试信息等。 Printk函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。也就是说,像Linux驱动这样的Linux内核程序只能 ...
分类:
其他好文 时间:
2016-07-04 18:36:20
阅读次数:
125
这一章介绍HAL,全称为Hardware Abstract Layer,即硬件抽象层,它是建立在Linux驱动之上的一套程序库,程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。为Android增加HAL的目的除了尽量避免应用程序直接访问Linux驱动外,还会保护私人财产。 在An ...
分类:
其他好文 时间:
2016-07-04 18:34:19
阅读次数:
139
学习第九章,也就是硬件抽象层:HAL。HAL硬件抽象层是建立在Linux驱动之上的一套程序库。属于Linux内核层上的应用层。HAL的主要目的是尽量避免应用程序直接访问Linux驱动,保护“私人财产”。传统的Linux驱动一般有两种类型的代码:访问硬件寄存器的代码和业务逻辑代码。硬件抽象层是位于操作 ...
分类:
移动开发 时间:
2016-07-04 18:26:14
阅读次数:
164
通过学习Android深度探索(卷一)HAL与驱动开发的第九章让我知道了HAL硬件抽象层,为什么要在Android中加入HAL和Android HAL架构。 HAL是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层,其主要目的除了尽量避免应 ...
分类:
移动开发 时间:
2016-07-04 18:25:42
阅读次数:
183
对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试。例如,设置断点、逐步跟踪代码、输出调试信息等。 Printk函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。也就是说,像Linux驱动这样的Linux内核程序只能使用pr ...
分类:
移动开发 时间:
2016-07-04 18:23:27
阅读次数:
144
HAL硬件抽象层是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层上的应用层。在传统的 Linux系统中Linux驱动一般有两种类型的代码。Google为Android加入HAL主要有以下目的:统一硬件的调用接口。由于HAL有标准的 调用接口,所以可以 ...
分类:
移动开发 时间:
2016-07-04 18:23:03
阅读次数:
142
本章介绍蜂鸣器的实现原犁,并实现一个完整的蜂呜器驱动(可以打开和关闭蜂鸣器),蜂鸣器也称为PWM脉冲宽度调制,基本原理就是通过脉冲来控制蜂鸣器的打开和停止。蜂鸣器是开发板上带的一个硬件设备,可以通过向寄存器写入特定的值来控制蜂鸣器发出的声音。 在完成过程中,首先完成的是linux驱动的代码重用,首先 ...
分类:
移动开发 时间:
2016-07-04 18:22:09
阅读次数:
153
通过对本章节的学习我学到了如下知识点: 嵌入式Linux调用技术 (1)调试方法:设置断点、逐步跟踪代码、输出调试信息。 (2)打印内核调试信息:printk,printk函数运行在内核空间,printk函数运行在用户空间,Linux驱动这样的Linux内核程序只能使用printk函数输出调试信息。 ...
分类:
系统相关 时间:
2016-07-04 13:50:51
阅读次数:
163