Android深度探索第八章总结

学习第八章,也就是蜂鸣器驱动的知识是为了掌握Linux驱动常用的代码重用方式。Linux的代码重用、强行卸载Linux驱动、蜂鸣器(PWM)驱动。编译是由多个文件组成的Linux驱动,代码重用分为静态和动态两种,静态重用方式是代码级的重用,也就是将需要重用的代码和使用这些代码的使用者放在一起进行编译,最终生成一个可执行文件或程序库。。Linux驱动模块的依赖(导出符号),另外一种代码共享的方式:模块依赖,也称为导出符号。在一个驱动模块里使用另一个驱动模块里被导出的符号(常量、变量、函数等)。强行卸载Linux驱动,也就是在无法通过人rmmod命令卸载Linux驱动时,在不启动机器的情况下,仍然可以卸载Linux驱动。若是初始化函数崩溃、卸载函数被阻塞都是因为卸载函数有问题,只要把卸载函数替换成一个空的卸载函数就可以了。蜂鸣器驱动,蜂鸣器也称为PWM脉冲宽度调制,基本原理就是通过脉冲来控制蜂鸣器的打开和停止。蜂鸣器是开发板上带的一个硬件设备,可以通过向寄存器写入特定的值来控制蜂鸣器发出的声音。PWM驱动的实现方式不同于LED驱动,PWM驱动由多个文件组成,这也是大多数Linux驱动的标准实现方式。

时间: 2024-11-07 10:02:23

Android深度探索第八章总结的相关文章

Android深度探索--第八章读后感

在这一章中,我们得知了Linux内核提供了多个与I/O内存交互的函数,比如ioread16.ioread32.iowrite16.iowrite32等,Linux内核的内存管理模块负责同步I/O内存与硬件中的数据. 每一个连接Linux的硬件在I/O内存中都会有映射地址.由于LED驱动只能在S3C开发板上安装,因此build,sh 脚本直接执行了build_s3c6410.sh脚本文件进行编译和安装,并不会出现像第六章那样的要求用户选择在Ubuntu Linux .Android 模拟器还是S3

Android深度探索——第八章读书笔记及心得

蜂鸣器驱动 ——第8章读书笔记及心得 通过本章的学习,学会了pwm的驱动实验,知道了蜂鸣器实现的原理.蜂鸣器是开发板上的一个硬件设备,可以通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声.本实验将linux驱动区分成了多个实现文件.学会了编写Makefile文件.知道了linux驱动模块的依赖.通过实验学会了linux驱动常用的代码重用方式及强行卸载linux驱动的方法. 在C语言中编译多个源代码文件时,如果a.c使用了b.c文件中的函数,需要在a.c文件中使用extern预先定义b.c中的函数,

Android深度探索第八章

C或C++语言中编译多个源代码文件时,如果a.c使用了b.c文件中的函数,需要在a.c文件中使用extern预先定义b.c中的函数,extern的作用就是告诉编译器该函数的函数名.参数个数.参数类型和返回值类型.这些信息对于将a.c编译成a.o已经足够了.等到将a.o,b.o链接成可执行的文件或程序库时,编译器再到b.o中寻找函数的具体实现.也就是说,extern只在编译阶段起作用.除此之外,还可以使用b.h中定义b.c中的函数,然后在a.c中包含b.h文件.对于有些C/C++编译器,可以省略e

Android深度探索(卷一)HAL与驱动开发 第八章

通过学习Android深度探索(卷一)HAL与驱动开发的第八章让我知道了如何让开发板发出声音,如何编写蜂鸣器的驱动程序.了解了Linux驱动的代码重用,代码重用分为静态和动态两种. Linux驱动的代码重用有很多方法,可以采用标准C程序的方式,将重要代码的代码放在其他的文件中,如果要使用某些功能,include相应的头文件即可,这种方式称为静态重用,另外一种动态重用方式就是一个Linux驱动可以使用另一个Linux驱动中的资源. 如果在模拟器或开发板上采用动态装载.ko文件的方式测试Linux驱

Android深度探索HAL与驱动开发 第四章

Android深度探索HAL与驱动开发 第四章 源代码的下载和编译 读书笔记 一.下载编译和测试Android源代码 1.配置Android源代码下载环境 创建一个用于存放下载脚本文件的目录(可将该文件放到任何一个目录在这里使用-/bin) # mkdir ~/bin # PATH=~/bin:$PATH 2.下载repo脚本文件(用于下载Android源代码) # curl htttps://dl-ssl.google.com/dl/googlesource/git-repo/repo> ~/

Android深度探索HAL与驱动开发 第三章

Android深度探索HAL与驱动开发 第三章 Git使用入门 读书笔记 Git是对源代码进行管理的软件. 一.安装Git # apt-get install git # apt-get install git-doc git-emall git-gui gitk 用以下命令控制Git: # apt-get install git-core # apt-get install git-doc git-svn git-email git-gui gitk 二.查看Git文档 查看git-check

Android深度探索(卷1)HAL与驱动开发学习笔记(2)

Android深度探索(卷1)HAL与驱动开发学习笔记(2) 第二章搭建Android开发环境 书中介绍了两种JDK的安装方法, 方法一: 从官网下载JDK并进行配置,解压后在终端打开profile文件来设置PATH环境变量(# soure /etc/profile),打开profile文件后输入下面的内容 export PATH=.:developer/jdk6/bin:$PATH 保存profile文件以后,有两种方法可以重新加载profile文件. 1.# sourse  /etc/pro

《Android深度探索》第十章心得体会

<Android深度探索>第十章讲的是嵌入式Linux的调试技术.对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行测试.printk函数的用法和printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间.也就是说,像Linux驱动这样的Linux内核程序只能使用printk函数输出调试信息.在Linux文件系统中,/proc经常用来作为内核空间和用户空间进行数据交互的工具./proc文件系统的行为方式和设备文件系统(/dev)类似./proc是

Android深度探索HAL与驱动开发 第二章

Android深度探索HAL与驱动开发 第二章 搭建Android开发环境 读书笔记 一.Android底层开发需要的工具 1.JDK6或以上版本 2.Eclipse3.4或以上版本 3.ADT(用于开发Android的应用程序) 4.CDT(用于开发Android NDK程序) 5.Android SDK 6.Android NDK 7.交叉编译环境 8.Linux内核源代码 9.Android源代码 10.用于调试开发板的串口工具:minicom 二.安装JDK 下载JDK后在终端输入 #