Date: Fri, 28 Feb 2014 16:58:20 -0700 From: Ian Lepore <ian@FreeBSD.org> To: Pete Wright <pete@nomadlogic.org> Cc: Warner Losh <bsdimp@gmail.com>, freebsd-arm@FreeBSD.org Subject: Re: bootelf required? Message-ID: <1393631900.1149.191.camel@revolution.hippie.lan> In-Reply-To: <53111C5D.9050708@nomadlogic.org> References: <53111985.2010004@nomadlogic.org> <280DDC61-858D-4142-A688-005F3AD6AAD4@bsdimp.com> <53111C5D.9050708@nomadlogic.org>
next in thread | previous in thread | raw e-mail | index | archive | help
The more likely entry point for ubldr is an offset of 0x54. If the version of u-boot is new and enables data caches, the "go" command doesn't disable them like our software expects (bootelf and bootm and the other more formal boot commands do). That might make the full sequence something like: fatload mmc 2 88000000 ubldr dcache off ; dcache flush go 88000054 For that to work, ubldr has to have been linked to run at 88000000. Whatever value crochet uses for UBLDR_LOADADDR=3D is what should be used as the loadaddr in u-boot. Any address in the range of 10000000 - 8x000000 should work. The 'x' factor is where u-boot itself lives, gotta be careful not to load over the top of it. Usually the 'bdinfo' command in u-boot will tell you about the memory u-boot itself uses. 88000000 is probably safe on a 2gb system. I'm not sure what the "mmc read 10042000 a 400 && go 10042000" thing is all about. -- Ian On Fri, 2014-02-28 at 15:31 -0800, Pete Wright wrote: >=20 > On 02/28/14 15:21, Warner Losh wrote: > > Look up the =91start=92 symbol address and try =91go <addr>=92 where = <addr> likely is 0x880000c0 > > iirc. > >=20 >=20 > thanks for the tip! doesn't seem to be helping - system hangs after: > CM-FX6 # go 0x880000c0 > ## Starting application at 0x880000C0 ... >=20 > printenv contains the following line: > run_eboot=3Decho Starting EBOOT ...; mmc dev ${mmcdev} && mmc rescan && > mmc read 10042000 a 400 && go 10042000 >=20 > which i manually ran like so: >=20 > CM-FX6 # mmc dev 2 > mmc2 is current device > CM-FX6 # mmc rescan > CM-FX6 # fatload mmc 2 0x10800000 ubldr > reading ubldr >=20 > 245290 bytes read > CM-FX6 # mmc read 10042000 a 400 >=20 > MMC read: dev # 2, block # 10, count 1024 ... 1024 blocks read: OK > CM-FX6 # go 10042000 > ## Starting application at 0x10042000 ... >=20 > at which point the box becomes unresponsive and i manually power-cycle = it. >=20 >=20 > -pete >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1393631900.1149.191.camel>