编写linux驱动程序的步骤 第一步:建立linux驱动骨架(装载和卸载linux驱动) 第二步:注册和注销设备文件 第三步:指定与驱动相关的信息 第四步:指定回掉函数 第五步:编写业务逻辑 第六步:编写makefile文件 第七步:编写linux驱动程序 第八步:安装和卸载linux驱动 Prin ...
分类:
其他好文 时间:
2016-07-09 08:13:17
阅读次数:
164
本章的主要内容是硬件抽象层:HAL。本章中了解的是编写HAL的Linux驱动程序的步骤,具体如下: 第一步:编写Linux驱动 “编写Linux驱动”,从表面上看没什么意义,但如果要为Linux驱动添加HAL,而且像尽量保护敏感数据。Linux驱动的代码就要尽量简洁,尽可能将业务逻辑放到HAL Li ...
分类:
其他好文 时间:
2016-07-08 23:12:51
阅读次数:
181
本章的主要内容是嵌入式Linux的调试技术。对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试。 一、打印内核调试信息:printk 该函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。像Linux驱动这样的Linux内核程序 ...
分类:
系统相关 时间:
2016-07-08 23:06:36
阅读次数:
178
《Android深度探索》第十章讲的是嵌入式Linux的调试技术。对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行测试。 printk函数的用法和printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。也就是说,像Linux驱动这 样的Linux ...
分类:
系统相关 时间:
2016-07-08 19:54:39
阅读次数:
181
《Android深度探索》第九章讲的是硬件抽象层:HAL。HAL是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属 于Linux内核层之上的应用层。Google为Android加入HAL主要的目的:统一硬件的调用接口;解决了GPL版权问题;针对一些特殊的要求。 编写一款 ...
分类:
其他好文 时间:
2016-07-08 19:54:26
阅读次数:
134
第九章硬件抽象层:HAL 第九章主要介绍建立在Linux驱动之上的一套程序库HAL(硬件抽象层)。这套程序库不属于Linux内核,而是属于Linux内核层之上的应用层。 Google为Android增加HAL的主要目的除了尽量避免应用程序直接访问Linux驱动外,还可以保护“私人财产”。对于那些既想 ...
分类:
其他好文 时间:
2016-07-08 18:06:06
阅读次数:
116
HAL层属于Linux内核层之上的应用层是为了尽量避免应用程序直接访问Linux驱动和保护 “私人财产”。带HAL的 Linux 驱动就相当于将数据从HAL传到寄存器,或从寄存器传到HAL的数据二传。 加入HAL的主要目的:1:统一硬件的调用接口,2:解决了GPl版权问题,3:针对一些特殊的要求。 ...
分类:
移动开发 时间:
2016-07-08 17:56:24
阅读次数:
139
第十章嵌入式Linux的调试技术 第十章主要介绍如何利用开发板、Android模拟器以及一些函数、工具(gdb、gdbservice以及kgdb)调试嵌入式Linux内核模块、可执行程序和共享库。 对于复杂的Linux驱动以及HAL等程序库,需要使用设置断点、逐步跟踪代码、输出调试信息等方法对其进行 ...
分类:
系统相关 时间:
2016-07-08 17:52:31
阅读次数:
186
第九章 编写一款支持 HAL 的 Linux 驱动程序的步骤 编写一款支持 HAL 的 Linux 驱i.9J.程序要比编写普通的 Linux 驱动程序复杂一些,但这些付出 是值得的。 因为加入 HAL 会使组成 Linux驱动的一整套 Library 的各部分更独立,更容易维护。下 面看一下具体的 ...
分类:
其他好文 时间:
2016-07-08 15:16:21
阅读次数:
144
1.在传统的Linux系统中Linux驱动一般有两种类型的代码:访问硬件寄存器的代码和业务逻辑代码. 2.android的层次结构:应用层,应用框架层,系统运行库层,linux内核层 3.为android加入HAL的目的: (1)统一硬件的调用接口.由于HAL有标准的调用接口,所以可以利用 HAL屏 ...
分类:
其他好文 时间:
2016-07-08 13:49:54
阅读次数:
176