码迷,mamicode.com
首页 >  
搜索关键字:linux内核模块    ( 116个结果
linux内核驱动学习(八)----驱动分类 | 学习方法 | 硬件访问
驱动分类: 对于驱动,我们一般按两种方法进行分类:常规分类法和总线分类法。 按照常规分类法,可以分为以下三类: 1、字符设备: 以字节为最小访问单位的设备。一般通过字符设备文件来访问字符设备驱动程序。字符驱动程序则负责驱动字符设备, ,这样的驱动通常支持open、close、read、write系统调用,应用程序可以通过设备文件(比如/dev/ttySAC0等)来访问字符设备(...
分类:系统相关   时间:2015-03-15 09:33:39    阅读次数:334
Linux内核模块(驱动)编译详解
本文主要说说如何编译自己开发的内核模块。由于驱动通常也被编译成内核模块,因此文章的内容也适用于驱动的编译。 由于在下能力相当有限,有不当之处,还望大家批评指正^_^ 一、准备工作 准备工作如何做,这里就不详说了。 a) 首先,你要有一台PC(这不废话么^_^),装好了Linux。 b) 安装好GCC(这个指的是host gcc,用于编译生成运行于pc机程序的)、m...
分类:系统相关   时间:2015-03-08 17:19:16    阅读次数:471
Linux内核驱动学习(三)----内核模块基础 | 设计 | 可选项
内核模块基础--特点及其命令使用 1、模块本身并不被编译进内核文件(zImage或bzImage) 2、可以根据需要在内核运行时动态加载、卸载----》进而达到节省空间的目的 命令详解(以下载驱动DNW为例): insmod 模块名称(注意有.ko后缀)--安装 insmod dnw_usb.ko lsmod-->查看安装的内核模块 rmmod 模块名称...
分类:系统相关   时间:2015-02-09 23:12:07    阅读次数:343
Linux内核模块符号CRC检查机制
Linux内核不承诺模块编程接口兼容性,事实上这类编程接口在内核主线的演进过程中,不停地发生变化,内核是如何检查插入的模块是否接口跟当前的内核接口兼容。本文重点介绍内核模块符号的CRC机制。...
分类:系统相关   时间:2015-01-10 01:31:24    阅读次数:361
linux 内核模块函数调用
在编写linux内核模块的时候,有时候我们需要调用一只内核模块里面的函数,然而如果是在不同目录下面编译生成的内核模块,此时A模块去调用B模块的函数时候会出现函数未定义,无法调用的情况。那么以前我是在同一个目录下面,先后写两个makefile,然后编译生成两个不同的内核模块,这种方式可以正常实现A模块调用B模块里面的函数,不过非常麻烦。本博文将会针对这种情况提出一种可以同时生成多个内核模块。...
分类:系统相关   时间:2015-01-08 22:54:30    阅读次数:264
linux内核模块开发之内核兼容
因为linux内核变化非常快,每个小版本之间数据结构、接口都有可能发生变化,因此为我们写内核模块的兼容性带来了一些问题,经常在某版本上能正常编译的模块,换另一个模块就编译失败了,这时候我们就需要做内核版本兼容了,解决方法如下: 在内核时面有一个linux/version.h头文件,里面有两个宏LINUX_VERSION_CODE和KERNEL_VERSION,可利用这两个宏来协助完成兼容处理,例...
分类:系统相关   时间:2014-12-31 18:31:17    阅读次数:239
Linux内核模块编写模板
本文讲述如何编写Linux内核模块,需要两个文件 mytest.c,Makefile。 存放到同一个文件夹目录,然后make、make install,就可以完成内核模块的编译生成和安装。 然后通过dmesg命令就可以看到从模块初始化函数输出的信息。 mytest.c: #include #include #include #include #include #inclu...
分类:系统相关   时间:2014-12-24 16:25:04    阅读次数:320
linux内核模块笔记
主题: 1. 嵌入式基础知识 2. linux内核介绍 3. 内核的编译和安装(x86) 4. 第一个模块 5. 模块的相关工具 6. 模块的符号导出 7. 模块的参数 作业: 1.看linux/module.h。以后每天看课程中接触到的头文件 这个文件所在的位置:/home/zshh/work/driver/kernel/linux-3.5/include/linux 重点看...
分类:系统相关   时间:2014-12-21 22:14:39    阅读次数:320
insmod hello.ko -1 Invalid module format最简单的解决办法
我也是从网上看到的这种解决办法。 遇到这种情况后,通过dmesg看一下内核日志。 如果发现有如下日志,那就好办了。 hello: version magic '2.6.33.3 ' should be '2.6.33.3-85.fc13.i686.PAE SMP mod_unload 686 ' 修改内核源码文件include/linux/vermagic.h 把如下VERMAGIC...
分类:其他好文   时间:2014-11-09 16:40:55    阅读次数:113
linux设备驱动辩编写基础
Linux设备驱动辩编写基础 一、linux中的驱动是以模块的形式存在的,这样就大大提高了驱动的灵活性,linux内核模块的程序结构如下: l  模块加载函数(必须):module_init() l  模块卸载函数(必须):module_exit() l  模块许可证声明(必须):MODULE_LECENSE(“GPL”) l  模块参数(可选):module_param(a,int,0...
分类:系统相关   时间:2014-09-01 21:14:33    阅读次数:304
116条   上一页 1 ... 9 10 11 12 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!