打印

cross2.95.3编译u-boot1.1.4出现问题。请教!

[复制链接]
2368|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shkliu|  楼主 | 2007-8-24 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
shkliu|  楼主 | 2007-8-24 10:13 | 只看该作者

编译1.1.2 和 1.1.0 都没有问题

使用特权

评论回复
板凳
wangkj| | 2007-8-24 10:14 | 只看该作者

换新编译器

使用特权

评论回复
地板
shkliu|  楼主 | 2007-8-24 10:26 | 只看该作者

找到了一点线索。在相应的cpu/at920t/config.mk 修改成如下

 That's true but the cc-option checker should use -mapcs-32 if it is
 available, otherwise it will fall back to -mabi=apcs-gnu. It looks
 like your compiler doesn't support the first option either. In this
 case, I'm not sure it worked before Peter's patch. What CPU is it?
 
 You could try the following in your config.mk but you should
 investigate why -mapcs-32 doesn't work:
 
 PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu,))


////////////但是还不懂为什么:)

楼上说的没有到点子。 网上都是2.95.3编译1.1.4没问题,为什么我的问题这么多尼:(

还请高手来个正解。 是不是我的设置问题?

编译器在:   /usr/local/arm/2.95.3/    下面。
我的.bash_profile 
#!/user/bin
export PATH=$PATH:$HOME/bin:/usr/local/arm/2.95.3/bin:/sbin:/usr/sbin:/usr/local/sbin
unset USERNAME

使用特权

评论回复
5
wangkj| | 2007-8-24 10:42 | 只看该作者

你可以按照你的方法解决,但是换编译器肯定可以解决问题

gcc 3.3.4以上的版本都行。

使用特权

评论回复
6
shkliu|  楼主 | 2007-8-24 11:26 | 只看该作者

那别人没有碰到这个问题吗:) 高手解释一下为什么那样修

使用特权

评论回复
7
shkliu|  楼主 | 2007-8-24 11:33 | 只看该作者

wangkj 不知道还记得我不:) gmail还是你邀请的。

有个人写的uboot移植到9200上的日志,怎么没有提及修改boar/at91rm9200dk里面的flash.c,用sst39vf160片子。

使用特权

评论回复
8
wangkj| | 2007-8-24 15:22 | 只看该作者

记得

其实,flash类型修改很容易,grep -nir sst39vf160 u-boot
然后,把sst39vf160的flash.c替换到at91rm9200里面的flash.c
多替换几个,总能找到一款能用的。

使用特权

评论回复
9
shkliu|  楼主 | 2007-8-24 20:47 | 只看该作者

:)

今天用编译了loder 和 多个版本的u-boot,结果我的loder不能用。用别人的loder也只能够启动uboot1.1.2的版本。 前提我没有修改过任何文件。还在困惑中。。。
我知道那个flash.c肯定不正确的。

你说的flash.c我在找找,也打算自己修改一下at91rm9200dk下面的flash.c。

使用特权

评论回复
10
wangkj| | 2007-8-24 22:51 | 只看该作者

loader主要是sdram,pll的问题

使用特权

评论回复
11
shkliu|  楼主 | 2007-8-25 00:04 | 只看该作者

compare了一下,发现了SDRAMC_CR设置区别。

up

使用特权

评论回复
12
bairg521| | 2007-8-25 08:32 | 只看该作者

2.95.3可以编译u-boot-1.1.4,有几个地方要修改

2.95.3可以编译u-boot-1.1.4,有几个地方要修改,更高版本的u-boot要用3.0以上的版本编译,也可能出现以下问题。如果你是基于smdk编译,则只需要注意前两个问题。

1. 在make的过程中,出现:cc1: invalid option `abi=apcs-gnu'
解决方法:
出错的文件是/cpu/s3c44b0/下的config.mk:将
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
改成:
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu),)

2. 修改了第一个错误后,继续make,出现了如下的报错:
make[1]: *** No rule to make target `hello_world.srec', needed by `all'.  Stop.
make[1]: Leaving directory `/home/mort/src/targa/u-boot/u-boot-TOT/examples'
make: *** [examples] Error 2
解决方法:
修改examples/Makefile 
把126行和129行改为:
     %.srec: %.o
     %.bin: %.o
继续make 

3. 出现 crane2410.a needed by smdk2410.o
解决方法:
修改board/crane2410/Makefile 
将28行的 
OBJS    := smdk2410.o flash.o
改为
OBJS    := crane2410.o flash.o
继续make获得u-boot 

使用特权

评论回复
13
shkliu|  楼主 | 2007-8-26 08:27 | 只看该作者

多谢! 怎么没有说说为什么这么改呢:)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

96

帖子

0

粉丝