在linux核心驅動樹中新增自己的驅動

2021-06-19 08:04:09 字數 2130 閱讀 6404

在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...