u-boot1.1.5,已打过atmel的补丁
cpu;at91sam9260
编译器:armv51-linux-gcc
问题;cc1:错误,无法识别的命令行选项 ‘mapcs-32'
....[post]...
在at91论坛上寻了些帖子如下:
Ok, apparently, the -mtune=arm926ejs is invalid and the -mapcs-32 is un-necessary. So I edited u-boot-1.1.4/cpu/arm926ejs/at91sam9261/config.mk from
Code:
PLATFORM_CPPFLAGS += -mapcs-32 -march=armv5te -mtune=arm926ejs
to
Code:
PLATFORM_CPPFLAGS += -march=armv5te -mtune=arm926ej-s
u-boot compiles fine now. Just have to work out some kernel bugs now.
Matt.
Hi there
From my limited experience, I would only compile U-Boot using gcc 3.4.3. The U-Boot I was compiling was 1.1.5_atmel_1.2 for the at91sam9260. After fixing up the 2 compiler options, I could get a clean compile using gcc 4.1.0. But at runtime, accesses to DataFlash were flakey; I suspect that SPI was messed up. Anyway, the at91bootstrap code has a README file that clearly documents the compiler to use is gcc 3.4.3. Since both the Atmel bootstrap and U-Boot came from the same place, there's a really good chance that the Atmel U-Boot for at91sam9260 was also compiled with gcc 3.4.3.
Anyway I downloaded the compiler from http://www.gnuarm.org/, compiled with the original options, and had no SPI or DataFlash issues.
Regards
原来是编译器的不对,换了内含gcc 3.4.1的果然编译过去了。linux下的编译还有很多不明白,怎么从一份源代码的本身知道要用什么编译器呢,而不是接触前人的经验?