make menuconfig后,首先读入linux-2.6.32.2/arch/arm/Kconfig ???
sudu vi linux-2.6.32.2/arch/arm/Kconfig
(1)找到开头的mainmenu "Linux Kernel Configuration"source "这一行, 这是整个Configure树的根, 这一行匹配最后一个"带endmenu字样的行".再找到init/Kconfig"这一行, 可以看到该行之前的都是固定选项,不会出现在Configure可选选项的, 某个config的例子如下
config CONFIG_SYMBOL
tristate "string" 或者 bool "string"
default [y/n/m] if MACH_XXX2440
depends on ARCH_ARM
help
其中,CONFIG_SYMBOL字符可以在Configure菜单树中找到(按/就是搜索,类似vi), 并且还给出在数中的位置,但是如果在Configure菜单树搜索tristate/bool后面引号内的string,是搜不到的,
(2)搜索所有的menu "string" 的行, 这些都是Kernel Configure中的第一级目录,直到有endmenu字样的这一行结束.
比如arm/Kconfig中有
menu "Boot options" ... 最近的endmenu结束此层
menu "CPU Power Management" ... 最近的endmenu结束此层
整个Kconfig看起来是这样的:
********Kconfig开始*******************
mainmenu "Linux Kernel Configuration"
##*以下是不可选择部分,
config GENERIC_GPIO
bool ##注释:这样的不可选
config PAGE_OFFSET
default 0xC0000000
##*以下是一级菜单的显示
source "init/Kconfig" ## ???
menu "System Type"
##常见的config,包括config_ID标识(对应Makefile里的字符), bool/tristate, depends on和default.
endmenu
menu "Boot options"
##...
endmenu
##*以下是
source "net/Kconfig"
source "drivers/Kconfig"
source "fs/Kconfig"
********Kconfig结束*******************
(3)比如,移植过程中修改linux-2.6.32.2/arch/arm/mach-s3c2440/mach-mini2440.c中代码, 这部分代码对应Kernel Configure菜单树中的哪项 ?
vi linux-2.6.32.2/arch/arm/mach-s3c2440/Makefile &
vi linux-2.6.32.2/arch/arm/mach-s3c2440/Kconfig &
在Makefile中找到: obj-$(CONFIG_MACH_MINI2440) += mach-mini2440.o, 可知mach-mini2440.c编译出的.o文件的选项标识ID=MACH_MINI2440,
在Kconfig中找到: config MACH_MINI2440 的部分, 可以看到这个选项的显示字符是bool "FriendlyARM Mini2440 development board",
在Kernel Configure菜单树中,按/搜索MACH_MINI2440, 可以看到这个选项在:System Type -> S3C2440 Machines -> FriendlyARM Mini2440 development board,这样就找到了, 我们按照手册中修改mach-mini2440.c, 最后是要在这个选项里选择它, 然后保存在顶层的.config中, make内核的时候就会被链接进去了.
Kernel Configure菜单树中,按/搜索选项ID,也能列出此选项ID对应的Kconfig,
格式: [Kernel Configure菜单树]:[对应Kconfig路径]
System Type ->MMU-based Paged Memory:/arch/arm/mach-s3c2440/Kconfig
System Type ->ADC common driver :/arch/arm/plat-s3c24xx/Kconfig
System Type ->Force UART FIFO :/arch/arm/plat-s3c/Kconfig
System Type ->S3C2440 Machines :
Device Drivers->I2C support : /drivers/i2c/Kconfig
Device Drivers->Watchdog : /drivers/watchdog/Kconfig
Device Drivers->Block devices : /drivers/block/Kconfig
File systems->Miscellaneous : /fs/Kconfig
File systems->Miscellaneous->YAFFS2 :/fs/yaffs2/Kconfig
File systems->Network File Systems :/fs/Kconfig
File systems->Network File Systems->Root on NFS: /fs/nfs/Kconfig
上一篇:linux 2.6.32 在arm9(s3c2440)平台的移植 - LCD背光驱动
下一篇:linux 2.6.32 在arm9(s3c2440)平台的移植2 -- Kconfig和Makefile(2)linux
推荐阅读最新更新时间:2024-10-29 19:04
设计资源 培训 开发板 精华推荐
- zuixiaoxitong
- LT1021DCN8-10 用于处理更高负载电流的电压基准的典型应用
- LTC1855、8 通道、10V 输入、14 位、100ksps ADC 转换器的典型应用,具有停机功能
- DC2641A,基于 LTC7801EUFD 同步降压控制器的演示板,16V = VIN = 100V,VOUT = 12V @ 10A
- 2019年电赛C题国一代码(线路负载即故障检测装置)
- 使用 Microchip Technology 的 MIC2774N-XXBM5 的参考设计
- 使用具有 PowerPath 和 2A 输入限制的 LTC4162IUFD-L42M 9V 至 35V、2 节、3.2A 充电器的典型应用
- LT3692AEUH、具有启动电流限制的 12V 至 3.3V 和 2.5V 降压转换器的典型应用电路
- 自制pcb尺
- LM2902DR2G 维恩桥振荡器运算放大器的典型应用