正在加载
请稍等

菜单

红楼飞雪 梦

15526773247

Tag: 模块机制

Home 标签归档: 模块机制
Home 标签归档: 模块机制

内核模块的多个文件

android 嵌入式开发, linux开发学习 by

有时,可以从逻辑上把内核模块分成几个源文件,在这种情况下,你需要做以下事情: 除了一个源文件外,在其他所有的源文件中都要增加一行 #define __NO_VERSION__,这是比较重要的,因为h通常包括了对kernel_version的定义,kernel_version是一个具有内核版本信息的全局变量,并且编译模块时要用到它。 如果你需要versio…

阅读全文

 

28 2015-11

内核模块的Makefiles文件

android 嵌入式开发, linux开发学习 by

内核模块不是独立的可执行文件,但在运行时其目标文件被连接到内核中,因此,编译内核模块时必须加 -c 标志,另外, 还得加确定的预定义符号。 __KERNEL__ — 这相当于告诉头文件,这个代码必须运行在内核模式下,而不是用户进程的一部分。 MODULE — 这个标志告诉头文件,要给出适当的内核模块的定义。 …

阅读全文

 

28 2015-11

如何插入和卸载模块

android 嵌入式开发, linux开发学习 by

如前所述,插入和卸载模块的实用程序为insmod 和 rmmod,在此,我们将介绍在使用这些命令的过程中会遇到的问题,而并不详细介绍其用法,其更详细的使用请用man命令进行查看。 只有超级用户才能插入一个模块,其简单的命令如下: Source code   insmod serial.o   其中,serial.o为串口的驱动程序。 但…

阅读全文

 

28 2015-11

实现机制

android 嵌入式开发, linux开发学习 by

有两种装入模块的方法,第一种是用insmod命令人工把模块插入到内核,第二种是一种更灵活的方法,当需要时装入模块,这就是所谓的请求装入。 当内核发现需要一个模块时,例如,用户安装一个不在内核的文件系统时,内核将请求内核守护进程(kerneld)装入一个合适的模块。 内核守护进程(kerneld)是一个标准的用户进程,但它…

阅读全文

 

28 2015-11

实现机制的分析

android 嵌入式开发, linux开发学习 by

当你新建立了最小内核(如何建立新内核,请看相关的HOWTO),并且重新启动后,你可以利用实用程序”insmod”和”rmmod”,随意地给 内核插入或从内核中移走模块。如果kerneld守护进程启动,则由kerneld自动完成模块的插拔。有关模块实现的源代码在 /kernel/module.c中,以下是对源代码中主要函数的分析…

阅读全文

 

28 2015-11

数据结构

android 嵌入式开发, linux开发学习 by

1.模块符号 如前所述,Linux内核是一个整体结构,而模块是插入到内核中的插件。尽管内核不是一个可安装模块,但为了方便起 见,Linux把内核也看作一个模块。那么模块与模块之间如何进行交互呢,一种常用的方法就是共享变量和函数。但并不是模块中的每个变量和函数都能被共 享,内核只把各个模块中主要的变量和函数放在一…

阅读全文

 

27 2015-11

模块机制 概述

android 嵌入式开发, linux开发学习 by

一、什么是模块 模块是内核的一部分(通常是设备驱动程序),但是并没有被编译到内核里面去。它们被分别编译并连接成一组目标文件,这些文件能被插入到正在运行的内核,或者从正在运行的内核中移走,进行这些操作可以使用insmod(插入模块)或rmmod(移走模块)命令,或者,在必要的时候,内核本身能请求内核守护进程(kerned)…

阅读全文

 

27 2015-11