第六章读书心得

本章主要学习了Android的底层开发,一个linux驱动统计单词数,主要学到了如下知识点:

6.1Linux驱动到底是个什么东西

了解linux驱动的工作和访问方式

6.2编写linux驱动程序的步骤

第一步:建立linux驱动骨架(装载和卸载linux驱动)

第二步:注册和注销设备文件

第三步:指定与驱动相关的信息

第四步:指定回调函数

第五步:编写业务逻辑

第六步:编写Makefile文件

第七步:编译linux驱动程序

第八步:安装和卸载linux驱动

6.3第一个linux驱动:统计单词个数

6.3.1编写linux驱动程序前的准备工作

1.用下面的命令建立存放linux驱动程序的目录

#mkdir-p/root/drivers/ch06/word_count

#cd/root/drivers/ch06/word_count

2.使用下面的命令建立驱动源代码文件

#echo‘’>word_count.c

3.最后编写一个Makefile文件

6.3.2编写linux驱动程序的骨架

1.骨架的主要部分是linux驱动的初始化和退出函数

2.安装linux驱动

#insmod word_count.ko

查看word_count是否成功安装

#lsmod| grep word_count

卸载linux驱动

#rmmod word_count

查看由linux驱动输出的日志信息

#dmesg|grep word_count|tail-n 2

6.3.3指定与驱动相关的信息

模块作者:使用MODULE_AUTHOR宏指定

模块描述:使用MODULE_DESCRIPTION宏指定

模块别名:使用MODULE_ALIAS宏指定

开源协议:使用MODULE_LICENSE宏指定

6.4使用多种方式测试linux驱动

测试linux驱动的方法:Ubuntu linux,在Android模拟器上通过原生C程序,使用Android NDK,使用Java代码直接操作设备文件

s3c6410开发板。

6.5使用eclipse开发和测试linux驱动程序

6.5.1在eclipse中开发linux驱动程序

第一步:建立C工程

第二步:建立C源代码文件链接

第三步:设置include路径

第四步:编译linux驱动

6.5.2在eclipse中测试linux驱动

第一步:导入test_word_count.c文件

第二步:设置include路径

第三步:建立Target

第四步:Build工程

第五步:运行测试程序

通过本章学习,通过一个实例更加清楚明白的了解了linux驱动开发,让我对此感到了兴趣,让吾受益匪浅。

时间: 2024-08-05 07:07:56

第六章读书心得的相关文章

Android深度探索(卷1)HAL与驱动开发 第六章读书心得

编写Linux驱动程序步骤如下: 一.建立Linux驱动框架(装载.卸载Linux驱动) Linux内核在使用驱动时首先要装载驱动,在装载过程中进行一些初始化动作(建立设备文件.分配内存等),在驱动程序中需提供相应函数来处理驱动初始化工作,该函数须使用module_init宏指定:Linux系统在退出是需卸载Linux驱动,卸载过程中进行一些退出工作(删除设备文件.释放内存等),在驱动程序中需提供相应函数来处理退出工作,该函数须使用module_exit宏指定.Linux驱动程序一般都要这两个宏

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

单词个数统计程序 ——第六章读书笔记及心得 通过本章的学习,学会了使用多种平台测试linux驱动开发.学会了统计单词个数的程序,通过该程序知道了该算法的实现技术为linux驱动,因为该程序的单词是封装在linux驱动中的.在此之前还对linux有了深入的了解.知道了linux驱动程序编写的步骤.了解到了一些重要的函数.学会了注册和注销设备文件.学会了制定回调函数.知道了如何在eclipse中开发和测试linux驱动程序. Linux系统将每一个驱动都映射为一个文件,称为设备文件或驱动文件,都保存

构建之法第六章学习心得

这周我学习了构建之法第六章敏捷流程,本章主要介绍了敏捷流程及其原则,Backlog.Burn-down.Sprint.Scrum方法论.以及什么时候选择敏捷的开发方法,什么时候选择其他方法..敏捷开发的原则是尽早并持续地交付有价值的软件以满足顾客需求敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势经常发布可用的软件,发布间隔可以从几周到几个月,能短则短业务人员和开发人员在项目开发过程中应该每天共同工作以有进取心的人为项目核心,充分支持信任他们无论团队内外,面对面的交流始终是最有效的沟通

JavaScript高级程序设计(第3版)第六章读书笔记

第六章 面向对象的程序设计 1. 数据属性 [[Configurable]]:表示能否通过delete删除属性从而重新定义属性.默认值为true. [[Enumerable]]:表示能否通过for-in循环返回属性.默认值为true. [[Writable]]:表示能否修改属性的值,默认为true. [[Value]]:包含这个属性的数据值.默认为undefined. 要修改属性默认的特性,必须使用ECMAScript5的Object.defineProperty( )方法.接收三个参数:属性所

Andriod深度探索(卷1)HAL与驱动开发 第九章读书心得

本章主要讲硬件抽象层:HAL,它是建立在Linux驱动之上的一套程序库.刚开始介绍了为什么要在Android中加入HAL,目的有三个,一,统一硬件的调用接口.二,解决了GPL版权问题.三,针对一些特殊的要求.可以利用位于用户空间的HAL代码来辅助Linux驱动完成一些工作. 下一个小节讲了Android HAL 架构.接下来讲了为led驱动增加HAL,主要是将所有的业务逻辑从LED驱动移到HAL模块,而LED驱动只保留读写寄存器的功能. 涉及的HAL步骤:1.编写Linux驱动2.编写HAL L

构建之法第五章读书心得

这一章我们主要学习了团队和流程.团队简而言之就是开发一个软件工程的团队,那么团队究竟怎样在一起开发这一软件便有了多种多样的方法. 比如所有人都一起做的一窝蜂模式,但这样模式弊端很大,虽然都做了许多工作,但结合起来的成果可能还没有单人做的进度快.慢慢的发展出了一些其他的模式,比如我们在学校中,一个学霸主力,其他人打酱油,但这并不好.之后也出现了明星模式,社区模式等更好的模式 写了再改模式:这种便是我们学生中最为普遍的一种模式.不管代码怎么样,先写出来,甚至连语法错误都没有考究,整体做完后再针对问题

第五章读书心得

本章主要介绍了OK6410-A开发板安装Android,主要的知识点如下: 5.1s3c6410开发板简介 s3c6410是一种低功耗.高性价比的RISC处理器,它基于ARM11内核,可广泛应用于移动电话和 通用处理等领域. 5.2安装串口调试工具:minicom 安装.配置和测试minicom 第一步:检测当前系统是否支持USB转串口 第二步:安装minicom 第三步:配置minicom 第四步:测试minicom 5.3烧写Android系统 1.使用Eboot擦除NandFlash的方法

Android深度探索(卷1)HAL与驱动开发第六章读书笔记

编写Linux驱动程序的步骤 第1步:建立Linux驱动骨架(装载和卸载Linux驱动) 第2步:注册和注销设备文件 第3步:指定于驱动相关的信息 第4步:指定回调函数 第5步:编写业务逻辑 第6步:编写Makefile文件 第7步:编译Linux驱动程序 第8步:安装和卸载Linux驱动 安装Linux驱动: # insmod word_count.ko 查看word_count是否成功安装: # lsmod | grep  word_count 卸载L inux驱动: # rmmod wor

第六章 读书笔记

编写linux驱动程序的步骤 第一步:建立linux驱动骨架(装载和卸载linux驱动) 第二步:注册和注销设备文件 第三步:指定与驱动相关的信息 第四步:指定回掉函数 第五步:编写业务逻辑 第六步:编写makefile文件 第七步:编写linux驱动程序 第八步:安装和卸载linux驱动 Printf函数运行在用户空间,printk函数运行在内核空间. 测试linux驱动步骤 第一步:导入test_count.c文件 第二步:设置include路径 第三步:建立target 第四步:build