历史上的今天
返回首页

历史上的今天

今天是: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

推荐阅读

史海拾趣

Ferraz Shawmut(Mersen)公司的发展小趣事

2010年,Ferraz Shawmut正式更名为Mersen。这一更名标志着公司进入了一个新的发展阶段。Mersen继续秉承Ferraz Shawmut的技术创新和市场拓展精神,不断推出符合市场需求的新产品和技术解决方案。同时,公司也加大了对研发和创新的投入力度,以保持其在电气保护领域的领先地位。

ECLIPTEK公司的发展小趣事

随着全球对环保问题的日益关注,ECLIPTEK公司积极响应环保号召,将绿色环保理念融入其产品研发和生产过程中。公司采用环保材料和清洁能源,减少生产过程中的废弃物和污染物排放。同时,ECLIPTEK还积极参与环保公益活动,推动电子行业的可持续发展。

Econais公司的发展小趣事

为了加速产品的市场推广和应用,Econais积极寻求与行业内其他优秀企业的合作。XXXX年,Econais与Xively公司达成战略合作,共同为工业、商业和住宅市场提供一站式的物联网解决方案。通过这次合作,Econais的WiSmart Wi-Fi用户能够无缝连接到Xively云,为各种物联网应用提供强有力的支持。

EMC [ELAN Microelectronics Corp]公司的发展小趣事

作为一家有社会责任感的企业,义隆电子一直积极履行社会责任,致力于可持续发展。公司注重环境保护和资源节约,采用环保材料和节能技术生产产品。同时,公司还积极参与公益事业和社会活动,回馈社会。这种注重社会责任和可持续发展的企业文化使得义隆电子在行业内树立了良好的形象。

以上五个故事简要概述了义隆电子股份有限公司(Elan Microelectronics Corp.)在不同发展阶段的关键事件和成就。这些故事展示了义隆电子在技术创新、市场拓展、人才培养和社会责任等方面的努力和成就。

BSI公司的发展小趣事

在全球化的背景下,电子行业的国际合作日益加强。BSI作为国际标准化组织的重要成员,积极推动了电子行业的国际合作和交流。通过组织国际会议、研讨会等活动,BSI为各国政府、行业协会和企业提供了一个交流和合作的平台。这些活动不仅促进了电子行业的国际合作和交流,还推动了电子行业的全球化发展。

虽然以上并非具体的发展故事,但通过这些描述,可以看出BSI在电子行业发展中扮演了重要角色,通过标准制定、产品测试与认证、推动绿色发展、支持技术创新以及促进国际合作等方式,为电子行业的健康发展做出了积极贡献。如需更多关于BSI公司具体发展故事的信息,建议查阅公司官方发布的资料或相关新闻报道。

Bel Power Solutions公司的发展小趣事

在国内市场取得一定成绩后,Bel Power Solutions开始积极拓展国际市场。公司通过与全球知名企业的合作,成功将产品打入国际市场,并赢得了良好的声誉。同时,公司还积极寻求与系统集成商、分销商等建立长期稳定的合作关系,共同开拓市场。这些合作伙伴关系的建立,不仅为公司带来了更多的商业机会,还提升了公司的品牌影响力和市场份额。

问答坊 | AI 解惑

DSP调试我的几点经验

1)不要贪快,俗话说得好:欲速则不达。毕竟硬件的编程和软件的编程还是有很大的不同,否则一旦出错,无从下手 2)做到一定程度,要存档,要总结。(备份) 3)要看你所开发的DSP的文档,并且要详细反复的看,这一点尤为重要。 4)多参考示例代 ...…

查看全部问答>

【求救】explorer 没有自启动的毛病

修改注册表 把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 应用问题!

想全面的了解一下 wince的kitl! 但是网上的资料多是解说如何启动kitl,kitl如何收发数据的!却对kitl最重要的应用说的很少,比如利用kitl能做些什么? 只知道是用来调试的也太笼统了, 想知道调试的方法和过程! 请大虾们讲讲wince kitl的应用吧!!谢谢!…

查看全部问答>

求 programming the microsoft windows driver Mode

Hi :    偶现在有第一版的电子书但没光盘,有第二版的光盘但没中文版电子书---郁闷。 哪位有第一版的随书符带光盘或第二版的中文版电子书,麻烦给个链接或发至: win32fan@yahoo.com.cn          &nb ...…

查看全部问答>

【求助】请问光耦最低功耗是多少?

那位大侠知道有没有低于500uA的光耦~我要用430驱动~~…

查看全部问答>

一个简单的C程序,结果出乎我的意料

MPLAB IDE 8.73    编译工具C18 V3.4  MCU:PIC18F452 本人在看书看到书有这么一段程序,让学生观察PORTB的变化,程序如下: #include<p18F452.h>void main(void)  {     TRISB=0;  & ...…

查看全部问答>

请教HX711电子秤AD芯片的电压问题

HX711有一个DVDD和AVDD,现在电子秤传感器的激励信号是5V,所以AVDD是要接上5V电源。但是单片机我用的是3.3V输入电压的,DVDD是不是要接3.3V呢?要不然HX711数字信号引脚的电压能否和单片机电压保持一致?…

查看全部问答>