历史上的今天
今天是:2025年08月09日(星期六)
2021年08月09日 | linux 2.6.32 在arm9(s3c2440)平台的移植2 -- Kconfig和Makefile(2)
2021-08-09 来源:eefocus
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
史海拾趣
|
1)不要贪快,俗话说得好:欲速则不达。毕竟硬件的编程和软件的编程还是有很大的不同,否则一旦出错,无从下手 2)做到一定程度,要存档,要总结。(备份) 3)要看你所开发的DSP的文档,并且要详细反复的看,这一点尤为重要。 4)多参考示例代 ...… 查看全部问答> |
|
修改注册表 把Launch50 的 explorer 换成了 myapp 为了保险,还弄了修改regedit和 挂起保存的两个按钮,想说即使不行也可以修改注册表。 开机后发现不行!!! 远程连接只能够传文件,EVC的远程注册表连不上了,(没有控制面板不能,禁用DM9000 ...… 查看全部问答> |
|
我使用的是义隆的编译器:WICEPLUS 程序调试窗口显示: file.s -- 0 erroe(s) 0 warning(s) file.s -- 0 erroe(s) 0 warning(s) file.s(76): AS73: Invalid register index file.s(13 ...… 查看全部问答> |
|
想全面的了解一下 wince的kitl! 但是网上的资料多是解说如何启动kitl,kitl如何收发数据的!却对kitl最重要的应用说的很少,比如利用kitl能做些什么? 只知道是用来调试的也太笼统了, 想知道调试的方法和过程! 请大虾们讲讲wince kitl的应用吧!!谢谢!… 查看全部问答> |
|
求 programming the microsoft windows driver Mode Hi : 偶现在有第一版的电子书但没光盘,有第二版的光盘但没中文版电子书---郁闷。 哪位有第一版的随书符带光盘或第二版的中文版电子书,麻烦给个链接或发至: win32fan@yahoo.com.cn &nb ...… 查看全部问答> |
|
MPLAB IDE 8.73 编译工具C18 V3.4 MCU:PIC18F452 本人在看书看到书有这么一段程序,让学生观察PORTB的变化,程序如下: #include<p18F452.h>void main(void) { TRISB=0; & ...… 查看全部问答> |
|
HX711有一个DVDD和AVDD,现在电子秤传感器的激励信号是5V,所以AVDD是要接上5V电源。但是单片机我用的是3.3V输入电压的,DVDD是不是要接3.3V呢?要不然HX711数字信号引脚的电压能否和单片机电压保持一致?… 查看全部问答> |




