RK3288 平台(Android 5.1)+ PN548 调试流水账(二、Kconfig & Makefile 配置)
2017-06-15 16:01
591 查看
前言:前期编译完成之后,我们需要把驱动编译进内核中,就要修改 Kconfig 文件添加配置菜单,并修改 Makefile 文件把驱动程序添加到编译队列中。
这样在运行 make menuconfig 之后的配置菜单中就出现了手动添加的这一项:
至此,说明配置菜单已经添加成功。
这里需要关注一下 “NFC_NXP_PN54X” 这个关键字,这个关键字在之后的 Makefile 中的配置中将会用到,这里提一下,留个印象,之后会说明。
这里的 obj-$(CONFIG_NFC) 需要修改为上面提到过的“NFC_NXP_PN54X”,不然无法编译到 nfc/目录,修改完如下:
继续进入 nfc/ 目录查看 Makefile 文件,可以看到其他的 nfc 设备的选项,如:
由此可见我还需要添加 += pn54x/ ,把我的驱动的目录 pn54x 添加进去, 同时前面还需要添加编译选项 obj-$(CONFIG_NFC_NXP_PN54X),即:
继续进入 pn54x/ ,打开 Makefile 文件,由于是自己新建的目录,需要自己创建该文件,并在其中添加如下内容:
到此 Makefile 文件修改完毕,这样便可以编译到 kernel/drivers/nfc/pn54x/ 中的驱动文件 pn54x.c 了。
从这个修改的过程中可以看到,Kconfig 文件和 Makefile 文件都是一层一层嵌套的,比较类似的其他驱动的写法,再参考一下网上关于的 Kconfig & Makefile 的语法,是很容易修改的。
一、添加配置菜单(Kconfig)
进入 kernel/drivers/ 目录下,输入 vim Kconfig,在末尾“endmenu”之前添加一行source "drivers/nfc/pn54x/Kconfig",这样在执行 make menuconfig 进行配置的时候会搜索包含在其中的 “drivers/nfc/pn54x/Kconfig”文件,当然光这样还不行,还需要在 drivers/nfc/pn54x/Kconfig 中根据 Kconfig 的语法添加如下内容:
menu "Near Field Communication (NFC) devices" config NFC_NXP_PN54X tristate "NXP PN54X i2c driver" depends on I2C default n endmenu
这样在运行 make menuconfig 之后的配置菜单中就出现了手动添加的这一项:
至此,说明配置菜单已经添加成功。
这里需要关注一下 “NFC_NXP_PN54X” 这个关键字,这个关键字在之后的 Makefile 中的配置中将会用到,这里提一下,留个印象,之后会说明。
二、添加编译配置(Makefile)
依旧进入 kernel/drivers/ 目录下,输入 vim Makefile,查找 “nfc” 关键字,这里是大小写敏感的,也可以尝试搜索 “NFC” 关键字,我这里找到:obj-$(CONFIG_NFC) += nfc/
这里的 obj-$(CONFIG_NFC) 需要修改为上面提到过的“NFC_NXP_PN54X”,不然无法编译到 nfc/目录,修改完如下:
obj-$(CONFIG_NFC_NXP_PN54X) += nfc/
继续进入 nfc/ 目录查看 Makefile 文件,可以看到其他的 nfc 设备的选项,如:
obj-$(CONFIG_BCM2079X_NFC) += bcm2079x-i2c.o obj-$(CONFIG_NFC_PN544) += pn544/ obj-$(CONFIG_NFC_MICROREAD) += microread/ obj-$(CONFIG_NFC_PN533) += pn533.o obj-$(CONFIG_NFC_WILINK) += nfcwilink.o obj-$(CONFIG_NFC_MEI_PHY) += mei_phy.o
由此可见我还需要添加 += pn54x/ ,把我的驱动的目录 pn54x 添加进去, 同时前面还需要添加编译选项 obj-$(CONFIG_NFC_NXP_PN54X),即:
obj-$(CONFIG_NFC_NXP_PN54X) += pn54x/
继续进入 pn54x/ ,打开 Makefile 文件,由于是自己新建的目录,需要自己创建该文件,并在其中添加如下内容:
# mkefile for nfc devices obj-$(CONFIG_NFC_NXP_PN54X) += pn54x.o ccflags-$(CONFIG_NFC_DEBUG) := -DDEBUG
到此 Makefile 文件修改完毕,这样便可以编译到 kernel/drivers/nfc/pn54x/ 中的驱动文件 pn54x.c 了。
从这个修改的过程中可以看到,Kconfig 文件和 Makefile 文件都是一层一层嵌套的,比较类似的其他驱动的写法,再参考一下网上关于的 Kconfig & Makefile 的语法,是很容易修改的。
相关文章推荐
- RK3288 平台(Android 5.1)+ PN548 调试流水账(一、前期编译篇)
- WIFI之一:WIFI常识 && ANDROID平台上调试APM6633 && 基站定位原理
- RK3288平台Android系统源码编译爬坑笔记
- [cocos2d-x 学习] Windows下环境配置&交叉编译到android平台
- [RK3399][Android7.1] Uboot编译所用平台配置文件
- [RK3399][Android7.1] 调试笔记 --- 系统默认时钟配置
- RK3288 _ Android 5.1_Settings定制
- [RK3288][Android6.0] 调试笔记 --- AndroidTool两种低格方式
- [RK3288][Android6.0] 调试笔记 --- Android预编译拷贝多个文件方法
- mac下面xcode+ndk7配置cocos2dx & box2d的跨ios和android平台的游戏教程
- [RK3288][Android6.0] 移植笔记 --- RK818配置不正确导致无法开机调试
- RK3188 5.1平台PCM2708 USB声卡调试
- [RK3288][Android6.0] 调试笔记 --- Camera配置信息dump方法
- [RK3399][Android7.1] 调试笔记 --- DDR中clock相关配置
- 隐藏导航栏状态栏下拉框和设置font巨大 android 5.1 rk3288
- mac下面xcode+ndk7配置cocos2dx & box2d的跨ios和android平台的游戏教程
- mac下面xcode+ndk7配置cocos2dx & box2d的跨ios和android平台的游戏教程
- [RK3288][Android5.1] 调试笔记 -- Android系统ROOT(免授权)
- 编译器&调试---Android在Xp下的环境配置
- Windows&Linux平台编译配置boost1.45