
Hi; My initial binary image for MPC8280 has .text begin at 0xff800000 and _START (entry point) at 0xff801004. However, after mkimage, this original memory locations have been offset by 64 bytes. The image is loaded into flash memory at 0xff800000. My question is how, if it is possible that I can execute-in-place my application+psos kernel with bootm from u-boot? Isn't "-a <load address>" of `mkimage` command meaningless in XIP situation?
[teh@ShrekII inetutil 59]$ mkimage -A ppc -O psos -T kernel -C none -a 0xff800000 -e 0xff801004 -n uImage.psos -d inetutil.bin uImage.psos Image Name: uImage.psos Created: Wed Sep 7 02:33:00 2005 Image Type: PowerPC pSOS Kernel Image (uncompressed) Data Size: 1002024 Bytes = 978.54 kB = 0.96 MB Load Address: 0xFF800000 Entry Point: 0xFF801004 [teh@ShrekII inetutil 60]$ !cp cp uImage.psos /tftpboot/ [teh@ShrekII inetutil 61]$
u-boot> imi 0xff800000
## Checking Image at ff800000 ... Image Name: uImage.psos Image Type: PowerPC Unknown OS Kernel Image (uncompressed) Data Size: 1002024 Bytes = 978.5 kB Load Address: ff800000 Entry Point: ff801004 Verifying Checksum ... OK u-boot> bootm 0xff800000 ## Booting image at ff800000 ... Image Name: uImage.psos Image Type: PowerPC Unknown OS Kernel Image (uncompressed) Data Size: 1002024 Bytes = 978.5 kB Load Address: ff800000 Entry Point: ff801004 Verifying Checksum ... OK XIP Kernel Image ... OK NIP: FF801004 XER: 20000000 LR: 01F846D0 REGS: 01af7bb8 TRAP: 0700 DAR: 01F8CE78 MSR: 00083002 EE: 0 PR: 0 FP: 1 ME: 1 IR/DR: 00
GPR00: 00000002 01AF7CA8 FF8A0720 007FFEB0 00000000 00000000 007FFF00 007FFF13 GPR08: 17D78400 01AF800C 01FB1168 F4700088 01FB90D8 000151D8 01FC5000 FF801004 GPR16: 00000001 00000001 FFFFFFFF 007FFF00 01FC0DE8 00000000 00000002 01B78978 GPR24: 00800000 00000000 00000000 00000000 00000000 01AF7F6C 01FC5614 007FFEB0 Call backtrace: 01F84408 01F84268 01F92E30 01F93150 01F933D8 01F94448 01F94638 01F82FB4 01F7CDB8 01F7B494 Program Check Exception
Thanks.
Regards, TEH