Chinaunix首页 | 论坛 | 博客
  • 博客访问: 335934
  • 博文数量: 41
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 476
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-01 19:08
个人简介

Android/Linux/音频/驱动

文章分类

全部博文(41)

文章存档

2017年(21)

2016年(20)

我的朋友

分类: 嵌入式

2016-10-28 11:24:05

原文地址:Kconfig的使用 作者:gadfly0217

  1. config MACH_SMDK6410
    您没有插入代码!
针对ARM和其他平台,在做Linux内核的移植时,总是要和Kconfig和Makefile打交道。
以前我不太明白他们的作用,只是知道用make menuconfig、make、make install等命令。
现在通过几次的实践,慢慢的明白Kconfig的作用了。

在Linux源代码的/arch子目录里有Kconfig,然后在对应的arm里也有Kconfig。其实可以把Kconfig看成是让你配置菜单样式的一个文件。

当你不是用一些通用的开发板时,比如我手头的LDD6410。几个重要的文件是这样的。
arch/arm/mach-s3c6410/Kconfig:

  1. config MACH_SMDK6410
  2.     bool "SMDK6410" /*Menu display*/
  3.     select CPU_S3C6410
  4.     select S3C_DEV_HSMMC
  5.     select S3C_DEV_HSMMC1
  6.     select S3C_DEV_HSMMC2
  7.     select S3C_DEV_I2C1
  8.     select S3C6410_SETUP_SDHCI
  9.     select S3C64XX_SETUP_I2C1
  10.     select S3C_DMA_PL080
  11.     help
  12.        Machine support for SMDK 6410




  13. config MACH_LDD6410
  14.     bool "LDD6410"
  15.     select CPU_S3C6410
  16.     select S3C_DEV_HSMMC
  17.     select S3C_DMA_PL080
  18.     select S3C6410_SETUP_SDHCI
  19.     help
  20.        Machine support for LDD6410
第一个config是标准的开发板SMDK6410
在菜单里显示SMDK6410
help的内容是当你按下“?”时出来的信息。这些都是可以该的。
select是反依赖,及当选中LDD6410时,就选中了CPU_S3C6410等等。
Kconfig就是靠着这种分布式的依赖关系,最终生成了.config文件,供make命令来实现编译的。

(1)当有块新的开发板时,要记得添加信息到Kconfig里。
阅读(1921) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~