Hi Adam,
% arm-none-eabi-gcc --version arm-none-eabi-gcc (Linaro GCC 4.5-2011.02-0) 4.5.2 make[8]: *** No rule to make target
`/opt/armgcc/lib/gcc/arm-none-eabi/4.5.2//crtendS.o', needed by `libl4sys.so'. Stop.
Please use the arm-none-linux-gnueabi version of gcc. Looks like we might not need to link crtendS.o at least with 4.5 but I'm not sure currently for other versions.
I'm having trouble understanding how the bootstrap images are supposed to be run on an ARM board if they are compiled with arm-none-linux-gnueabi instead of arm-none-eabi. Reading the Sourcery G++ Lite documentation, and talking to ARM support, bare metal should be compiled using arm-none-eabi.
I am able to compile a hello world application for execution off the Versatile Express Boot Monitor using arm-none-eabi but not when using arm-none-linux-gnueabi (too many headers error). I saw in the bootstrap linker script that the data and bss sections are combined to fix this problem. But when I try to run one of the E=hello bootstrap images (ELF or RAW) I get garbage printed out. With arm-none-eabi I have to specify a 'hosted' linker script to get it to output text.
Fiasco.OC's Features web page states it supports the Versatile Express board. I'm unable to find any documentation on it though.
At this point, would I need to modify the build to use arm-none-eabi and the Makeconf.local to use the correct arm-none-eabi linker script and build option (e.g. -mcpu=cortex-a9)?
Thanks,