Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Jan 2012 11:13:32 +0100
From:      Rafal Jaworowski <raj@semihalf.com>
To:        Tim Kientzle <tim@kientzle.com>
Cc:        arm@FreeBSD.org, Mark Murray <markm@FreeBSD.org>
Subject:   Re: FreeBSD and BeagleBone
Message-ID:  <DB160959-A698-415D-AACC-659D6469212E@semihalf.com>
In-Reply-To: <AEF07CD1-6794-4F04-AF9C-938423FE919B@kientzle.com>
References:  <23CB6C35-9450-40BA-9FA3-37C44B328CA8@freebsd.org> <CABt%2Bj0mB4w==h_SQ4YyDM24_wGOjcdZDK9T1N3DqjSkap0VkQw@mail.gmail.com> <E8A24EBE-967D-44F8-A884-3207B3C6F0FE@bsdimp.com> <8042D895-3B3D-431E-ADCC-A150BDC838ED@kientzle.com> <CAGW5k5ahyaTest3L0NTe1t%2B%2BYBgpLMkWZNpp=GRyz%2Bg=nMcZLg@mail.gmail.com> <7E53112E-DE29-4145-B597-D39AA77252C5@kientzle.com> <E1RoGMT-000DkR-6a@groundzero.grondar.org> <AEF07CD1-6794-4F04-AF9C-938423FE919B@kientzle.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 2012-01-21, at 08:34, Tim Kientzle wrote:

> On Jan 20, 2012, at 7:26 AM, Mark Murray wrote:
>=20
>>> For the moment, I'm more curious about just how far I can push this
>>> using FreeBSD tools only.
>>=20
>> I've locally updated cross-(binutils|gcc|gdb) to the latest stable
>> versions, and they seem to work really well for u-boot, OpenPilot and =
a
>> couple of other things.
>=20
> Warner's pointer about "make xdev" helped a lot.
>=20
> $ cd /usr/src && make xdev XDEV=3Darm XDEV_ARCH=3Darm
>=20
> Then U-boot almost builds with
>=20
> $ cd ~/u-boot
> $ gmake CROSS_COMPILE=3Darm-freebsd-  am335x_evm_config
> $ gmake CROSS_COMPILE=3Darm-freebsd-
>=20
> To actually get it to build, I've had to make two changes to U-Boot =
sources:
>   * In config.mk, remove "-nostdinc" from CPPFLAGS
>   * In Makefile, add /usr/arm-freebsd/usr/lib/libc.a to PLATFORM_LIBS
>=20
> The first fixes missing stddef.h, stdarg.h headers.  (I'm not
> sure why the -nostdinc works on Linux.)
>=20
> The second is needed to resolve __umodsi3, __udivsi3, etc,
> functions.  (These might be defined in libgcc on Linux, and
> there's some logic here to try to locate libgcc.)
>=20
> With these, I've been able to rebuild u-boot for
> the BeagleBone from TI's sources to add the "bootelf"
> command.  (The same changes seem to allow the current source
> from denx.de to build on FreeBSD.)
>=20
> But ubldr still won't run:
>=20
> U-Boot# fatload mmc 0 0x80008000 ubldr
> reading ubldr
> 232591 bytes read
> U-Boot# bootelf 0x80008000
> <hang>
>=20
> Anyone else used U-Boot to run ubldr on Arm?

Looking at memory addresses you use for loading etc. the problem you =
might be hitting is with a linking address range: ubldr by default is =
linked against 0x1000000, and the bootelf command would follow this =
while parsing ELF and placing code/data in memory. If your system config =
does not allow available RAM in this range it would crash / hang. If =
this is the case, please try to adjust linking addr range in =
sys/boot/arm/uboot/ldscript.arm to fit your layout and see if this =
helps.

Rafal




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DB160959-A698-415D-AACC-659D6469212E>