Rss & SiteMap

曙海教育集團論壇 http://www.bjzhda.cn

曙海教育集團論壇
共2 條記錄, 每頁顯示 10 條, 頁簽: [1]
[瀏覽完整版]

標題:Linux驅動開發(fā)學習筆記(1):LINUX驅動版本的hello world

1樓
wangxinxin 發(fā)表于:2010-11-24 11:15:17
 終于下決心好好學習LINUX內核和驅動開發(fā)了,不怕千萬人恥笑,勇敢將自己的學習過程寫出來:

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

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

3、網上抄錄的Linux驅動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來編譯這個驅動:(版本一,最簡單的)
#下面這行是文件Makefile的內容,注意M是大寫的
obj-m := hello.o

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

5、再寫另一種Makefile:(版本二:最省事的)
#以下是Makefile文件的內容
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就編譯成功了,命令行不再加參數,很省事。
注意:all: 和clean:下面的行,前面是一個TAB鍵

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

7、查看驅動:
lsmod   看見 hello這個驅動在其中

8、卸載驅動:
rmmod hello
看見/var/log/message里顯示了goodbye
共2 條記錄, 每頁顯示 10 條, 頁簽: [1]

Copyright © 2000 - 2009 曙海教育集團
Powered By 曙海教育集團 Version 2.2
Processed in .01563 s, 2 queries.
主站蜘蛛池模板: 中文字幕欧美日韩一| 22222色男人的天堂| 别揉我胸啊嗯上课呢的作文| 日韩在线一区二区三区免费视频| 666精品国产精品亚洲| 俄罗斯一级成人毛片| 老司机69精品成免费视频| 免费国产真实迷j在线观看| 欧美videos娇小| 51精品视频免费国产专区| 亚洲欧美激情在线| 大胸小子bd在线观看| 深夜福利在线免费观看| 五月激情丁香网| 国产寡妇树林野战在线播放| 最近更新中文字幕在线| 99免费在线观看视频| 国产日韩欧美不卡在线二区| 男女抽搐动态图| 两个小姨子完整版| 免费精品国产自产拍观看| 天天操天天干天天玩| 欧美日本一道高清免费3区| .天堂网www在线资源| 久久综合九色综合网站| 国产乱人免费视频| 好男人在线社区www在线视频免费| 精品久久久噜噜噜久久久| 99热在线播放| 五月开心播播网| 四只虎免费永久观看| 夜夜影院未满十八勿进| 蜜桃视频一区二区| yy6080午夜一级毛片超清| 亚洲欧美日韩国产综合五月天| 女人扒开裤子让男人桶| 美女脱得一二净无内裤全身的照片 | 国产剧情av麻豆香蕉精品| 成人黄18免费视频| 波多野结衣不打码视频| 成年黄网站色大免费全看|