歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Tiny6410 我的第一個嵌入式Linux驅動程序模塊

Tiny6410 我的第一個嵌入式Linux驅動程序模塊

日期:2017/3/1 10:38:16   编辑:Linux編程

研究了好久模塊驅動的安裝方法,今天終於做出來東西了,紀念一下!

第一步:編譯配置linux-2.6.36/drivers/char/Kconfig文件。

比如我要配置一個模塊

config guozhiyuan
tristate "guozhiyuan sample"
depends on CPU_S3C6410
help
guozhiyuan sample.

第二步:在linux-2.6.36下運行make menuconfig 選擇Device Drivers -->Character devices 選擇要編譯的對象,變成<M>。

第三步:編譯linux-2.6.36/drivers/char/Makefile 文件

加入obj-$(CONFIG_guozhiyuan) += guozhiyuan.o

第四步:回到linux-2.6.36下執行make modules ,就可以生成

LD [M] drivers/char/guozhiyuan.ko

前提是要執行過make zImage一次,只需一次就可以了。

至此,就完成了模塊驅動的編譯了

接著我們要把編譯好的guozhiyuan.ko用ftp命令下載到開發板上使用,並移動到/lib/modules/2.6.36-FriendlyARM,

在運行modprobe guozhiyuan (注意使用modprobe命令加載模塊不需要加“ko”後綴) 會出現如下錯誤:

modprobe: module 'guozhiyuan.ko' not found

這是要把模塊文件放到/lib/modules/2.6.38-FriendlyARM/kernel 目錄下;

運行 depmod

再 回到/lib/modules/2.6.38-FriendlyARM 目錄下執行modprobe guozhiyuan 就好了

最終會顯示:

[root@FriendlyARM 2.6.38-FriendlyARM]# modprobe guozhiyuan
Hello, welecome guozhiyuan !
[root@FriendlyARM 2.6.38-FriendlyARM]# rmmod guozhiyuan
Good-bye, guozhiyuan was removed!
[root@FriendlyARM 2.6.38-FriendlyARM]#

Copyright © Linux教程網 All Rights Reserved