On Thu, 2004-10-28 at 16:03, Stephen.Kimball(a)bench.com wrote:
It seems that LinuxBIOS copies itself to _RAMBASE, which is 0x4000.
Then it branches to 0x4000 into _start, which sets up the stack and
calls hardwaremain. The address of hardwaremain from linuxbios_c.o is
wrong. The address is not the Flash address and it's not the RAM
address. Can someone explain how linuxbios_c.o is linked with RAM
What do you mean ? In the S2885 I built, the _RAMBASE is 0x4000 and
hardwaremain is 0x5fe0 as you can get from the linuxbios_c.map. They
are both in RAM. If you use "objdump -drS linuxbios_c.o" you will
find the hardwaremain is at offset 0x1fe0 from the _RAMBASSE.
BTW, if you specify the -g option for gcc, you can use the -S option
in objdump to see the source code with the disassebmly (-d).
Linuxbios mailing list