Tag Archives: linux kernel

linux内核模块之间通信

今天师兄问,linux内核模块之间如何进行通信?我才想起我之前也有这个疑问,只是当时不需要所以就没去关心了。晚上查了些资料,终于弄明白了些。
这里的通信可以简单点理解,就是模块B如何调用A的函数,变量或者常量。为了简化,我设计一个模块A中的一个函数为printMSG,原型为int printMSG(int n);传入的参数n表示打印几遍一个固定的字符串。模块A(在helloworld基础上修改的,所以名字都没变…懒)源码:

#include <linux /init.h> 
#include </linux><linux /module.h>  
int __init hel

Read More...

Linux设备驱动学习笔记(一)

在CSDN上看到了fudan_abc写的linux那些事,感受颇多。觉得自己虽然不如人家那么才高八斗,不过,为了让自己不至于那么快忘记,也开始写些笔记吧。

这次的主要内容:
1.linux设备驱动程序的作用
2.内核模块和用户空间程序的区别
3.Hello world程序.
4.Makefile文件
5.编译,加载内核模块
6.Other tips
7.好书和网站

1.linux设备驱动程序的作用
简单的说,驱动程序告诉了我们可以提供了那些能力,但是没有告诉我们怎么使用这些能力。按照《linux设备驱动程序》上的说法,前一部分叫做”机制”,后面的叫作”策略”。linux…

Read More...