
-----Original Message----- From: u-boot-users-bounces@lists.sourceforge.net [mailto:u-boot-users-bounces@lists.sourceforge.net] On Behalf Of Russell McGuire Sent: den 21 december 2007 12:03 To: joakim.tjernlund@transmode.se Cc: u-boot-users@lists.sourceforge.net; 'Kim Phillips' Subject: Re: [U-Boot-Users] 83xx, FSL_UEC reducing boot latency,printf causing crash
Update,
So by following the back trace after reset I was able to remove all references to functions like, printf, putc, puts, etc... From within any function that was executing from FLASH, all of the Bad trap errors have been removed.
Is there a chance I have the wrong values setup for my internal memory controller, that might be cuasing this?
I am guessing maybe other people who use Freescale boards don't see this problem because their memory ranges are wrapping around, i.e. their flash is at 0xFE000000 and when they wrap memory, they are still accessing RAM.
However, I can't map my flash to this address, since I need expansion room for massive quantities.
So how can we fix this execution from flash issue?
Ahh, this is most likely depending on the manual relocation of pointers/global data that u-boot does, only partial relocation is performed. To get full relocation you must revert commit 928fe33b24cdf382a8dc8687fed24b1961cdb5d6 or some variation thereof. Grant Likely knows more, but I think full relocation was reverted due to some toolchains had problems with it.
I once tried an early version of full relocation and it worked for me. I am using gcc 3.4.6, softfloat and ld 2.16.1 built with gentoo's crossdev.
I am gone in a few hours and won't return until a few days after X-mas. Access to E-mail will be limited.
Jocke