RK3288 平台(Android 5.1)+ PN548 调试流水账(二、Kconfig & Makefile 配置)
来源:互联网 发布:金融大数据分析是什么 编辑:程序博客网 时间:2024/06/03 21:31
前言:前期编译完成之后,我们需要把驱动编译进内核中,就要修改 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 调试流水账(二、Kconfig & Makefile 配置)
- RK3288 平台(Android 5.1)+ PN548 调试流水账(一、前期编译篇)
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
- ijkplayer视频播放器源码分析(android)
- Scut服务器创建定时器的方法
- Opencv学习之线性滤波
- 快速上手MySql && MySql GUI工具 SQLyog Community (6)
- 关于oc的#pragma mark
- RK3288 平台(Android 5.1)+ PN548 调试流水账(二、Kconfig & Makefile 配置)
- Spring-AOP概论
- Android Sqlite的介绍及使用
- 随笔_了解公司框架
- ESP8266 AT指令设置及51单片机的控制
- 我眼中的工程师文化
- crc校验详解
- 短信验证码应用介绍
- 数据结构-栈