Omap之Bootloader Project

来源:互联网 发布:做淘宝不适合苹果电脑 编辑:程序博客网 时间:2024/05/08 03:47

OmapBootloader Project

【本文内容均从OMAP官网整理而来】

 

1、OMAP Bootloader Overview

2、OMAP Boot Sequence

ROM Code能够从如下部件引导:Serial (UART3), SD Card, eMMC, NAND, and USB.

The order in which these devices are searched for a valid first-stage booting image (x-loader)is determine by a set of GPIO configuration pins referred to as SYSBOOT.

First Stage Boot

For example, the SYSBOOT pins could be set such that booting device list consists of 1) serial (UART3), 2) SD card (MMC1), and 3) NAND flash.

In this case, the ROM code would first look for a valid x-loader over the serial port, then in the SD card, then in the NAND flash. Whenever it finds a valid x-loader, it proceeds with execution of that binary.

Second Stage Boot

It is the job of the x-loader to transfer the 2nd stage loader into main memory, which we call the u-boot. Typically both the x-loader and u-boot come from the same storage medium.

3、xLoader overview

The x-loader is a small first stage bootloader derived from the u-boot base code. It is loaded into the internal static RAM by the OMAP ROM code.

The x-loader configures the pin muxing, clocks, DDR, and serial console, so that it can access and load the second stage bootloader (u-boot) into the DDR. This figure shows the code flow in the x-loader, beginning in start.S.

4、Uboot overview

The u-boot is a second stage bootloader that is loaded by the x-loader into DDR. The u-boot can perform CPU dependent and board dependent initialization and configuration not done in the x-loader. The u-boot also includes fastboot functionality for partitioning and flashing the eMMC.The u-boot runs on the Master CPU (CPU ID 0), which is responsible for the initialization and booting; at the same time, the Slave CPU (CPU ID 1) is held in the “wait for event” state.This figure shows the code flow in the u-boot, beginning in start.S.

原创粉丝点击