linux device driver

我們生活周遭存在太多太多的 embedded system ,過去 embedded system 有專屬的 OS,現在 linux 也可以應用在嵌入式環境,不過本版將廣泛討論所有嵌入式系統不只 linux 喔,歡迎有這方面經驗或有興趣的朋友一同進來討論。

版主: chester

linux device driver

文章liu_yi_sheng » 週三 12月 06, 2006 3:32 pm

請問各位:
最近在初學linux device driver,我在實作範例code,我安裝了fedora
code 6vu,我在編譯第2章的第一個範例code時 insmod module,出現
#include <linux/module> error,我在terminal上用gcc編譯,
第一次有編繹出.o檔可是insomd不上去,請問一下是環境有錯誤呢還是.c檔的path有錯誤?還請前輩指導一下!
liu_yi_sheng
可愛的小學生
可愛的小學生
 
文章: 5
註冊時間: 週三 11月 15, 2006 10:14 am

Re: linux device driver

文章jserv » 週四 12月 07, 2006 9:59 am

liu_yi_sheng 寫:請問各位:
最近在初學linux device driver,我在實作範例code,我安裝了fedora
code 6vu,我在編譯第2章的第一個範例code時 insmod module,出現
#include <linux/module> error,我在terminal上用gcc編譯,
第一次有編繹出.o檔可是insomd不上去,請問一下是環境有錯誤呢還是.c檔的path有錯誤?還請前輩指導一下!


Fedora Core 6 的 Kernel 為 linux-2.6,請對應修改 Makefile,並且其 kernel module 為 .ko
jserv
懵懂的國中生
懵懂的國中生
 
文章: 116
註冊時間: 週六 5月 08, 2004 7:36 pm

Re: linux device driver

文章liu_yi_sheng » 週四 12月 07, 2006 10:17 am

jserv 寫:
liu_yi_sheng 寫:請問各位:
最近在初學linux device driver,我在實作範例code,我安裝了fedora
code 6vu,我在編譯第2章的第一個範例code時 insmod module,出現
#include <linux/module> error,我在terminal上用gcc編譯,
第一次有編繹出.o檔可是insomd不上去,請問一下是環境有錯誤呢還是.c檔的path有錯誤?還請前輩指導一下!


Fedora Core 6 的 Kernel 為 linux-2.6,請對應修改 Makefile,並且其 kernel module 為 .ko


我沒有寫Makefile(沒嘗式寫過,請問有範例可以介紹給我看嗎?),還是您有建議哪一版的linux可以直接編譯的?
liu_yi_sheng
可愛的小學生
可愛的小學生
 
文章: 5
註冊時間: 週三 11月 15, 2006 10:14 am

文章阿信 » 週四 12月 07, 2006 10:22 pm

請參考一下吧。

ifneq ($(KERNELRELEASE),)
obj-m := schar.o
else
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
CFLAGS :="-c -O2 -Wall -D__KERNEL__ -DDEBUG -DMODULE -DEXPORT_SYMTAB"
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
endif

clean:
rm -f *.o *.ko *mod*
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章ericchen228 » 週五 12月 22, 2006 3:25 pm

最近在初學linux device driver 3rd,我在實作範例code,我安裝了fedora code 6vu。
我在編譯第2章的第一個範例code時 ,利用其Makefile可順利將hello等編譯成*.ko,
但是執行insmod hello.ko時出現
insmod hello.ko : format error

還請前輩指導一下!
ericchen228
可愛的小學生
可愛的小學生
 
文章: 3
註冊時間: 週五 12月 22, 2006 3:20 pm

文章jserv » 週二 12月 26, 2006 6:06 am

ericchen228 寫:最近在初學linux device driver 3rd,我在實作範例code,我安裝了fedora code 6vu。
我在編譯第2章的第一個範例code時 ,利用其Makefile可順利將hello等編譯成*.ko,
但是執行insmod hello.ko時出現
insmod hello.ko : format error

還請前輩指導一下!


有一種可能是目前 Linux kernel 編譯時採用的 gcc 版本與您的 hello.ko 所用者不相符。
jserv
懵懂的國中生
懵懂的國中生
 
文章: 116
註冊時間: 週六 5月 08, 2004 7:36 pm

文章ericchen228 » 週五 12月 29, 2006 11:03 am

現在改在FC4上編譯linux device driver 3rd的sample code,
則沒什麼問題,我想主要是FC6在install時,沒有在/lib/modules/或是/usr/src/kernel/中放入其事先編譯好的.ko,在FC6中於/usr/src/kernel/加入kernel 2.6.18.4,然後從新編譯kernel,且install modules還是不管用,我用的gcc是FC6內建的。
主要是想看看linux device driver 3rd,現在在FC4上即可try try 看。只是在FC6上無法執行,總有點遺憾。
Thanks!
ericchen228
可愛的小學生
可愛的小學生
 
文章: 3
註冊時間: 週五 12月 22, 2006 3:20 pm


回到 embedded system

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron