linux内核及驱动开发.docx_第1页
linux内核及驱动开发.docx_第2页
linux内核及驱动开发.docx_第3页
linux内核及驱动开发.docx_第4页
linux内核及驱动开发.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux 内核的学习及内核模块的开发Linux内核开发&及嵌入式内核的开发(主要是对裸机驱动程序的设计及系统驱动程序的设计)内核开发的基础:总结内核的一些知识点,一些规律。Linux体系结构:linux系统的构成:有最核心的内核和各个驱动,应用程序构成。用户空间及内核空间:是用户空间内核空间与体系结构相关的代码首先是由用户空间和内核空间构成;两部分可以实现数据、安全数据访问的应用7中工作模式:用户模式,系统模式,异常模式,快速中断模式,管理模式,外部中断数据访问中止,未定义异常指令处于安全的考虑,将分为两个层次。避免系统的误操作。内核空间和用户空间反应了不同的两种状态,通过系统调用和硬件中断来完成。系统调用接口进程管理(进程调度、创建进程、进程间通信)内存管理(内存分配,物理地址和虚拟地址转换,内存回收)体系结构(和体系结构相关及和ARM芯片相关)设备驱动程序,网络协议功能,虚拟文件系统的支持(EXT2,FAT, NFS等)(不同的文件管理就有不同的打开形式,在中间设置虚拟文件系统可以访问一套的接口)Linux内核的源代码:内核源代码的下载()了解一个目录里面所存放的代码:有些目录里的代码没有必要进行修改,因为硬件不同所以要修改。各个目录所含的含义不相同,在修改内核时候就可以将内核中的部分代码进行修改,并不需要完全修改。实现linux下的网络协议每一个协议下面都有一个文件夹经常改动的文件时arch和driver文件夹,其他文件夹只需要了解即可。内核配置Linux内核编译及配置(嵌入式系统:以应用为中心,软硬件可裁剪的操作系统,对环境对功耗等的专用系统)裁剪及配置linux系统:1, 清除(内核部分内容)最全的是make distclean命令,根据自己的需求可以做不同的操作。Make config命令:基于文本的模式的交互式配置。两个的优缺点:操作方便和直观,对于每一个选项都有自己默认的值。不同的命令有不同的决定。配置完成成之后就保存结果。多出 ./config文件出来。一般使用make menuconfig命令进行使用。内核配置项如何选取:内核配置选项没有必要搞清楚,利用已有的内核配置文件根据已经参考的文件 内核版本要是不同的话,会实现向下兼容内核的编译 make内核配置完成后,就可以进行内核编译的操作了。编译内核时在根目录下使用make命令就可以了。Linux内核模块的编译!在内核中不包括一部分功能在需要的时候再“动态的”加载到内核的里面。特点:不会编译进内核文件和应用程序的区别:没有main函数,printk在内核模块的应用。模块入口函数,模块卸载函数。上述为内核模块的基本结构。内核模块是使用makefile文件构成的。内核模块的makefile文件的书写与一般的内核makefile文件的书写方法相同。Hello.C的makefile文件书写: 前面有固定的格式首先第一条不变;只需要改变相应改变的位置分析:1,如果它不为空, 执行else,内核源代码的路径。选择相应的目录。Makefile文件的执行过程。什么是内核模块:内核模块的编译方法:内核模块由多个文件构成的,main.c和add.c文件Makefile文件(内核模块名字为hello),列出所有的.o文件,也可以变化为下面文件形式:两个或多个源文件构成了makefile文件。得到内核模块后,就需要安装。安装内核模块:用命令insmod命令 用lsmod查看安装的内核模块依赖模块必须先安装被依赖的模块,再安装依赖模块。基本信息外,换可以有一些可选信息,指定内核模块所遵守的协议(定义宏)内核模块遵守该协议%各个功能;安装模块时需要跟上一些模块参数。与应用程序的命令行参数不同(命令行参数已经定义好了使用左侧函数便可以该内核模块设置参数)。模块参数的定义方法如上:定义了两个模块参数可传值,也可不传值运用命令给模块参数赋值内核符号的导出:编译内核模块和安装内核模块。从一个模块调用令一个内核模块,首先要考虑调用顺序的问题,(首先加载右侧的内核模块,将右侧的内核模块函数进行导出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论