原创 OMAP Bootloader Overview---uboot

2012-6-22 01:48 1874 10 10 分类: MCU/ 嵌入式

u-boot overview

http://omapedia.org/wiki/Bootloader_Project

 

The u-boot is a second stage bootloader that is loaded by the x-loader into DDR. It comes from Das U-Boot. 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.

Bootloaders uboot cropped.jpg

[edit] Building the Bootloaders

The following steps will build the x-loader and u-boot.

Note: In order to build the x-loader or u-boot, it is recommended that you use the omappedia Release Notes page corresponding to the platform you are using (Blaze, Blaze Tablet, Panda, or Zoom) and follow the instructions for that release: http://www.omappedia.com/wiki/Release_Notes In general, the instructions will be very similar with the following exceptions:

  • The commit ID used to pull the code from the u-boot and x-loader git trees varies based on the release. It is recommended that you use the correct commit ID corresponding to your release, as this is how the validation is performed.
  • The config file used to setup the configuration when building the u-boot and x-loader varies based on the platform you are using. See the tables below.

Also, ensure that you have installed the pre-requisite packages for building the bootloaders, namely Git and the CodeSourcery ARM Compiler. These instructions are included in the omappedia Release Notes corresponding to your release. You can also find the information here:

[edit] u-boot

[edit] Downloading u-boot source

Clone the u-boot git tree and checkout the source code corresponding to this release:

# mkdir u-boot
# cd u-boot
# git clone git://git.omapzoom.org/repo/u-boot.git
# git checkout <>

[edit] Building u-boot

Make the u-boot source code using the correct config file depending on your platform:

# cd u-boot
# make distclean
# make CROSS_COMPILE=arm-none-linux-gnueabi- <>
# make CROSS_COMPILE=arm-none-linux-gnueabi-

u-boot config files

 

Board config file
44xx Blaze Tablet omap44XXtablet_config
44xx Blaze omap4430sdp_config
3430SDP omap3430sdp_config
3630SDP omap3630sdp_config
3430LDP omap3430labrador_config
Zoom2 omap3430zoom2_config
Zoom3 omap3630zoom3_config
2430sdp omap2430sdp_config
2420h4 omap2420h4_config

The resulting u-boot.bin is located in the top-level of your u-boot directory.

[edit] x-loader

[edit] Accessing x-loader source

Clone the x-loader git tree and checkout the source code corresponding to this release:

# cd x-loader
# git clone  git://git.omapzoom.org/repo/x-loader.git 
# git checkout <>

[edit] Building x-loader

Make the x-loader source code using the correct config file depending on your platform:

# cd x-loader
# make distclean
# make CROSS_COMPILE=arm-none-linux-gnueabi- <>
# make CROSS_COMPILE=arm-none-linux-gnueabi- ift

x-loader config files

 

Board config file
44xx Blaze Tablet omap44XXtablet_config
44xx Blaze omap4430sdp_config
3430SDP omap3430sdp_config
3630SDP omap3630sdp_config
3630SDP 1GB omap3630sdp_1G_config
3430LDP omap3430labrador_config
Zoom2 omap3430zoom2_config
Zoom3 omap3630zoom3_config
2430sdp omap2430sdp_config
2420h4 omap2420h4_config

To build x-loader to boot over a serial connection for OMAP3, use "omap3430labradordownload_config"

The resulting MLO is located in the top-level of your x-loader directory.

Note: If you are using an HS (High Security) OMAP device, an extra step is required. First, build x-load.bin using the steps above. Then, download the MShield signing tool and use the commands below. Contact your TI representative to get access to this tool.

# cd mshield-dk-root-folder
# ./generate_MLO <> x-load.bin

For example, for an ES2.3 OMAP4430 device, use the command:

# ./generate_MLO OMAP4430 ES2.3 x-load.bin

The resulting MLO is located in the top-level of your mshield-dk directory.

[edit] Flashing

Refer to Android_Fastboot to review flashing methods for Blaze and Blaze Tablet using Fastboot.

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 [[1]] for a USB downloader for PandaBoard.

[edit] Upstreaming U-boot

U-boot upstreaming is being carried out as a separate project. Please refer to the following link for more details.

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /3 下一条