在linux核心驅動樹中新增自己的驅動
例如在linux-2.6.x.x/drivers/char中新增驅動目錄lzp_iic
1、在linux-2.6.x.x/drivers/char目錄下新增lzp_iic目錄,並在lzp_iic目錄新增kconfig和makefile
/*******************kconfig 內容******************************************/
## at24c02a device configuration
##用menuconfig建乙個選單項lzp_iic,顯示的字元是tristate後面跟的字串
menuconfig lzp_iic
tristate "lzp at24c02a iic eeprom support"
#depends on has_iomem
#depends on experimental
#判斷lzp_iic選單項是否被選中,選中則顯示具體的驅動項
if lzp_iic
#具體的驅動項lzp_at24c02a,依賴於arch_s3c2440
config lzp_at24c02a
tristate "lzp at24c02a driver"
depends on arch_s3c2440
---help---
liuzhiping first linux driver for at24c02a use iic inte***ce.
endif # lzp_iic
/*******************kconfig end******************************************/
/*******************makefile 內容******************************************/
## makefile for the kernel at24c02a iic drivers.
#obj-$(config_lzp_at24c02a) += lzp_iic.o
/*******************makefile end******************************************/
2、定位到linux-2.6.x.x/drivers/char,編輯kconfig和makefile
/*******************kconfig 內容******************************************/
menu "character devices"
......
#新增如下命令
source "drivers/char/lzp_iic/kconfig"
......
endmenu
/*******************kconfig end******************************************/
/*******************makefile 內容******************************************/
......
#在新增.o檔案的部分新增如下命令
obj-$(config_lzp_iic) += lzp_iic/
......
/*******************makefile end******************************************/
4、登入開發板,測試驅動,
#載入nfs檔案系統
mount -t nfs -o nolock 192.168.0.5:/ /mnt/debian
#拷貝nfs伺服器上的驅動模組到開發板的/lib目錄
cp /mnt/debian/home/transistor/desktop/lzp_iic.ko /lib/
#載入驅動
insmod /lib/lzp_iic.ko
#解除安裝驅動
rmmod /lib/lzp_iic.ko
至此乙個驅動模組就新增完成了。
系統:debian 5.0.7
編輯器:slickedit
0
給主人留下些什麼吧!~~
新增linux核心驅動
1.將核心驅動.ko放入 lib modules 3.2.0 23 generic kernel drivers 目錄下 2.執行depmod a來解決依賴 掃瞄driver下的驅動依賴關係 命令執行完成後,會自動生成modules.dep 和modules.alias。dep為依賴關係。3.更新當...
linux核心中新增驅動的方法
在driver目錄下,新建hello資料夾,進入資料夾,建立兩個檔案hello.h和hello.c,在hello資料夾下新增kconfig和makefile兩個檔案。1,kconfig檔案內容 config hello tristate first android driver default n ...
Linux 驅動開發核心模組的新增
寫這篇部落格的目的是做一下筆記,便於自己查閱。首先給出核心模組源 當然是最最簡單的helloworld。include include module license gpl gpl 開源協議 static inthello init void static voidhello exit void m...