B E L K Q u i c k S t a r t G u i d e
v . 1 . 0 . 9
built to run on the same platform as the tool chain, we use a
native toolchain. On the contrary, for applications built to run
on a target architecture different from the host architecture,
we use a cross-toolchain. In this case all the tools involved in
this process are lead by the “cross-” prefix. So we talk about
cross-compiler, cross-toolchain and so on. The cross-toolchain
used to build U-Boot, the Linux kernel and the applications is
the GNU toolchain for the ARM architecture built for x86 hosts.
In other words, the toolchain runs on x86 machines but
generates binaries for ARM processors. As for all the software
compliant to the GPL license, it is released in source code.
Thus the first thing to do to set up the developing environment
should be building the cross-toolchain. This is not a trivial task,
it takes a lot of time and hard disk space. To avoid this tedious
task, we suggest using a pre-built toolchain as explained in the
following sections.
3.2.3
First stage bootloader (FSBL)
The first stage bootloader is loaded by the internal bootrom
during the boot process. FSBL is run to set up the PS and load
the second stage bootloader (U-Boot). The FSBL must be
created using the Xilinx development tools and must be stored
into the boot memory.
3.2.4
Second stage bootloader: U-Boot
U-Boot is a very powerful boot loader and it became the "de
facto" standard on non-x86 embedded platforms. The main
tasks performed by U-Boot are:
●
hardware initialization
●
starting a shell on the serial port allowing the user to
interact with the system through the provided
commands
●
automatic execution of the boot script (if any)
After system power-up, U-Boot prints some information about
itself and about the system it is running on. Once the bootstrap
sequence is completed, the prompt is printed and U-Boot is
ready to accept user's commands. U-Boot manages an
March, 2016
27/66