第八章感想

第八章中介绍了代码编译,编译是由多个文件组成的Linux驱动。对于复杂的Linux 驱动,就需要使用多个源代码文件存放不同的功能代码,这样有利于代码的分类和管理。

    实验:将 3 个.c 文件分别编译成 3 个.0 文件,并将这3 个.0 文件链接生成.ko 文件。

1.编写main.c文件,以及fun.c、product.c和product.h文件。

2.编写makefile文件

obj-m := main.o

multi_file_driver-y := fun.o  product.o

3.执行#sh build.sh

4.执行dmesg命令查看日志信息。

     代码共享的方式:模块依赖,也称为导出符号。利用导出符号实现代码共享就是:在一个驱动模块里使用另一个驱动模块里的被导出的符号(常量、变量、函数等)。

卸载由于异常情况而导致的Linux驱动模块无法卸载的情况:1.初始化函数崩溃2.卸载函数被阻塞。

本章还介绍了蜂鸣器的驱动程序,蜂鸣器是开发板上带的一个硬件设备,可以通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。了解了蜂鸣器的实现原理,并实现了一个完整的蜂鸣器驱动。PWM驱动的实现方式不同于LED驱动,由多个文件组成。Linux驱动的代码重用有很多方式。对于复杂的linux驱动,需要使用多个源代码文件存放不同的功能代码,有利于代码分类和管理,也需要编译多个源代码文件。代码重用分为静态和动态两种。

本节中介绍了一种代码共享的方式,模块依赖。对于一些无法正常卸载的linux驱动,比如:初始化函数崩溃,卸载函数被阻塞。这是需要获取表示要卸载的linux驱动模块的module结构体指针。接下来介绍了如何通过相应的寄存器来控制蜂鸣器的打开和关闭,并且在实现蜂鸣器驱动时,将打来和关闭蜂鸣器的函数放到了另外的C源代码文件中。

时间: 2024-10-08 11:25:32

第八章感想的相关文章

读《大道至简》第七章·第八章感想

第七章 现实中的软件工程 第八章 是思考还是思想 软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面. 在现代社会中,软件应用于多个方面.典型的软件有电子邮件.嵌入式系统.人机界面.办公套件.操作系统.编译器.数据库.游戏等.同时,各个行业几乎都有计算机软件的应用,如工业.农业.银行.航空.政府部门等.这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 . 业界现在一般通过互相制衡,各自有各

大道至简第七八章感想

现实中的软件工程     是思考还是思想 从最早的软件工具开始到现在,软件行业中的巨头们已经在层出不穷的思想中涅槃了一回又一回.Rational被IBM并购,Borland平衡与IBM与Mircosoft之间,各个大公司互相制衡,可以说现在的软件业界的局面就是这些大公司互相制衡的结果.大公司们在标准.理论.语言上的争来夺取,未必全然出自于“软件实现”的考虑.因而,除了软件本质力量的推动外,商业因素也推动着软件工程体系的发展.大公司之间的竞争已经将软件工程由原始的“自然演进”状态逐渐推进到“他激发

大道至简:软件工程实践者的思想——第七、八章感想

    现实中的软件工程  大公司的算盘:从最早仅仅关注于软件开发工具到现在,软件行业中的巨头们已经在层出不穷的思想中涅槃了一回又一回.软件业界如今的局面,不是一些人(例如程序员或者评论家们)争争吵吵的结果,而是大公司们相互制衡的结果.每一个不同的大公司都在做着相同的事,又都有各自的算盘.例如最近双11节时候,阿里巴巴集团和京东都是在搞活动,但是他们一面打压对手的优势,一面又借助对手和同盟的力量来削弱自己的劣势或者补充实力. 而只是这个地位,无论谁成就了这个地位,都将承受相同的风险与压力.  当

《构建之法》第八章自习感想与知识点

第八章主要讲述的是需求分析一些相关内容及注意要点.看似简单其实注意的细节还是有很多的,首先是引导和获取需求,然后再是分析和定义需求,之后还要验证需求和在软件生命周期中管理需求.这一系列的事项仔细研究起来都是一门学问.以下为本周的一些知识要点:一.软件需求 1.准确而全面的找到需求的方法:获取和引导需求,分析和定义需求,验证需求,在软件产品的生命周期中管理需求. 2.软件需求从不同角度的划分:对产品功能性需求,对产品开发过程的需求,非功能性需求,综合需求. 二.软件产品的利益相关者 利益相关者包括

读《大道至简》第七、八章有感

今天一口气读完了<大道至简>最后两章,并稍稍回顾了前面所学所读的内容,纵览全书,一步步都是周爱民先生接触编程从蜻蜓点水到精通辟理,读完之后有那么一种润物细无声的感觉,我想大家多少都有潜移默化的影响吧.最后,写一写读最后两章的感想. 大道至简的第七章讲的是现实中的软件工程.文章中提到,,在“程序”与“方法”层面, 是关注于“(具体的)实现”的:而在“过程”和“工程” 层面,更首要考虑的是团队问题.从角色的角度上来说: 开发经理思考项目的实施方案和管理具体的开发行为:而项目经理则保障团队的稳定性和

读《大道至简》第七章第八章有感

我读了<大道至简>的第七章——现实中的软件工程和第八章——是思考还是思想.其中第七章主要讲了现实中的软件工程一些需要注意的地方.而第八章作者则分享了一些他自己在编程过程中的思考和思想.  下面是一些第七章的感想:     第七章讲了世界各杰出软件公司的竞争,讲的是现实中的软件工程,在软件工程技术的竞争中是很残酷的,敌人的敌人就是自己的朋友吧,软件当今不是一些软件工程师之间的争争吵吵,而是大公司之间相互制衡的结果,大公司在相互竞争激烈的时候,忽视了一些小公司,导致这些小公司在激烈的竞争中崛起.大

Java阶段性总结与获奖感想

一.获奖感想 这次能获得小黄衫,可以说是对我自己这半学期以来努力学习的一种肯定,也是激励我继续努力的动力. 首先,我要感谢给予我们耳目一新的学习方式的娄老师.我曾在我期望的师生关系中提到,我的高中班主任曾锻炼过我们的自学能力,在上娄老师的课之前,我也曾自诩自己的自学能力还不错,但是真正学习Java这门课程,我才知道,自己所谓的自学也只不过是看书,死记硬背罢了.这就不得不提娄老师所提倡的"做中学"学习方法了,学习编程语言,一味的看书学知识点是完全行不通的,要边学边做,也就是边学习知识点,

《Linux内核设计与实现》读书笔记 第十八章 调试

第十八章调试 18.1 准备开始          需要准备的东西: l  一个bug:大部分bug通常都不是行为可靠而且定义明确的 l  一个藏匿bug的内核版本:找出bug首先出现的版本 l  相关内核代码的知识和运气 最好能让bug重现,有一些bug存在而且有人没办法让他重现,因为内核与用户程序和硬件间的交互很微妙. 18.2内核中的bug 可以有无数种原因产生,表象也变化多端.代码中的错误往往引发一系列连锁反应,目击者才看到bug. 18.3通过打印来调试 内核提供了打印函数printk

读《平凡的世界》感想(一)

读<平凡的世界>感想(一) 平凡的世界是一本经典的书,一直想看,最近终于开始品读这部巨著."平凡的世 界"是路遥文集中份量最重的一部长篇,全景式地描写了中国现代城乡生活,通过复杂 的矛盾纠葛,以孙少平等人位代表刻画了社会各阶层普通人们的形象,人生的自尊.自 强与自信,人生的奋斗与拼搏,挫折与追求,痛苦与欢乐,纷繁地交织,读来令人荡气 回肠. 全书的主角是孙少平,他是一个平凡而普通的人,他没有过人的武艺或超群的智慧, 他也有世俗的攀比心和青年人的迷茫:那他凭什么成为一部文学巨