Linux 驱动
ralbatr
这个作者很懒,什么都没留下…
展开
-
Hello Wold 模块
/***************20121012*********************/ #include #include MODULE_LICENSE("Dual BSD/GPL"); //特殊的宏,采用自由许可证 如果没有,内核在装载该模块时会产生抱怨 /*when use by downing*/ static int hello_init(void) {原创 2012-10-12 21:07:44 · 593 阅读 · 0 评论 -
Makefile
PWD = $(shell pwd) KERNEL_SRC = /usr/src/linux-source-2.6.15/ obj-m := test.o module-objs := test.o all: $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules clean:转载 2012-10-12 21:17:21 · 394 阅读 · 0 评论 -
构造和运行模块(笔记)
用户空间和内核空间 模块运行在内核空间,应用程序运行所谓的用户空间 在Linux中,内核运行在最高级别(也称作超级用户态),在这个基本中可以进行所有的操作。而应用程序运行在最低级别(即所谓的用户态)。 当应用程序执行系统调用或者被硬件中断挂起时,Linux将执行模式从用户空间切换到内核空间。 内核的并发 在2.6中内核代码是可抢占的,不能假设在给定代码段中能够独占处理器。 当前进程原创 2012-10-12 21:57:17 · 575 阅读 · 0 评论