From: Jeroen Hofstee <jeroen@myspectrum.nl>
To: u-boot@lists.denx.de
Subject: [U-Boot] Newbie question
Date: Tue, 23 Sep 2014 09:51:25 +0200 [thread overview]
Message-ID: <5421267D.2030309@myspectrum.nl> (raw)
In-Reply-To: <CAAGw9kReZXu0ceBdVwc4GaqvZPBQDWyOj1ucc_Niv=q-uEmndw@mail.gmail.com>
Hello Donald,
On 23-09-14 05:03, Donald Dade wrote:
> I recently bought a Jetson TK1 with the intent of learning all about ARM
> board bring up; essentially everything that happens between the reset
> vector and the spawning of the init process (in Linux). I've got a good
> understanding of this for x86, and I'd like to similarly understand what
> happens with an ARM SoC.
>
> I've been having a rough go of it, for example I cannot even find in
> explicit terms what the reset vector address is. I began to think that
> maybe I'm presupposing too many x86 artifacts and that that's not at all
> how ARM works. x86 has a lot of cruft left over from the 70s, after all.
>
> So I know that there is a u-boot port for the Jetson, so I cloned the
> source, started swimming through it, and quickly started to drown :)
>
> So, my questions are these:
>
> Can anyone briefly explain how the build system works, i.e. how the source
> is configured to build for Jetson
The supported boards have a defconfig file in /configs nowadays. In your
case it is jetson-tk1_defconfig. (or ./MAKEALL -l arm | grep jetson)
# build
export CROSS_COMPILE=arm-linux-gnueabi-
make jetson-tk1_defconfig
make all
You should end up with two binaries, spl/u-boot-spl.bin and u-boot.bin.
The former loads the latter one. spl is build from the same sources tree
but the object files are placed in the spl directory (and tweaked for
size).
and how I find where u-boot's entry point is,
- Look at the output to see which start.S is compiled.
- find start.o
- objdump the obtained elf file (with the .bin) and search for reset
There is no universal memory map / startup sequence for ARM if that is
what you were looking for. You need google or a datasheet to figure out
how (might depend on gpio e.g.) and where code execution begins on
the target.
Note versatileqemu_defconfig can be run with qemu / gdb, so you can
just step through it. You need to load symbols for the location u-boot
relocates itself to as well. Google knows how to do that.
> so I can just look at what it does?
A small note. There are two "boards" at the moment for ARM, if grep
points you to arch/arm/lib/board.c ignore it since this boards uses
common/board_f.c / common/board_r.c.
Good luck,
Regards,
Jeroen
prev parent reply other threads:[~2014-09-23 7:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-23 3:03 [U-Boot] Newbie question Donald Dade
2014-09-23 7:51 ` Jeroen Hofstee [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5421267D.2030309@myspectrum.nl \
--to=jeroen@myspectrum.nl \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.