返回信息流可能我的题目说的不太清楚,是这样的:
我在做Powerpc_MPC83XX的uboot移植过程中,在uboot\lib_ppc\board.c中的初始化序列结构体init_sequence[]调用了一个位于uboot\cpu\mpc83xx\Speed.c中的一个函数do_clocks(即:该函数在Speed.c中);
请问:修改哪个地方,可以使这种处于不同文件夹的文件链接起来?
uboot中存在大量的这种不同文件夹的链接,不知在什么文件里把它们链接起来的?
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #4017同步于 2009/3/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
uboot移植中如何调用其他文件夹的下的.C文件中的一个函数?
dongc
2009/3/9镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 hobby 的大作中提到: 】
: #include!!!
所要调用的函数在uboot\cpu\mpc83xx\Speed.c里面,而Speed.c没有Speed.h文件,如何包含?
请您具体讲一下。谢谢!
【 在 hobby 的大作中提到: 】
: 补充一下:用source in sight在工程里面搜一下,声明、定义、调用全找到@!
我建了工程,所以Source Insight已经链接到该函数的定义处了,但是交叉编译的时候提示找不到speed.o文件。
如何把speed.o文件链接到uboot\lib_ppc\board.o中?
同疑惑中,正在看
【 在 dongc (dongc) 的大作中提到: 】
: 可能我的题目说的不太清楚,是这样的:
: 我在做Powerpc_MPC83XX的uboot移植过程中,在uboot\lib_ppc\board.c中的初始化序列结构体init_sequence[]调用了一个位于uboot\cpu\mpc83xx\Speed.c中的一个函数do_clocks(即:该函数在Speed.c中);
: 请问:修改哪个地方,可以使这种处于不同文件夹的文件链接起来?
: ...................
【 在 eelb 的大作中提到: 】
: 修改对应的makefile啊
也可能是修改开发板对应的.h文件,位置是uboot\include\configs\开发办名字.h这个文件
这个文件里面会定义很多以“CONFIG_”开头的宏,我记得看uboot的doc时候,好像提过说这些宏会影响编译时包含的内容,例如一般这些.h最开始的地方都是定义CPU型号和所属系列这两个宏。
所以我猜想可能配置某个宏就可以了,具体是哪个俺就不知道了,可能是speed.c中用到的某个宏,或者是其他的宏(在其他的宏定义之后,某个文件中可能会ifdef判断后定义我们需要的那个宏了)
ps1.刚才翻了一下,我说的doc是uboot根目录下的readme,看看还是有助于了解uboot整个的原理的
ps2.我也不太懂,哪里说的不对欢迎拍砖,大家互相探讨!
你要首先确保你的include/Config.mk里面的cpu是不是你要的mp83**
如果这个里面的cpu是你要的那款cpu,编译的时候只要cpu/mp83**里面makefile里面有编译speed.o这个选择,那么make的时候自然会编译到的
【 在 dongc 的大作中提到: 】
: 我建了工程,所以Source Insight已经链接到该函数的定义处了,但是交叉编译的时候提示找不到speed.o文件。
: 如何把speed.o文件链接到uboot\lib_ppc\board.o中?
【 在 eelb 的大作中提到: 】
: 你要首先确保你的include/Config.mk里面的cpu是不是你要的mp83**
: 如果这个里面的cpu是你要的那款cpu,编译的时候只要cpu/mp83**里面makefile里面有编译speed.o这个选择,那么make的时候自然会编译到的
1.是我所要的mpc83xx;
2.cpu/mpc83xx/makefile,代码如下,似乎已经定义了speed.o这个选择:
include $(TOPDIR)/config.mk
LIB = $(obj)lib$(CPU).a
START = start.o
COBJS = traps.o cpu.o cpu_init.o speed.o interrupts.o \
spd_sdram.o ecc.o qe_io.o pci.o
SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
START := $(addprefix $(obj),$(START))
all: $(obj).depend $(START) $(LIB)
$(LIB): $(OBJS)
$(AR) $(ARFLAGS) $@ $(OBJS)
#####################################
# defines $(obj).depend target
include $(SRCTREE)/rules.mk
sinclude $(obj).depend
###################################