Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
en:xu3_bootloader [2015/02/02 13:43] ruppi created |
en:xu3_bootloader [2015/02/02 16:32] (current) charles.park [Boot Media] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Boot Loader====== | ||
+ | ---- | ||
+ | |||
+ | ===== Boot Media ===== | ||
+ | On ODROID-XU3 is a DIP Switch (sw1) to select the [[en:xu3_bootmode_configuration|booting Device]] and CCI Disable/Enable. | ||
+ | |||
+ | ^ SW1-1(Left of Dip Switch) ^ 1st Boot media ^ | ||
+ | |OFF|MicroSD card| | ||
+ | |ON|eMMC| | ||
+ | |||
+ | ^ SW1-2(Right of Dip Switch) ^ CCI ^ | ||
+ | |OFF|Disable| | ||
+ | |ON|Enable| | ||
+ | |||
+ | **SW1-2 MUST be ON(CCI Enable) in order to boot properly.** | ||
+ | |||
+ | ===== Boot Sequence ===== | ||
+ | Upon power on the board will search for the boot media. It will perform the following: | ||
+ | * 1) iROM (Code inside the SoC) will attempt to read the boot media at the first 512 bytes of it. On those first 512 bytes fwbl1 should exist. | ||
+ | * 2) fwbl1 will load bl2 (SPL) that is part of the U-boot. | ||
+ | * 3) bl2 will load U-boot. | ||
+ | * 4) U-Boot will do whats left, such as handle TrustZone, load kernel image if setted. | ||
+ | |||
+ | === fwbl1 === | ||
+ | This blob is the first thing that CPU will call, we don't have much information on it since its provided by Samsung.\\ Position on SD: 1 | ||
+ | |||
+ | === bl2 === | ||
+ | This is the SPL, part of the U-Boot, upon building U-Boot you'll have the mkspl program what will extract it from the u-boot.bin\\ Position on SD: 31 | ||
+ | |||
+ | === u-boot.bin === | ||
+ | This is the U-Boot itself built. For more information about U-Boot please check their website: | ||
+ | http://www.denx.de/wiki/U-Boot\\ Position on SD: 63 | ||
+ | |||
+ | === TrustZone Software === | ||
+ | This is the blob done by Samsung/ARM to support Trustzone platform.\\ Position on SD: 719 | ||
+ | |||
+ | === Default Env === | ||
+ | The default env provided in U-Boot will attempt the following: | ||
+ | |||
+ | * 1) Load boot.ini script from the first FAT type partition from the boot media. | ||
+ | * 2) Load kernel from its on media/ramdisk position (This is the Android Boot) | ||
+ | |||