第八章 让开发板发出声音:蜂鸣器驱动 代码重用分为静态和动态。静态重用是使用某些功能时,include相应的头文件即可。动态重用就是一个Linux驱动可以使用另外一个Linux驱动中的资源。C或C++语言中编译多个源代码文件时,如果a.c使用了b.c文件中的函数,需要在a.c文件中使用extern预 ...
分类:
其他好文 时间:
2016-07-03 21:43:33
阅读次数:
182
对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试,例如,设置断点、逐步跟踪代码、输出调试信息等。Printk函数运行在内核空间,printf函数运行在用户空间。 初始化Linux驱动 Static int _init printk_demo_init(void) 卸载Linux ...
分类:
系统相关 时间:
2016-07-03 21:39:36
阅读次数:
165
对于复杂的 Linux 驱动及 HAL等程序库,需要使用各种方法对其进行调试。 例如,设置断点、 逐步跟踪代码、-输出调试值息等。虽然撒入式Linux在调试方面并没有 Visual Studio、 Delphi、 Eclipse 这些可视偌工其荒便,但学习一些这方面的技术无疑更奇脚手亮发强款而稳定的 ...
分类:
系统相关 时间:
2016-07-03 21:33:48
阅读次数:
250
第八章 让开发板发出声音:蜂鸣器驱动 蜂鸣器是S3C6410 开发板上带的个硬件设备。可以通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。介绍蜂鸣器的实现原犁,并实现完整的蜂呜器驱动,可以打开和关闭蜂鸣器时驱动的实现方式不同于LED PWM 驱动将由多个文件组成。这也是大多Linux 驱动的标准实现 ...
分类:
移动开发 时间:
2016-07-03 21:31:49
阅读次数:
172
HAL ( Hardware Abstraction Layer,硬件抽象层 )是建立在Linux 驱动之上的一套程序库。这套程序库并不属于Linux 内核, 而是属于Linux 内核层之上的应用层。 统一硬件的调用接口。由于HAL 有标准的调用接口,所以可以利用HAL屏蔽Linux 驱动复杂、不统 ...
分类:
其他好文 时间:
2016-07-03 21:27:51
阅读次数:
99
这章将介绍蜂鸣器的实现原犁,并实现一个完整的蜂呜器驱动(可以打开和关闭蜂鸣 器).Linux驱动的代码重用,可以采用标准的C程序的方法将要重用的代码放在其他的文件中。如果要使用某些功能,include相应的头文件即可,也可以是另外一种动态重用的方式,也是一个Linux驱动可以使用另外一个Linux驱 ...
分类:
其他好文 时间:
2016-07-03 21:27:19
阅读次数:
115
通过学习第八章,我总结出了一些自己认为重要,需要熟练掌握的知识点。 1、通过向寄存器写入特定的值来控制蜂鸣器发出声音。 2、在遇到无法卸载Linux驱动时通过直接修改Linux驱动相应的内存地址删除Linux驱动避免重启机器的麻烦。 3、通过不同的源代码文件存放不同的的功能代码有利于代码的分类和管理 ...
分类:
其他好文 时间:
2016-07-03 21:21:04
阅读次数:
128
1、对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试,例如,设置断点、逐步跟踪代码、输出调试信息等。 2、Printk函数运行在内核空间,printf函数运行在用户空间。 3、初始化Linux驱动 Static int _init printk_demo_init(void) ...
分类:
系统相关 时间:
2016-07-03 21:18:42
阅读次数:
193
关键知识点如下: 1、HAL是建立在Linux驱动之上的一套程序库,这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。 2、Google为Android加入HAL主要有如下的目的: 统一硬件的调用接口、解决了GPL版权问题。 3.加入HAL的驱动使应用程序不需要再关心Linux ...
分类:
其他好文 时间:
2016-07-03 21:16:59
阅读次数:
160
第八章 让开发板发出声音:蜂鸣器驱动 一、linux代码驱动的代码重用:linux驱动的代码重用有很多的方法,比如说用c程序的方式,将要重用的代码放到其他文件中但是要在头文件中声明。还可以采用另外一种动态重用的方式就是一个linux驱动可以使用另一个驱动的内容,如函数等。编译是由多个文件组成的lin ...
分类:
其他好文 时间:
2016-07-03 21:13:09
阅读次数:
167