Android添加驅動

Android添加驅動

   該文在以添加觸摸屏驅動爲例,介紹添加驅動的方法。

1、添加驅動文件
   將驅動文件添加到touchscreen文件夾下(此次要添加的驅動是隻是將.c .h文件直接放在touchscreen文件夾中,要添加的驅動本身不包含文件夾)

android\device\renesas\kernel\drivers\input\touchscreen

2、Kconfig 、Makefile、.config文件介紹

2.1、三者關係比喻
  Kconfig:菜單
  Makefile:具體的做法
  .config:你點的菜

3、修改Kconfig 、Makefile、.config文件

 3.1、修改Kconfig文件

android\device\renesas\kernel\drivers\input\touchscreen\Kconfig
//即添加驅動的路徑下的Kconfig文件
//添加如下代碼
config TOUCHSCREEN_MCU
	tristate "Mcu touchscreen module"
	default m
	help
	  This implement interface support for mcu
	  touchscreen debug.

	  Say Y here if you want to have a Android app debug interface
	  to your system.

	  If unsure, say N.

 3.2、修改Makefile文件

android\device\renesas\kernel\drivers\input\touchscreen\Makefile
//即添加驅動的路徑下的Makefile文件
//添加如下代碼
obj-$(CONFIG_TOUCHSCREEN_MCU)		+= touchscreen_mcu.o

 3.3、修改.config文件

//.config的路徑爲
android\out\target\product\salvator\obj\KERNEL_OBJ\.config
//添加如下代碼
CONFIG_TOUCHSCREEN_MCU=m//編譯成模塊

   到此驅動就已經添加進來了,生成的.ko文件在如下目錄中。

mydroid/out/target/product/salvator/obj/KERNEL_OBJ/drivers/input/touchscreen

3、拷貝文件到打包目錄

//修改modules.mk文件,主要是找**.mk文件
android\device\renesas\salvator\modules.mk
BOARD_VENDOR_KERNEL_MODULES += \
	$(TARGET_KERNEL_MODULES_OUT)/cyttsp6.ko \ //找到在同一目錄下的驅動cyttsp6
	$(TARGET_KERNEL_MODULES_OUT)/cyttsp6_i2c.ko\
	$(TARGET_KERNEL_MODULES_OUT)/touchscreen_mcu.ko//照葫蘆畫瓢

   這樣touchscreen_mcu.ko就會打包到mydroid/out/target/product/salvator/vendor/lib/modules文件夾下。

4、增加系統起來後自動加載驅動

//修改init.salvator.rc文件,也可能是setup.core.cgf文件
android\device\renesas\salvator\init.salvator.rc
//添加如下代碼
insmod /vendor/lib/modules/touchscreen_mcu.ko
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章