|
Message
From: Mark<mark@j...>
Date: Sat Feb 23 14:39:21 CET 2008
Subject: [openrisc] or1k's simulation
Yuping wrote: > hi: > I installed the toolchain :drp-0.6 toolchain (or32-elf-**) and goto > orp_soc/sw/support/ fold and do make; next, I goto orp_soc/sw/basic/ fold > and do make, it doesnot work, error messages are: > > or32-elf-ld -T ../support/orp.ld basic.o ../support/reset-nocache.o -o > basic-nocache.or32 ../support/libsupport.a > basic.o: In function `_T7': > basic.S:(.text+0x54c): undefined reference to `_exit' > ../support/reset-nocache.o: In function `_start': > reset.S:(.text+0xec): undefined reference to `_reset' > ../support/libsupport.a(support.o): In function `_read_timer': > support.c:(.text+0x94): undefined reference to `_gettimeofday' > support.c:(.text+0xa4): undefined reference to `___mulsi3' > ../support/libsupport.a(support.o): In function `_report': > support.c:(.text+0xe0): undefined reference to `_printf' > make: *** [basic-nocache] Error 1 > > > Does anybody encounter this problem? I want to generate *.hex file and do > hardware simulation, pls help me
The orp_soc code wasn't written to work with the or32-elf- toochain in the DRP tarball. Try writing a simple test program of your own and compiling.
You might have luck with the orp_soc code if you use -nostdlib -nostartfiles or something like that (I assume it's written to work without a C library, but I really don't know).
Look at the orp_soc code and figure out where it thinks it should be getting printf(). The symbols like _exit, _reset, _start are probably just mangled differently -- try adding or removing underscores at the beginning of the symbol in the .S files. I haven't looked at orp_soc code, so I really don't know what's required. Still, I hope that helps a little.
|
 |