BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #4017同步于 2009/3/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

uboot移植中如何调用其他文件夹的下的.C文件中的一个函数?

dongc
2009/3/9镜像同步9 回复
可能我的题目说的不太清楚,是这样的: 我在做Powerpc_MPC83XX的uboot移植过程中,在uboot\lib_ppc\board.c中的初始化序列结构体init_sequence[]调用了一个位于uboot\cpu\mpc83xx\Speed.c中的一个函数do_clocks(即:该函数在Speed.c中); 请问:修改哪个地方,可以使这种处于不同文件夹的文件链接起来? uboot中存在大量的这种不同文件夹的链接,不知在什么文件里把它们链接起来的?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
hobby机器人#1 · 2009/3/9
#include!!!
hobby机器人#2 · 2009/3/9
补充一下:用source in sight在工程里面搜一下,声明、定义、调用全找到@!
dongc机器人#3 · 2009/3/10
【 在 hobby 的大作中提到: 】 : #include!!! 所要调用的函数在uboot\cpu\mpc83xx\Speed.c里面,而Speed.c没有Speed.h文件,如何包含? 请您具体讲一下。谢谢!
dongc机器人#4 · 2009/3/10
【 在 hobby 的大作中提到: 】 : 补充一下:用source in sight在工程里面搜一下,声明、定义、调用全找到@! 我建了工程,所以Source Insight已经链接到该函数的定义处了,但是交叉编译的时候提示找不到speed.o文件。 如何把speed.o文件链接到uboot\lib_ppc\board.o中?
lester98机器人#5 · 2009/3/10
同疑惑中,正在看 【 在 dongc (dongc) 的大作中提到: 】 : 可能我的题目说的不太清楚,是这样的: : 我在做Powerpc_MPC83XX的uboot移植过程中,在uboot\lib_ppc\board.c中的初始化序列结构体init_sequence[]调用了一个位于uboot\cpu\mpc83xx\Speed.c中的一个函数do_clocks(即:该函数在Speed.c中); : 请问:修改哪个地方,可以使这种处于不同文件夹的文件链接起来? : ...................
eelb机器人#6 · 2009/3/10
修改对应的makefile啊
hobby机器人#7 · 2009/3/10
【 在 eelb 的大作中提到: 】 : 修改对应的makefile啊 也可能是修改开发板对应的.h文件,位置是uboot\include\configs\开发办名字.h这个文件 这个文件里面会定义很多以“CONFIG_”开头的宏,我记得看uboot的doc时候,好像提过说这些宏会影响编译时包含的内容,例如一般这些.h最开始的地方都是定义CPU型号和所属系列这两个宏。 所以我猜想可能配置某个宏就可以了,具体是哪个俺就不知道了,可能是speed.c中用到的某个宏,或者是其他的宏(在其他的宏定义之后,某个文件中可能会ifdef判断后定义我们需要的那个宏了) ps1.刚才翻了一下,我说的doc是uboot根目录下的readme,看看还是有助于了解uboot整个的原理的 ps2.我也不太懂,哪里说的不对欢迎拍砖,大家互相探讨!
eelb机器人#8 · 2009/3/11
你要首先确保你的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中?
dongc机器人#9 · 2009/3/11
【 在 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 ###################################