欧美男女网站_18禁网站免费无遮挡无码中文_国产人妻777人伦精品hd_91超级碰碰_国产三级大全_精品无码国模私拍视频

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://m.scarborough.cn/bbs/index.asp)
--  Linux驅(qū)動開發(fā)  (http://m.scarborough.cn/bbs/list.asp?boardid=33)
----  Linux驅(qū)動開發(fā)學(xué)習(xí)筆記(1):LINUX驅(qū)動版本的hello world  (http://m.scarborough.cn/bbs/dispbbs.asp?boardid=33&id=1728)

--  作者:wangxinxin
--  發(fā)布時間:2010-11-24 11:15:17
--  Linux驅(qū)動開發(fā)學(xué)習(xí)筆記(1):LINUX驅(qū)動版本的hello world
 終于下決心好好學(xué)習(xí)LINUX內(nèi)核和驅(qū)動開發(fā)了,不怕千萬人恥笑,勇敢將自己的學(xué)習(xí)過程寫出來:

1、關(guān)于目錄
    /lib/modules/2.6.9-42.ELsmp/build/   這個是內(nèi)核源碼所在的目錄
    一般使用這樣的命令進(jìn)入這個目錄:cd /lib/modules/$(uname -r)/build/
   這個目錄實際上指向了:/usr/src/kernels/2.6.9-42.EL-smp-i686

2、編譯驅(qū)動所使用的makefile
    實際上編譯驅(qū)動的時候是使用預(yù)先提供的一個makefile的,位置在:
/lib/modules/$(uname -r)/build/Makefile
    注意:M是大寫的

3、網(wǎng)上抄錄的Linux驅(qū)動Hello world的源碼:
// hello.c
#include <linux/init.h>
#include <linux/module.h>

MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
    printk(KERN_ALERT "hello world!\\n");
    return 0;
}

static void hello_exit(void)
{
    printk(KERN_ALERT "goodbye!\\n");
}

module_init(hello_init);
module_exit(hello_exit);

4、寫個makefile來編譯這個驅(qū)動:(版本一,最簡單的)
#下面這行是文件Makefile的內(nèi)容,注意M是大寫的
obj-m := hello.o

把hello.c和Makefile保存在同一目錄,然后執(zhí)行:
make -C /lib/modules/`uname -r`/build SUBDIRS=$PWD modules
這樣驅(qū)動就編譯好了,成果是hello.ko文件。
注意:makefile一定要寫成Makefile,如果寫成makefile就編譯不過。(折騰啊,就這一步耗了N多時間)

5、再寫另一種Makefile:(版本二:最省事的)
#以下是Makefile文件的內(nèi)容
obj-m := hello.o
KERNEL_DIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
all:
    make -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules
clean:
    rm *.o *.ko

然后執(zhí)行:make就編譯成功了,命令行不再加參數(shù),很省事。
注意:all: 和clean:下面的行,前面是一個TAB鍵

6、加載驅(qū)動:
執(zhí)行
insmod ./hello.ko
屏幕上沒反應(yīng)。(因為我是在WINDOWS上用遠(yuǎn)程終端連上去的嘛)
OK,先讓時光倒流,回到加載驅(qū)動以前,先另開一個窗口,執(zhí)行:
tail -f /var/log/message
然后在原來的窗口里執(zhí)行:
insmod ./hello.ko
哈哈,/var/log/message文件里面看見了盼望已久的hello world!

7、查看驅(qū)動:
lsmod   看見 hello這個驅(qū)動在其中

8、卸載驅(qū)動:
rmmod hello
看見/var/log/message里顯示了goodbye

主站蜘蛛池模板: 三级国产在线观看 | 一区三区视频 | www性欧美| 久久成人国产 | 在线不卡的av | 日韩字幕在线 | 日韩aaaaa| 精品一区二区在线视频 | 日本色网址 | 国产成人a∨ | 蜜臀av在线 | 亚洲911精品成人18网站 | 日韩黄色免费视频 | 亚洲大胆人体 | 国产成人综合欧美精品久久 | 国产精品区二区三区日本 | 中文字幕乱码一区二区 | 一区二区三区日韩视频 | 国产欧美日韩成人 | 欧美激情天堂 | 四虎网址在线观看 | 五月婷婷在线观看 | 欧美亚一区二区三区 | 四虎久久 | 天天操夜夜操狠狠操 | 国产黄色网页 | 国产精品久久久精品四季影院 | а中文在线天堂 | 久久久久久一级片 | 亚洲黄色网络 | 亚洲精品一二三区 | av国产一区 | 黄色一级视频免费看 | 中文字幕永久在线视频 | 在线亚洲天堂 | 黄色亚洲网站 | 一级黄色大毛片 | 亚洲精品18在线观看 | 操中国女人的逼 | 五月激情六月 | 五月天丁香久久 |