12内核模块设计讲解.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内核模块;教学回顾;教学内容 ;教学要求 ;内核模块概述;内核模块概述;内核模块概述;内核模块概述;Hello World 模块;Hello World 模块;Hello World 模块;Hello World 模块;Hello World 模块;构建模块;放在内核源代码树中;放在内核源代码树中;如,我们的模块源码放在drivers/char/目录下;相应有drivers/char/Kconfig文件; 我们这需要在这个文件中添加一个配置选项即可: ;放在内核源代码树中;make menuconfig 的配置菜单上选中我们的配置选项 Device drivers -- character devices -- ;配置好后,保存退出配置菜单,所有的配置选项会保存在.config隐藏文件中; 例如,我们在.config文件中查找配置选项如下: ;添加编译目标 内核源码每个子目录下都有一个Makefile负责该目录下的文件编译工作; Makefile中的目标: obj-m += xxx.o 表示xxx.c文件编译成模块 obj-y+=xxx.o 表示xxx.c文件编译进内核映像文件uImage中 例如,我???在drivers/char/Makefile文件中添加目标: ;现在,我们的模块代码hello_module.c已经添加到内核源码中; 并且drivers/char/Kconfig添加了配置菜单; 在drivers/char/Makefile添加了目标; 下一步要做的工作就是编译内核: make #会编译所有东西 或者 make modules #只编译模块;放在内核源码外;安装模块;模块的加载与卸载;模块参数;模块参数;模块参数;模块参数;模块参数;数组参数的定义: static int array[5] = {1,2,3,4,5}; static int len; module_param_array(test,int,len,0); MODULE_PARM_DESC(array, test array); 宏MODULE_PARM_DESC() 用来注解该模块可以接收的参数。该宏两个参数:变量名和一个对该变量的描述 参数数组的加载方式: insmod test.ko array=6,7,8,9,10 ;管理内核模块的命令;管理内核模块的命令;管理内核模块的命令;管理内核模块的命令;课堂小结;预习内容

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档