文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux 2.6.32 在arm9(s3c2440)平台的移植2 -- kconfig和makefile(...

linux 2.6.32 在arm9(s3c2440)平台的移植2 -- kconfig和makefile(...

时间:2010-08-11  来源:dos5gw

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
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载