Chinaunix首页 | 论坛 | 博客
  • 博客访问: 610770
  • 博文数量: 168
  • 博客积分: 1053
  • 博客等级: 少尉
  • 技术积分: 1187
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-30 17:20
个人简介

公众号【嵌入式er笔记】持续记录和分享C/C++、Linux、ARM、Android、IoT等技术相关知识,以及职场、生活经验和感悟。

文章分类

全部博文(168)

分类:

2013-01-09 19:05:38

原文地址: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里。
阅读(7742) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~