第八章 读后心得体会

一.Linux驱动的代码重用

1. 编译是由多个文件组成的Linux驱动

模拟环境:/root/drivers/ch08/driver_shared/multi_file_driver

在multi_file_driver目录中有一个multi_file_driver_eclipse目录,该目录是eclipse工程目录。

main.c是Linux驱动的主程序。在fun.c和product.c  product.h中定义和实现了在main .c中使用的函数。在main.c中通过extern关键字使用fun.c中的函数,通过包含product.c文件中的函数。

在main.c文件中会发现多了两个宏(_int和_exit),这两个宏分别用来标识Linux驱动初始化函数(main_init)和Linux驱动卸载函数(main_exit)。

最关键的一步是编写Makefile文件。

2.Linux驱动模块的依赖

模拟环境:/root/drivers/ch08/driver_shared/symbol_export

在symbol_export目录中有一个symbol_export_eclipse目录,该目录是eclipse工程目录。

symbol_producer驱动的两个函数(add和sub)和symbol_const常量及result变量被导出。

二.强行卸载Linux驱动

情况1:初始化函数崩溃

由于Linux驱动模块的初始化函数进行了某些操作而崩溃,从而导致初始化函数无法正常返回。

情况2.写在函数被阻塞

在使用rmmod命令卸载Linux驱动时,系统会调用卸载函数,只有写在函数成功返回时,Linux驱动才会被卸载。

三.蜂鸣器PWM驱动

1.蜂鸣器驱动原理

蜂鸣器也成为PWM,基本原理是通过脉冲来控制蜂鸣器的打开和停止。

2.实现蜂鸣器驱动

         模拟环境:/root/drivers/ch08/pwm

PWM驱动由3个文件组成:pwm.c  pwm_fun.h  pwm_fun.c。其中pwm.c是驱动主程序。

3.测式蜂鸣器驱动

时间: 2024-08-10 15:11:52

第八章 读后心得体会的相关文章

第六章 读后心得体会

编写Linux驱动程序的步骤 第一步:建立Linux驱动骨架(装载和卸载Linux驱动). Linux驱动程序一般都需要指定module_init和module_exit,因此包含这两个函数及指定这两个函数的两个宏的C程序文件也可看作是Linux骨架. 第二步:注册和注销设备文件 分别使用misc_register和misc_deregister函数创建和移除设备文件. 第三步:指定与驱动相关的信息 通过MODULE_AUTHOR,MODULE_LICENSE,MODULE_ALLAS,MODU

第七章 读后心得体会

编写LED驱动 (1)       创建LED驱动的设备文件 第一步:使用cdev_init函数初始化cdev. 第二步:指定设备号. 第三步:使用cdev_add函数将字符设备添加到内核中的字符设备数组中. 第四步:使用class_create宏创建struct_class. 第五步:使用device_create函数创建设备文件. (2)       卸载LED驱动的设备文件 依次调用device_destroy, class_destroy, unregister_chrdev_regio

第五章 读后心得体会

S3c6410开发板简介 S3c6410是由三星公司推出的低功耗,高性价比的RISC处理器,它基于ARM11内核,可广泛应用于移动电话和通用处理等领域. S3c6410为2.5G和3G通信服务提供了优化的硬件性能,内置强大的硬件加速器,包括运动视频处理,音频处理,2D加速,显示处理和缩放等.同时还集成了一个MFC. 安装串口调试工具:minicom OK6410开发板带了一个串口,可以通过串口线与PC连接.Linux驱动在输出调试信息的同时会通过串口线将调试信息发送到PC上,这样Linux驱动程

《构建之法》第一章概要及读后心得体会

1551427    钱洪章 首先知道:软件=程序+软件工程 名句:程序=数据结构+算法 提出疑问:"程序"是什么? 这里的程序指的是源程序,就是一行一行的代码. 软件够贱的过程:不仅仅是cc和link命令,一个复杂的软件不但要有合理的软件架构.软件设计与实现,还要有各种文件和数据来描述各个文件之间的依赖关系.编译参数.链接参数,等等. 新名词:源代码管理(配置管理).质量保障.软件测试.需求分析.软件维护.软件生命周期.软件项目的管理.软件的用户体验.商业模式 会得到一个扩展的推论:

第十章 读后心得体会

打印内核调试信息:printk printk函数的用法和printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间. 防止printk函数降低Linux驱动性能 虽然使用printk函数可以方便的将消息写入日志文件或控制台.但大量使用此函数频繁操作日志文件或控制台设备文件会严重影响Linux驱动的性能,因此,这就要求Linux驱动只在开发阶段使用printk函数输出消息,在正式发布Linux驱动时将可能形象性能的printk函数去掉. 通过虚拟文件系统进行数据交互

第九章 读后心得体会

1.android HAL架构 2.为LED驱动增加HAL          1.编写一款支持HAL的Linux驱动程序步骤 第一步:编写Linux驱动 第二步:编写HALlibrary 第三步:编写Service Library 2.颠覆Linux驱动的设计理念:精简LED驱动 3.测试读写寄存器操作 4.编写调用LED驱动的HAL模块          HAL模块也可以被Android系统自动调用,自然也拥有类似main或init函数的接口.只不过这个接口不是函数,而是一个固定名称的结构体变

《不要让我思考》读后心得2

---内容开始--- Don't let me think! 这本书以网站可用性为目的,从作者自身工作和经验角度,站在用户的心理立场上,介绍了作为设计者如何做出可用性的web设计. 其中包含的内容有: 1.别让我思考(定律) 当看到一个不需要思考的网站时: 当看到一个要思考的网站时: @创建一个网站时,要去掉这些问号. 有时候网站会强迫我们思考,名字,常见的罪魁祸首就是改成自以为很酷很聪明的,带有营销色彩的名字. 还有另一个来源是看起来不太明显的链接和按钮,会造成用户犹豫可不可点. @类似的例子

《赵一曼传奇》读后心得

<赵一曼传奇>读后心得 风儿吹得走沙子,却吹不走刻在我脑海深处的记忆:抹布抹得去污渍,却抹不去那铁证如山的事实……伴着愉快的歌儿,迎接我们的电影却是可歌可泣的过去……      赵一曼是一位伟大的抗日女英雄.“九一八”事件不久,为了国家和民族的生死存亡,赵一曼便加入了党的地下组织.在一次战斗中,赵一曼不幸腿部受重伤被捕.日寇为了获取所需情报,以药物治疗来维持赵一曼苟延残喘的生命.日寇软硬兼施,想从赵一曼口中得到可靠情报,但由于赵一曼忠贞不渝的爱国崇高品质使得面目狰狞的日寇一无所获.大义凛然的赵

《构建之法》读后心得,问题

我觉得构建之法这本很不错,书的内容给我一种欢快的阅读体会,能让人更加的快速去接受里面的内容,并吸收为自己所用:并且里面的内容都举例生活中的例子,并且在一些容易有疑惑的地方,以问答形式解答,而且语言通熟易懂,使人看上去更加的了解其实软件工程就在我们的身边. 之前上过软件工程这门课程,那本软件工程的书本不像<构建之法>,都是一些很枯燥乏味的内容,并没有像<构建之法>让人舒适,让人以一种欢快的阅读体会.其实软件工程就是包括了“开发.运营.维护软件的过程中的很多技术.做法.习惯和思想.软件