Kconfig文件的用途及解析

编程入门 行业动态 更新时间:2024-10-23 20:31:01
1、Kconfig文件的作用

首先,内核编译代码的大概过程如下:
遍历每个源码目录Makefile => 根据每个目录的Kconfig来配置Makefile,定制要编译的对象 => 回到顶层目录的Makefile执行编译。
因此各个文件的作用如下:

  • Kconfig
    每个源码目录下提供选项
  • .config
    源码顶层目录下保存选择结果
  • Makefile
    每个源码目录下根据.config中的内容来告知编译系统如何编译

Kconfig文件配置了哪些文件需要编译,哪些文件不用编译。

2、语法解析

语法可以参考源码中的文档说明,路径如下:

Documentation/kbuild/kconfig-language.txt

自己目前用的比较多的如下:

config AUTO_DETECT_ACCELEROMETER
	bool "AUTO DETECT ACCELEROMETER Sensor"
	depends on SENSOR_SUPPORT
	help
	  one load to support different accelerometer sensor.
	  If this option is set, multiple accelerometer driver
	  can be configured at the same time, but only one
	  can be probed.

depend on:表示当前的AUTO_DETECT_ACCELEROMETER配置依赖于SENSOR_SUPPORT配置。

3、注意点
  • Kconfig文件中和Makefile文件中定义的名字不同,缺少一个config前缀:
// Kconfig文件
config CUSTOM_KERNEL_SIGNIFICANT_MOTION_SENSOR
	bool "open significant motion"
	help
	  Kernel space sigificant motion sensor driver.
// Makefile文件
obj-$(CONFIG_CUSTOM_KERNEL_SIGNIFICANT_MOTION_SENSOR)	+= step_counter/
  • 在上一层目录的Kconfig文件中添加配置
source "drivers/misc/mediatek/sensors-1.0/step_counter/Kconfig"
4、遇到的问题

Kconfig文件中定义的宏控和config文件中定义的不一致,导致不能编译生成指定的文件。

参考资料

1.https://blog.csdn/jianwen_hi/article/details/53398141

更多推荐

Kconfig文件的用途及解析

本文发布于:2023-06-13 09:31:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/678934.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:用途   文件   Kconfig

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!