MACH_FRIENDLY_ARM

不知道大家是否遇到过找不到MACH_FRIENDLY_ARM定义的问题,反正我遇到了,在我前两次移植linux内核时我都碰到了这个问题,而且迟迟到今天才把这个问题解决。

老样子首先分析为什么找不到MACH_FRIENDLY_ARM。原因:还是我功底太薄,对kconfig文件和Makefile文件理解的不够深刻。否则,在配置文件找个定义也就是几分钟甚至一分钟的问题。

第一次移植内核是仿照友善提供的源码。第一次见到对MACH_FRIENDLY_ARM的使用是在arch/arm/mach-s3c2440/kconfig 中

config MACH_FRIENDLY_ARM_MINI2440
 bool "FriendlyARM Mini2440/QQ2440 development board"
 select CPU_S3C2440
 select MACH_FRIENDLY_ARM
 help
   Say Y here if you are using the FriendlyARM Mini2440/QQ2440 development board.

可见只要我们在配置内核时选择了FriendlyARM Mini2440/QQ2440 development board选项MACH_FRIENDLY_ARM就会被立即选上。可是MACH_FRIENDLY_ARM定义在哪呢?当前目录是没有它的定义的

想快速找到它,首先要猜测它的作用,MACH_FRIENDLY_ARM选项是体系结构相关的定义,因此不会逃出arch/arm/这个目录,在这个目录中除了/mach-s3c2440这个目录和2440有关,还有那个目录会和2440有关系呢?我想你会很容易找到plat-24xx这个目录,没错就是它,你会在此目录下的kconfig中找到有关定义如下:

config MACH_FRIENDLY_ARM
 bool
 help
   Common machine code for FriendlyARM boards i.e. Mini2440, QQ2440, etc

找到定义,下一步我们需要看它的作用。作用在当前目录下的Makefile中清晰可见

obj-$(CONFIG_MACH_FRIENDLY_ARM) += common-friendly-arm.o

决定了是否编译本目录下的common-friendly-arm.c文件。

好了,问题解决。



 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值