tag 标签: 动态加载

相关博文
  • 热度 21
    2013-7-1 16:14
    1087 次阅读|
    1 个评论
    下面以hello module的动态加载方式说明一下内核驱动模块动态加载的一般流程:   进入内核源代码的驱动代码路径,找到mini210_hello_moudle.c,浏览一下源文件的代码,以便在动态加载时,可以根据打印信息确定加载是否成功。   mini210_hello_module.c源代码如图8:   图8 在mini210_hello_module.c所在路径中,键入vim Kconfig,编辑内核驱动配置文件,编辑完成后保存退出。如图9: 图9   2.1、每一个Kconfig都作为menuconfig中的一个菜单。   2.2、每一个对应的config项都是一个菜单项,其中MINI210_HELLO_MODULE为菜单项标签(记下标签名,下边修改Makefile文件时需要据此编写配置项)。   2.3、tristate是菜单类型。常用的菜单类型有bool和tristate,含义分别是bool只能选中或不选中,对应的default值只能是y或者n;tristate的含义除了y、n之外还有m(可以编译成内核模块)   2.4、deponds on定义的是依赖关系,先不详述。   键入vim Makefile编辑,如图10: 图10   插入方框内内容是为了保证在编译内核时可以把HELLO_MOUDLE编译进内核。   返回内核源代码根目录,键入make menuconfig,修改配置项菜单,找到Mini210 module sample菜单项(Kconfig中tristate后面的字符串就是menuconfig中显示的菜单名),键入M,表示要以动态加载的模式插入内核驱动模块,保存menuconfig并退出。如图11: 图11 在命令行键入make modules编译生成后缀为ko的内核驱动模块,编译完成后进入mini210_hello_module.c所在路径中可以找到mini210_hello_module.ko。 键入cp mini210_hello_module.ko /home/nfs/,将内核驱动模块复制到nfs路径中。 登录tiny210的串口终端,键入mount –t nfs –o nolock 192.168.0.102:/home/nfs /mnt/,挂载nfs文件系统,挂载成功后,键入ls /mnt/查看mini210_hello_module.ko内核驱动模块。 在/mnt路径下键入insmod mini210_hello_module.ko,加载内核驱动模块,并查看打印信息,如图12: 图12   结合mini210_hello_module.c中打印信息可以确定内核驱动模块挂载成功。   键入rmmod mini210_hello_moudle(不加ko),可以卸载hello模块。如图13: 图13
相关资源
  • 所需E币: 5
    时间: 2019-12-25 15:52
    大小: 264.16KB
    上传者: wsu_w_hotmail.com
    一次引导启动可大大缩短X86架构下VxWorks的启动时间,却面临引导映像大小受限的问题.采用程序动态加载的方法,使得系统映像和普通应用模块相分离,依次启动,从而有效控制了引导映像大小,实现紧急任务在VxWorks中的快速启...2007年第24卷第7期微电子学与计算机197X86架构下VxWorks快速启动分析与实现王前,吴晓,李长德,吴勇英(西北工业大学计算机学院,陕西西安710072)摘要:一次引导启动可大大缩短X86架构下VxWorks的启动时问,却面临引导映像大小受限的问题。采用程序动态加载的方法,使得系统映像和普通应用模块相分离,依次启动,从而有效控制了引导映像大小,实现紧急任务在VxWorks中的快速启动。关键词:VxWbrl【8;X86体系结构;一次引导;动态加载中图分类号:TP31文献标识码:A文章编号:1000―7180(2007)07-0197-04……