- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 Linux内核和 与内核模块 Linux设备驱动程序 .ppt
目录 Linux内核的组成 内核的编译及加载 内核模块的程序结构 模块加载和卸载函数 模块参数 导出符号 模块声明与描述 模块的使用计数 模块的编译 模块与GPL 模块与GPL 对于自己编写的驱动等内核代码,如果不编译为模块则无法绕开GPL,编译为模块后企业在产品中使用模块,则公司对外不再需要提供对应的源代码。 为了使公司产品所使用的Linux操作系统支持模块,需要完成如下工作: 在内核编译时应该选上“Enable loadable omdule support”,嵌入式产品一般不需要动态卸载模块,所以“可以卸载模块”不选,当然选了也没关系 将我们编译的内核模块.ko文件放置在目标文件系统的相关目录中 产品的文件系统中应该包含了支持新内核的insmod、lsmod、rmmod等工具 在使用中用户可使用insmod命令手动加载模块,如insmod xxx.ko(如:insmod hello.ko) 但是一般而言,产品在启动过程中应该加载模块,在嵌入式Linux的启动过程中,加载企业自己的模块的最简单的方法是修改启动过程的rc脚本,增加insomd/…/xxx.ko这样的命令。 模块与GPL 目录 Linux内核的组成 内核的编译及加载 内核模块的程序结构 模块加载和卸载函数 模块参数 导出符号 模块声明与描述 模块的使用计数 模块的编译 模块与GPL Linux内核的配置 Linux内核的配置系统由以下三部分组成: Makefile:分布在Linux内核源代码中的makefile,定义Linux内核的编译规则。 配置文件Kconfig:给用户提供配置选择的功能。 配置工具:包括配置命令(make menuconfig)解释器和配置用户界面。 Linux内核的配置 Linux内核的配置界面: Kconfig 菜单入口 大多数的内核配置选项都对应kconfig中的一个菜单入口,如: Config关键字定义新的配置选项,之后的几行定义了该配置选项的属性。配置选项的属性包括类型、数据范围、输入提示、依赖关系、帮助信息和默认值等。 设备驱动程序 第二章 Linux内核与内核模块 目录 Linux内核的组成 内核的编译及加载 内核模块的程序结构 模块加载和卸载函数 模块参数 导出符号 模块声明与描述 模块的使用计数 模块的编译 模块与GPL 目录 Linux内核的组成 内核的编译及加载 内核模块的程序结构 模块加载和卸载函数 模块参数 导出符号 模块声明与描述 模块的使用计数 模块的编译 模块与GPL Linux内核源代码结构 Linux内核的组成部分 Linux内核主要由以下五个子系统组成: 进程调度 内存管理 虚拟文件系统 网络接口 进程间通信 虚拟文件系统 Linux内核空间与用户空间 现代CPU内部往往实现了不同的操作模式(级别)。 Linux系统充分利用CPU的这一硬件特性,但它只使用了两级。Linux系统中,内核可进行任何操作,而应用程序则被禁止对硬件的直接访问和对内存的未授权访问。 内核空间和用户空间是用来区分程序执行的两种不同状态,它们使用不同的地址空间。 Linux系统只能通过系统调用和硬件中断完成从用户空间到内核空间的控制转移。 目录 Linux内核的组成 内核的编译及加载 内核模块的程序结构 模块加载和卸载函数 模块参数 导出符号 模块声明与描述 模块的使用计数 模块的编译 模块与GPL 内核模块简介 什么是模块? 从代码特征上来看,模块就是可完成一项独立功能的一组函数的集合。 从使用特征上来看,它在被需要时可以随时安装,而在不需要时又可以随时被卸载。 总之,模块是一个为内核或其他内核模块提供使用功能的代码块。 准确地说,模块就是一个已编译但未连接的可执行文件。 Linux是一个一体化内核,内核中各部件联系紧密,当因为某种原因需要增加、扩充时,用户必须对内核全部重新编译一次,所以,为了弥补这个缺点,Linux建立了模块机制。 内核模块简介 模块机制使得编译出的内核本身并不需要包含所有功能,而在这些功能需要被使用的时候,其对应的代码可被动态地加载到内核中。 模块的特点: 模块本身不被编译入内核映像,从而控制了内核的大小 模块一旦被加载,它就和内核中的其他部分完全一样 内核模块简介 从内核的角度看,模块所包含的代码段一旦被连接到内核,它就可以是内核的一部分,所以它也被叫做内核模块。 从用户角度看,模块是内核的一个外挂的配件,需要时可以将其连接到内核上,以完成用户所要求的任务;不需要时可以将其删除。它给用户提供了扩充内核功能的手段。 一个最简单的内核模块 代码说明 Printk()是内核使用的函数。因为在内核中不能调用C库函数,所以在内核模块中必须使用由内核提供的相关函数。 这个最简单的内核模块只包含内核模块加
您可能关注的文档
- 第九章几种主要类型专题地图的编制 《专题地图编制》——色彩设计、编制的基本的 方法、特点和计算机辅助专题地图制图.ppt
- 第九章动力学分析 有限元法基本的 原理及应用课件.ppt
- 第九章反贫困政策 农村发展与相关管理的政策 .ppt
- 第九章各类食物的卫生 营养和 与食品卫生学 .ppt
- 第九章国际技术知识贸易方式 国际技术知识贸易 .ppt
- 第九章国际技术知识贸易方式2 国际技术知识贸易 .ppt
- 第九章外科重症监测与基本治疗 外科学总论课件.ppt
- 第九章妇科病人护理计划及常用操作技术知识 《妇产科护理》课件.ppt
- 第九章工厂的节约用电和 与计划用电 《工厂供电(第3版)》课件.ppt
- 第九章循环系统 (高职)儿科护理知识 课件.ppt
- 第二章 Linux内核和 与内核模块jiu Linux设备驱动程序 .ppt
- 第二章 XML基本的 概念 《XML编程原理与实例教程》电子教案.ppt
- 第二章 两汉和 与魏晋南北朝文学 大学语文.ppt
- 第二章 中小企业创业机遇 中小企业相关管理课件.ppt
- 第二章 五行学说 中医护理知识中职课件.ppt
- 第二章 交通特性 交通工程学 可以做相关复习提纲用.ppt
- 第二章 产品的设计的描述与识读 2.1至2.2.1 生产工程基础 .ppt
- 第二章 人力资源规划 人力资源开发与相关管理 .ppt
- 第二章 企业伦理和 与会计假账的道德透视 企业伦理和 与会计执业道德课件.ppt
- 第二章 企业形象识别系统的策划与的设计(应用模块) 企业形象.ppt
文档评论(0)