AM3359 U-Boot
2015-12-05 22:50
323 查看
一. 在AM3359中ROM代码作为代码引导加载程序,有时被称为初始程序加载器(IPL)或主程序加载器(PPL)。引导需要两个连续的阶段来完成,第一个阶段被称为二级程序加载程序(SPL)或MLO,第二阶段被称为U-boot阶段。SPL是一个非交互式装载机和U-Boot是专门构建版本。它是构建U-Boot时同时构建的。
ROM代码可以加载SPL镜像从下列设备中:
1.内存设备非XIP(NAND / SDMMC)
镜像应该有镜像头部,这个镜像头部有8字节长度的加载地址和这个镜像被RBL拷贝的大小。他的大小是镜像头中给出的,从设备和加载到内存地址的加载地址字段中指定镜像得头。
2.外围设备(UART)
RBL加载这个镜像到内存地址0x402f0400并且执行它,没有镜像头。
二.u-boot的两个阶段的设计
1.在AM335x中内置RAM的大小为128K,最后的18K用作了ROM代码。在开始的1KB(0x402f0000
- 0x402f0400)受到保护并且不可以访问。后面的109KB的大小被用作u-boot二进制文件从ROM转移到内部RAM和DRAM的初始堆栈初始化之前使用。
因为它是不可能挤出所有的功能,通常是将从U-Boot < 110 kb(留出一些空间栈,堆等)采用两阶段方法。初始阶段只需引导设备(MMC,NAND I2C等),第二全阶段初始化所有其他设备(以太网、计时器、时钟等)。第一阶段生成MLO,第二阶段生成u-boot.img
使用内部启动(NAND)头需要附上在SPL二进制表示加载地址和图像的大小。SPI引导另外需要端字节序转换之前flashing的镜像。当使用外围启动(UART)就没有头随着负载的地址是固定的。
ROM代码可以加载SPL镜像从下列设备中:
1.内存设备非XIP(NAND / SDMMC)
镜像应该有镜像头部,这个镜像头部有8字节长度的加载地址和这个镜像被RBL拷贝的大小。他的大小是镜像头中给出的,从设备和加载到内存地址的加载地址字段中指定镜像得头。
2.外围设备(UART)
RBL加载这个镜像到内存地址0x402f0400并且执行它,没有镜像头。
二.u-boot的两个阶段的设计
1.在AM335x中内置RAM的大小为128K,最后的18K用作了ROM代码。在开始的1KB(0x402f0000
- 0x402f0400)受到保护并且不可以访问。后面的109KB的大小被用作u-boot二进制文件从ROM转移到内部RAM和DRAM的初始堆栈初始化之前使用。
因为它是不可能挤出所有的功能,通常是将从U-Boot < 110 kb(留出一些空间栈,堆等)采用两阶段方法。初始阶段只需引导设备(MMC,NAND I2C等),第二全阶段初始化所有其他设备(以太网、计时器、时钟等)。第一阶段生成MLO,第二阶段生成u-boot.img
使用内部启动(NAND)头需要附上在SPL二进制表示加载地址和图像的大小。SPI引导另外需要端字节序转换之前flashing的镜像。当使用外围启动(UART)就没有头随着负载的地址是固定的。
相关文章推荐
- U-Boot源码分析及移植-fs2410
- U-BOOT源码分析及移植
- U-Boot启动过程--详细版的完全分析(二)
- U-Boot-2009-03移植笔记(移植准备)
- U-Boot-2009-03移植笔记(点亮第一展灯)
- U_boot 的 bootcmd 和bootargs参数详解
- U-Boot移植全程指导
- u-boot1.1.6-undefined reference to "raise"
- 09课01节 u-boot-1.1.16编译补丁;
- u-boot模仿
- 自定义u-boot启动logo的方法
- 2440 u-boot编译
- u-boot.lds与-Ttext $(TEXT_BASE)
- U-Boot移植(1)--在U-boot中建立自己的开发板
- 追踪uboot下tftp命令的代码执行过程-Nagul
- 嵌入式系统 Boot Loader 技术内幕
- 嵌入式linux系统log文件的几个地方
- 常用的uboot的bootargs设置
- ubuntu12.04的NFS配置
- U-boot 之TFTP服务器配置