QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1575|回复: 3

编译blob上的问题,请各位大虾指点

[复制链接]
发表于 2005-12-19 12:49:56 | 显示全部楼层 |阅读模式
我在44b0上移植blob,编译blob时遇到了问题。这里说说的我的做法(使用环境RedHat 9):
1. 编辑文件 configure ,把所有arm-linux 改为arm-elf; 在580行处(“ac_ext=c”之前)插入 LDFLAGS=-elf2flt ,保存文件。

2.运行命令./configure --with-board=mba-44b0 --with-linux-prefix=/usr/local/src/uClinux-dist/linux-2.4.x (这是我的uclinux目录) --host=arm-elf

结果:LDFLAGS = -elf2flt -static -nostdlib

3.运行make

4.编译到arm-elf-objcopy -O binary -R .note .comment -S blob-start-elf32 blob-start出现错误(与你的一样):
arm-elf-objcopy:blob-start-elf32:File format not recognized
5.分析blob-start-elf32编译的命令
arm-elf-gcc -Os -I/usr/local/src/uClinux-dist/linux-2.4.x/include
-Wall -march=armv4 -mtune=strongarm1100
-fomit-frame-pointer -fno-builtin -mapcs-32 -nostdinc
-elf2flt -static -nostdlib -o blob-start-elf32
-Wl,-T,./start-ld-script start.o ledasm.o memsetup-s3c44b0.o -lgcc

使用了-elf2flt 选项,把blob-start-elf32编译成flat格式。

6.到目录 blob/src/blob目录下直接执行编译命令(把-elf2flt去掉)
arm-elf-gcc -Os -I/usr/local/src/uClinux-dist/linux-2.4.x/include
-Wall -march=armv4 -mtune=strongarm1100
-fomit-frame-ointer -fno-builtin -mapcs-32 -nostdinc
-static -nostdlib -o blob-start-elf32
-Wl,-T,./start-ld-script start.o ledasm.o memsetup-s3c44b0.o -lgcc

再执行一次
arm-elf-objcopy -O binary -R .note .comment -S blob-start-elf32 blob-start

结果顺利编译通过

显然 arm-elf-objcopy 中 blob-start-elf32 必须为elf格式
其后的blob-rest-elf32 ,blob-chain-elf32编译也应该是elf格式。

7.结论:所以编译源文件要使用 -elf2flt 才能编译通过,但编译连接 blob-start-elf32 又不能使用-elf2flt开关

8.直接修改blob/src/blob的Makefile ,但运行make 后,此Makefile又回复原样,实在没有办法,不知道如何修改。

9.本人一直在windows下编写程序,对makefile 的编辑不是很熟悉,虽然知道错误的原因, 但不知怎样修改makefile ,此事很急,请各位大侠赐教!
发表于 2005-12-20 20:11:13 | 显示全部楼层
一般来说不用去修改makefile 和configure , 只需在configure 命令的前面指定CC 和CFLAGS , LDFLAGS就可以了,请看相关的那篇精华贴.....
回复

使用道具 举报

发表于 2005-12-22 10:03:25 | 显示全部楼层
8.直接修改blob/src/blob的Makefile ,但运行make 后,此Makefile又回复原样,实在没有办法,不知道如何修改。

这样直接修改是没有用的,每次运行configure脚本之后会重新生成Makefile覆盖掉你的修改。所以要么修改configure脚本,要么在运行了configure之后修改Makefile。
回复

使用道具 举报

 楼主| 发表于 2005-12-26 09:49:33 | 显示全部楼层
问题已经解决了!谢谢各位。
我到http://www.lomx.net/cn/lom_arm9_tooltrain.htm
下载了一个编译器,重新编译就OK。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-6-16 11:43 , Processed in 0.122612 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表