面我們的驅(qū)動(dòng)是放在了內(nèi)核源碼的目錄下來(lái)實(shí)現(xiàn)的編譯成驅(qū)動(dòng)模塊,很多時(shí)候我們都是
拿到一個(gè)驅(qū)動(dòng)源碼,不需要把他放到內(nèi)核源碼里面,而是直接把他編譯成驅(qū)動(dòng)模塊,下面我們
來(lái)講下實(shí)現(xiàn)方法,我們還是以蜂鳴器的驅(qū)動(dòng)為例來(lái)講解。
1)因?yàn)?/font>開(kāi)發(fā)板帶的內(nèi)核默認(rèn)是把蜂鳴器直接編譯到內(nèi)核里面了,所以我們要重復(fù)前邊的
步驟“1”到步驟“19”,完成這些步驟以后,把生成的鏡像“zImage”燒寫到開(kāi)發(fā)板。
2)然后在虛擬機(jī)的目錄下用命令 mkdir 建立文件夾“module”,如下圖所示。
1.jpg (8.29 KB, 下載次數(shù): 20)
下載附件
2020-2-25 12:16 上傳
3)然后用命令 cd 進(jìn)入到建立的“module”文件夾,如下圖所示。
2.jpg (11.95 KB, 下載次數(shù): 23)
下載附件
2020-2-25 12:16 上傳
4)拷貝內(nèi)核里面的蜂鳴器驅(qū)動(dòng)到 module 文件夾,如下圖所示。
3.jpg (4.25 KB, 下載次數(shù): 16)
下載附件
2020-2-25 12:16 上傳
5)然后在 module 文件夾建立文件“Makefile”,如下圖所示。
4.jpg (5.75 KB, 下載次數(shù): 20)
下載附件
2020-2-25 12:16 上傳
6)然后在"Makefile"文件輸入下面的信息。
obj-m += itop4412_buzzer.o
KDIR := /home/broswer/iTop4412_Kernel_3.0
PWD = $(shell pwd)
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -RF *.o
其中的“KDIR := /home/broswer/iTop4412_Kernel_3.0"是指定我們內(nèi)核源碼所在的目
錄,我這里內(nèi)核源碼是放在了“/home/broswer/”目錄下面,需要根據(jù)自己的存放位置來(lái)修
改這個(gè)目錄。
7)然后保存并退出 Makefile,在終端輸入”make“命令,編譯蜂鳴器驅(qū)動(dòng),如下圖所
示。
5.jpg (10.83 KB, 下載次數(shù): 24)
下載附件
2020-2-25 12:16 上傳
8)編譯完成后,可以看下在“module”文件夾下面生成了“itop4412_buzzer.ko”, 如下圖所示。
6.jpg (8.04 KB, 下載次數(shù): 27)
下載附件
2020-2-25 12:16 上傳
9)然后可以參照前面的步驟”22“來(lái)測(cè)試我們編譯的蜂鳴器驅(qū)動(dòng)了。
|