- 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:
- config MACH_SMDK6410
-
bool "SMDK6410" /*Menu display*/
-
select CPU_S3C6410
-
select S3C_DEV_HSMMC
-
select S3C_DEV_HSMMC1
-
select S3C_DEV_HSMMC2
-
select S3C_DEV_I2C1
-
select S3C6410_SETUP_SDHCI
-
select S3C64XX_SETUP_I2C1
-
select S3C_DMA_PL080
-
help
-
Machine support for SMDK 6410
-
-
-
-
-
config MACH_LDD6410
-
bool "LDD6410"
-
select CPU_S3C6410
-
select S3C_DEV_HSMMC
-
select S3C_DMA_PL080
-
select S3C6410_SETUP_SDHCI
-
help
-
Machine support for LDD6410
第一个config是标准的开发板SMDK6410
在菜单里显示SMDK6410
help的内容是当你按下“?”时出来的信息。这些都是可以该的。
select是反依赖,及当选中LDD6410时,就选中了CPU_S3C6410等等。
Kconfig就是靠着这种分布式的依赖关系,最终生成了.config文件,供make命令来实现编译的。
(1)当有块新的开发板时,要记得添加信息到Kconfig里。
阅读(1972) | 评论(0) | 转发(0) |