![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内核&驱动
文章平均质量分 67
彤莉
学习、记录、分享
展开
-
Linux内核模块导出后无法调用问题解决(模块间函数调用通讯)
Linux模块间通讯方法非常的多,最便捷的方法莫过于函数符号导出,然后直接调用。然而在linux2.6.26以后的内核中模块的符号导出经常会出现问题,一个模块中的导出符号不能被另外一个模块进行调用。这个使得处理有依赖关系的模块非常的头疼。 1. 符号导出函数EXPORT_SYMBOL() EXPORT_SYMBOL标签内定义的函数对全部内核代码公开,不用修改内核代码转载 2013-10-30 17:03:22 · 642 阅读 · 0 评论 -
内核模块基础
内核的模块第一步:编写一个hello.c文件#include #include /*内核中库文件*/ MODULE_LICENSE("DUAL BSD/GPL");static int num=300;module_param(num,int,S_IRUGO);/*传入可变参数,加载时传入参数*/static int xtl_init(void){ printk原创 2013-10-30 20:13:20 · 599 阅读 · 0 评论 -
字符设备驱动
(1)、实现功能:创建设备文件。在用户空间实现对设备文件的操作。(2)、实现过程:写字符设备程序char_1.c 文件==》写makefile并编译==》加载$insmod char_1.ko ==》查看系统的设备号$cat /proc/devices (已经为名为xtl_test的设备申请了一个设备号 111)1、写字符设备程序char_1.c 文件#inclu原创 2013-10-31 20:30:36 · 603 阅读 · 0 评论 -
Redhat下安装自己的内核
1. 把下载的内核拷贝到一个目录下。然后解压:$ tar -jxvf linux-2.6.28.tar.bz2. 解压完后,在该文件夹下,会产生一个新的文件linux-2.6.28进入linux-2.6.2目录,执行一下步骤2. $ Makedistclean3.$ Cp /usr/src/kernels/2.6.18-164.el5-i686/.config .config原创 2014-03-05 17:41:55 · 1294 阅读 · 0 评论