Академический Документы
Профессиональный Документы
Культура Документы
From OMAPpedia
Contents
1 OMAP U-boot 2 OMAP Boot Sequence 2.1 First Stage Boot 2.2 Second Stage Boot 3 Bootloader Overview 3.1 Accessing Uboot source 3.2 Building Uboot 3.3 U-boot config files 3.4 Accessing X-loader source 3.5 Building Xloader for GP 3.6 X-loader config files 3.7 Building Xloader for EMU 4 Flashing 5 Upstreaming U-boot
OMAP U-boot
Das U-Boot (http://www.denx.de/wiki/U-Boot) is the bootloader typically used on OMAP development platform. X-Loader is a tiny first stage minimal bootloader which loads up u-boot as explained by this wiki. Developer Reference: OMAP3 U-Boot TODO things for mainline U-boot Support.
# devmem2 0x480022f0 b /dev/mem opened. Memory mapped at address 0x40020000. Value at address 0x480022F0 (0x400202f0): 0x2F
Serial Boot A simple ID is written out of the serial port. If the host responds correctly within a short window of time, the ROM will read from the serial port and transfer the data to the internal sram. Control is passed to the start of sram if no errors are detected. UART3 is the only uart for which the ROM will attempt to load from. SD Card Boot Assuming there was no answer from the host during serial boot, the ROM looks for an SD Card on the first MMC controller. If a card is found, the ROM then looks for the first FAT32 partition within the partition table. Once the partition is found, the root directory is scanned for a special signed file called "MLO"(x-load binary with a header containing the memory location to load the file and the size of the file). Assuming all is well with the file, it is transfered into the internal sram and control is passed to it. Both MMC1 and MMC2 can be used for booting. Nand Boot Assuming the SD Card boot was unable to complete successfully, the ROM attempts to load the first sector of Nand. If the sector is bad, corrupt, or blank, the ROM will try the next sector (up to 4) before exiting. Once a good sector is found, the ROM transfers the contents to sram and transfers control to it.
SD Card Boot The SDCard x-loader looks for a FAT32 partition on the first MMC controller and scans the top level directory for a file named "uboot.bin". It then transfers the file into main memory and transfers control to it.
NAND Boot The nand x-loader expects u-boot to be loaded at the 5th sector (offset 0x00800000). It transfers the image from nand into main memory and transfers control to it.
Bootloader Overview
Bootloader project contains information regarding the building and flashing procedures for uboot and xloader. These two items are necessary to bring up the zoom2's environment. Why two bootloaders? The first bootloader, x-loader, is a stripped down version of u-boot designed to run in the on-chip sram of the zoom2. It initializes the main off-chip memory of the system and other necessary device drivers, and then loads the larger bootloader for linux, u-boot. The following steps will build the bootloaders:
Ensure that "git" has been installed within the host system. Git is available for download at git-scm.com (http://git-scm.com/) . For more details on installing and using git please see this wiki page (http://wiki.omap.com/index.php/Git) . Ensure that CodeSourcery ARM Compiler has been installed in the host system. Visit Support_Tools/Cross_Compilers for further information.
Building Uboot
# # # # cd <path_to_u-boot> make distclean make CROSS_COMPILE=arm-none-linux-gnueabi- omap3430zoom2_config make CROSS_COMPILE=arm-none-linux-gnueabi-
Note: If you get "cmd_voltage.c:27: error: inline function 'voltage_info' cannot be declared weak" try an older GCC (CSL 2008q3-72 seems ok) Note: Step above is building for a Zoom2. To build for other boards use respective config from the below table.
# # # #
* # # # # #
Build x-loader for OMAP4460 cd <path_to_x-boot> make sure you are on omap4_dev branch make distclean make CROSS_COMPILE=arm-none-linux-gnueabi- omap4460sdp_config make CROSS_COMPILE=arm-none-linux-gnueabi- ift
Note: Step above is building for Zoom2 and for Zoom1(LDP). For other boards use respective config file from below tables
To build X-loader to boot over a serial connection, use "omap3430labradordownload_config" MLO is located in <path_to_x-loader>
# cd mshield-dk-root-folder # ./generate_MLO OMAP4430 ES2.1 x-load.bin # MLO will be located in root mshield-dk folder
Flashing
Refer to Zoom Flashing to review flashing methods for Zoom1/Zoom2/Zoom3. Refer to 3630SDP Flashing to review flashing methods for 3630SDP board. Refer to eMMC Boot to review flashing and boot methods from eMMC device. Refer to Uimage-flasher which is a combination of uImage+initramfs along with g_file_storage.ko. This solution lets the PandaBoard export its SD card over the USB.
Upstreaming U-boot
U-boot upstreaming is being carried out as a separate project. Please refer to the following link for more details. U-boot Upstreaming Project Retrieved from "http://omappedia.org/wiki/Bootloader_Project" Categories: Android | Angstrom | Bootloader | Poky | Linux This page was last modified on 25 August 2011, at 04:12. This page has been accessed 36,055 times. Content is available under Creative Commons Attribution-Share Alike 3.0 license.. Privacy policy About OMAPpedia Disclaimers