Linux 驱动移植之Makefile&Kconfig&defconfig的关系

本文介绍了Linux驱动移植过程中Makefile、Kconfig和defconfig的作用。驱动代码通常保存在Kernel/drivers/leds目录下,与之对应的Makefile和Kconfig文件用于编译和配置。defconfig文件在编译时生成.config,定义了系统默认配置。Kconfig语法用于定义配置选项,而Makefile则根据配置生成目标文件。在移植驱动时,需要在defconfig中开启相应的配置选项,以便编译系统将驱动编译进内核。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

向Linux系统中添加外设时,首先第一步即将外设的驱动代码porting,除了直接将外设的驱动源码放在相应目录,还需要编译进kernel,就需要使用到Makefile &Kconfig。

以Led灯的驱动为例

1、一般将驱动文件保存在路径:Kernel/drivers/leds/leds-qpnp.c

如图所示:


2、在相同路径下存在Makefile和Kconfig文件(路径:Kernel/drivers/leds/)

Makefile和Kconfig存在系统中的多个子目录中,

xxx_defconfig:在android编译时生成.config文件,系统默认配置文件,里面全是CONFIG_XXXX构成

Kconfig:定义配置项(对xxx_defconfig文件中的配置进行定义)

.config:对配置项进行赋值(由xxx_defconfig文件在android编译时生成)

Makefile:建立配置项的生成法则

Linux的build系统就是通过Makefile将外设的驱动编译进kernel

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值