Hi,
I have p3041 development kit. It has preloaded uboot. I want to boot uboot from ram . I am using tftp to copy uboot on specified ram memory and use go command for boot but i am getting unexceptional error.
Here is the my information. My RAM memory range is 0x00000000 - 0x80000000
I have assign memory which comes under ram memory range to CONFIG_SYS_TEXT_BASE = 0x11000000 and CONFIG_RESET_VECTOR_ADDRESS = 0x1108fffc and also stop ddr init logic from uboot.
I am following below sequence for boot from preloaded uboot console.
tftp 0x11000000 uboot.pbl
go 0x1108f000
Here are the attached System.map and u-boot.map for reference. I am taking reference from linux - loading u-Boot in memory instead of flashing it - Stack Overflow
Anyone facing that kind of problem. What will be the issue. Let me know if any more information required to understand problem.
Original Attachment has been moved to: u-boot.map.zip
Original Attachment has been moved to: System.map.zip
Hi Pavel,
From above log below is the my findings:
I got error from this "STD_EXCEPTION(0x0e00, InstructionTLBError, UnknownException)" It's defined in Start.s.
U-boot cannot be configured for starting from RAM. The main problem that u-boot contains code for DDR initialization. If u-boot is started from RAM, this code should be removed.
Look at the following page:
http://www.denx.de/wiki/view/DULG/CanUBootBeConfiguredSuchThatItCanBeStartedInRAM
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Pavel,
Thanks for information.
But in uboot i have already disable ddr initialization code. There is one function in common/board_f.c file which is basically do ddr related initialization.
Still facing crash issue. Can you please conform that my text_base and vector address is correct or not.
Is there anything that i have to do for boot ?
Here is the my crash dump.
go 0x1108f000
## Starting application at 0x1108F000 ...
Bad trap at PC: ffffaae8, SR: 0, vector=e00
NIP: FFFFAAE8 XER: 20000000 LR: 7FEF0B6C REGS: 7fdedbe0 TRAP: 0e00 DAR: 00000000
MSR: 00000000 EE: 0 PR: 0 FP: 0 ME: 0 IR/DR: 00
GPR00: 7FF00CA8 7FDEDCD0 7FDEDEE8 00000001 7FE1EDAC 7FE1EDAC FFFFFFFF 7FDEDB9C
GPR08: 00000001 1108F000 00000020 7FDEDCD0 7FF567BC 8284581C 7FF61E3A 7FE1EDA8
GPR16: 7FF61E30 7FF61E2C 7FE060D8 7FE1EDD8 00000000 00000000 00000000 FFFFAAE8
GPR24: 00000000 7FFB0284 00000002 7FE1EDA8 1108F000 00000002 7FF7A1F4 7FE1EDAC
Call backtrace:
7FF00CA8 7FF1D17C 7FEFF67C 7FEFFE2C 7FEFFED8 7FF1BBF0 7FF00844
7FF4D1EC 7FF00C40 7FEF0F50
Exception in kernel pc ffffaae8 signal 0
### ERROR ### Please RESET the board ###
Let me know if any more information required.