AT91Bootstrap is the 2nd level bootloader for Atmel AT91 SoC providing a set of algorithms to manage the hardware initialization such as clock speed configuration, PIO settings, DDR2 DRAM initialization. After that it downloads your main application, usually the Linux Kernel image, from the first microSD partition to DDR2 RAM main memory and runs it from there.
How to compile AT91Bootstrap:
Install the cross compiler and the toolchain required on your Linux Ubuntu PC following this article (Tested on Ubuntu 12.04):
Copy the CORE9G25 at91bootstrap-master.tar.bz2 from the CD://linux/code/ to the PC /tmp folder, then do the follow command to uncompress it:
~$ cd ~ ~$ tar xvf /tmp/at91bootstrap-master.tar.bz2 -C .
This is a fork of the original Atmel version available on GitHub.
Move inside the at91bootstrap directory and launch Make:
~$ cd at91bootstrap-master ~/at91bootstrap$ make mrproper ~/at91bootstrap$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- at91sam9x5eknf_uboot_defconfig
If you use the 256MB DDR2 RAM verison, run the follow command to replace the above command:
~/at91bootstrap$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- at91sam9x5eknf_uboot_256M_defconfig
When the configuration in ready save and launch the compilation by typing:
~/at91boostrap$ make -j4 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
Copy the binary file to USB Disk, and then you can insert it to the board to update the bootstrap file(refer to the Update the system image by USB Disk)
~/at91bootstrap$ cp binaries/at91sam9x5ek-nandflashboot-uboot-3.5.3.bin /media/usbhd-sda1/
/media/usbhd-sda1/ is the USB Disk.
A compiled version of AT91Bootstrap is available on: