[U-Boot] Weird issues with u-boot on Microblaze

Michal Simek monstr at monstr.eu
Tue Aug 25 00:04:21 CEST 2009


Hi,

Dana Goyette wrote:
> Michal Simek wrote:
>> this code can't be compiled - you have bad setting. MONITOR_BASE is always on lower address then
>> FLASH address. Check that your ram on lower address than your flash - this is check by u-boot.bsp too.
>>
>>
>>
>> Regards,
>> Michal
>>
>>
>>
>>
>>
> 
> Thanks for that help, and thanks for updating your git repository.  I 
> had previously forgotten about the "flash must be above RAM" limitation. 
> I had forgotten, and had rebuilt the project without re-running the BSP, 
> after making the mistake of doing "generate addresses".
> 
> I've now rebuild the project and BSP with RAM at 0x10000000 and Flash at 
> 0x20000000, but I'm now getting a linking error:
> 
> u-boot-microblaze/net/eth.c:202: relocation truncated to fit: 
> R_MICROBLAZE_32_PCREL_LO against symbol `board_eth_init' defined in text 
> section in 
> board/xilinx/microblaze-generic/libmicroblaze-generic.a(microblaze-generic.o)

There is problem with weak symbols in toolchain. Simple solution is go to net/eth.c
and comment line with board_eth_init (weak is on the same line). Then you can build
u-boot without any problem.

> 
> I've looked up the error, and about the closest thing I could find was 
> this -- something about "longcall" attribute:

I really don't know - the problem is with toolchain and I think I sent this issue to Xilinx - they
should solve it or you can debug it and find out where the problem is.

> 
> http://www.mail-archive.com/u-boot@lists.denx.de/msg04518.html

it was around ppc

> http://fixunix.com/vxworks/48336-how-solve-error-relocation-truncated-fit-r_arm_pc24.html

Have you tried to compile u-boot with "-mlongcall" or "-mlong-call"?

> 
> In Microblaze, do the absolute address values matter, or just the 
> relative positioning?



More information about the U-Boot mailing list