- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《嵌入式LINUX应用开发完全手册》-韦东山.doc
[精华] 《嵌入式LINUX应用开发完全手册》一书
作者韦东山() 的部分备课笔记
---------------------------------------------------------------------------------------------------------------------- 特别说明:此文章的原始出处/sz_farsight以下文章是华清远见深圳培训中心《嵌入式LINUX应用开发完全手册》一书作者韦东山() 的部分备课笔记,笔记语言比较风趣,比较好玩,此文档欢迎转载,但转载请保留相应个人信息及此段说明,谢谢!---------------------------------------------------------------------------------------------------------------------- 第1天1.入门介绍大家好,这两天我们将一起度过。我叫韦东山,韦小宝的韦,东方的东,高山的山,大家直接叫我名字就可以了,也别叫我老师。可能比你们都大上几年,在LINUX方面比你们早入门了几年门。今天有幸来讲第一节课,我很乐意帮助大家解决一些入门问题。当然,入门问题也有很难的问题,回答不上请大家见谅,等我下班后,回到家,找到了答案再告诉大家。好了,下面开始我们的课程。大家的基础各不相同,所以我只能假定大家第一次接触LINUX的驱动编写。其实LINUX系统的一些原理,跟人类社会很有相通之处,那就分层分工,各司其职。假设你是一个集团的老总,下面有很多子公司。那你想了解公司的运营情况时,是不可能去实地考察每个公司的。那怎么办?只能看每个子公司的财务报表。打开报表==>阅读报表,嗯,明白了==>批示、下发。报表怎么来的呢?老总可不管,都是由底下的人弄好的;批示怎么执行的呢?老总也不管,都是由底下的人做的。这些“底下的人”,就是“驱动人员” 回到我们的LINUX系统,我们控制电路板上的LED,怎么办呢?同样:打开LED文件==>写数据到文件==>LED亮、灭,这个文件怎么来的?写数据到这个文件后,LED怎么就会亮、灭?这些工作,就是“驱动人员”做的。上层只管:open, read, write,其他的不管;我们就是提供可以read/write的文件,他们read时,我们提供数据;他们write时,我们执行指令。现在看看这个PPT,user space就是老总,就是用户;VFS就是这套open, read, write接口;DEVICE DRIVER就是我们写的驱动程序。当然了,整个LINUX系统还可以细分,看看前一页PPT,里面涉及进程管理、内存管理、文件系统支持、设备控制、网络等等。我的观点是:先了解总体概念,然后用到什么再深入学习什么。方向太多,会累死人的。(PPT翻到第5页LINUX内核源码树,并在电脑上打开内核顶层目录),稍稍讲解各目录的内容。Kernel目录是内核的核心,比如sched.c实现进程的调度,signal.c里是信号的处理函数,fork.c实现进程的复制、创建等Drivers目录下是各种驱动程序,大家可以看到,名字是五花八门,很多都没听说过。我们今天的重点在字符设备,它们在drivers\char目录下。很多芯片的驱动程序都放在这里。这里先插说一下,LINUX内核功能多,所支持的芯片多,从软盘、硬件、光盘到声卡、网卡等等,支持的文件系统也多,比如有FAT16、FAT32、EXT2、EXT3,还有在嵌入式系统里用的JFFS2、YAFFS等。对于某个产品来说,是不可能全部用到这些功能的,所以要在LINUX内核里把不需要的功能裁剪掉。同学们有没有自己配置过内核?make menuconfig,然后在菜单里选择、修改就可以了:Y表示这个模块被编译进内核去,M表示编译为一个可加载模块,用到的时间再加载,或称为安装。Make menuconfig的结果都存在内核根目录下的.config里,=y表示对应的功能被编译进内核去、=m表示单独编译为一个模块在make menuconfig里,怎样才能知道哪个选项对应哪个模块?在内核源码里,怎样才能知道哪些文件对应哪个模块?在make menuconfig里,可以按h键知道它的配置名是什么;可以用“/配置名”查找到文字解释是什么在内核目录下grep 来找到对应哪些文件12页的“模块编译与装/卸载”在编写驱动时再说2. 驱动分类:我们下面就讲解驱动了,不过我们先了解一下为什么要写驱动。以前我们说过了,这个社会是分层分工,各司其职。因为人的精力是有限的,Module_init linux/init.h fs/dchar_dev.c
您可能关注的文档
- Hnyvdn初一英语复习资料(语法).doc
- IDC管理系统安装手册.doc
- Inoue法制备超级感受态细胞-丁香通.doc
- IT职业规划与行业分析.doc
- jihe教学设计.doc
- KT教育中考语文复习专题.ppt
- linux(CentOS)下jira安装手册.doc
- Linuxshell脚本学习手册.doc
- LINUX安全配置手册.doc
- LINUX安装手册(蒋伟刚).doc
- 2025AACR十大热门靶点推荐和解读报告52页.docx
- 财务部管理报表.xlsx
- 高中物理新人教版选修3-1课件第二章恒定电流第7节闭合电路欧姆定律.ppt
- 第三单元知识梳理(课件)-三年级语文下册单元复习(部编版).pptx
- 俄罗斯知识点训练课件-七年级地理下学期人教版(2024).pptx
- 课外古诗词诵读龟虽寿-八年级语文上学期课内课件(统编版).pptx
- 高三语文二轮复习课件第七部分实用类文本阅读7.2.1.ppt
- 高考物理人教版一轮复习课件第4章第3讲圆周运动.ppt
- 高考英语一轮复习课件53Lifeinthefuture.ppt
- 2025-2030衣柜行业风险投资发展分析及投资融资策略研究报告.docx
最近下载
- 开封市检察机关聘用制书记员招聘笔试真题2023.docx VIP
- 易飞代理商高级生产应用认证考试(答案).docx VIP
- 工厂运营培训课件.pptx VIP
- 中国移动L1-L3等级认证(无线LTE网络优化)考试复习题库汇总-中(多选题汇总).docx VIP
- DB21_T 2977-2018低影响开发城镇雨水收集利用工程技术规程.docx
- 2024年贵州贵州省旅游产业发展集团有限公司招聘真题.docx VIP
- FPGA开发入门教程.pdf VIP
- 夏秋贵州省旅游产业发展集团有限公司员工招聘考试真题2024.docx VIP
- AWS D1.1-2020钢结构焊接规范(中英文版).pdf
- XX公司审计整改工作实施方案.doc VIP
文档评论(0)