SPL框架是更加全面统一的框架。使用该框架,我们编译出u-boot-spl.bin和u-boot.bin。然后使用mksunxiboot工具将u-boot-spl.bin转换为sunxi-boot.bin,最后使用cat命令将sunxi-boot.bin和u-boot.bin拼接为u-boot-sunxi-with-spl.bin。 BootROM 会根据 Bootstrap Pin 去确定从某个存储器来读可执行的二进制文件到...
SPL(Secondary programloader)是uboot第一阶段执行的代码。主要负责搬移uboot第二阶段的代码到 系统内存(System Ram,也叫片外内存)中运行。SPL是由固化在芯片内部的ROM引导的。我们知道很多芯 片厂商固化的ROM支持从nandflash、SDCARD等外部介质启动。所谓启动,就是从这些外部介质中搬移一段 固定大小(4K/8K/16K等)...
使用的是通用的同一份代码 前面的arch的初始化都是一样的 最主要的区别就是spl代码部分会用CONFIG_SPL_BUILD来选择编译 以am335x而言,前期arch的初始化流程基本上是一致的,出现本质区别的是在board_init_f开始的。 spl中board_init_f是自己实现的 使用CONFIG_SPL_BUILD选择编译的 主要是做ddr pinmx之类的初始化...
当选择从nand flash启动时,spl为第一阶段,copy前4K到iram,然后完成初始化ddr后,重定位,跳转到ddr,copy剩余uboot到ddr,开始启动第二阶段。
而且我感觉跟EEPROM没什么关系。程序运行到函数:(*uboot)(),也就是u-boot.img,就过不去了。但是当我make am335x_evm产生的MLO和make am335x_evm_spiboot产生的u-boot.img 一起放到MMC卡,这时候可以正常启动,进入到u-boot命令行: U-Boot SPL 2011.09 (Mar 19 2013 - 10: ... uboot 烧写的地址对...
参考Intel的 SD卡 image 设计的教程 (https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide) 确认 DE10-Nano 的 MSEL 设置为 01010,插上SD卡 给 DE10-Nano
SPL(secondary program loader)是一个十分小的bin文件,它是用来引导主u-boot文件。对于一些SRAM很小的SOC,无法一次性加载ROM中的bootloader到SRAM中,因为一般SRAM远远小于bootloader的大小。这时候SPL应运而生了。 加载过程 嵌入式系统的SOC内部会有比较小的SRAM,而外部的一般会有DDR或者SDRAM,后面的RA... ...
关于4k代码的执行过程将会在后面详细解释,而且在新的uboot-2015中,这4k代码是由uboot_spl.bin完成的,下面将基于uboot-2015.10 列出uboot从上电到启动内核的整个过程进行概述: 二、norflash启动 其实理解了nandflash的启动方式,norflash的启动也就好理解多了,首先需要知道的是norflash是可以在片上执行代码(XIP)的,...
最主要的区别就是spl代码部分会用CONFIG_SPL_BUILD来选择编译 以am335x而言,前期arch的初始化流程基本上是一致的,出现本质区别的是在board_init_f开始的。 spl中board_init_f是自己实现的 使用CONFIG_SPL_BUILD选择编译的 主要是做ddr pinmx之类的初始化 ...
最主要的区别就是spl代码部分会用CONFIG_SPL_BUILD来选择编译 以am335x而言,前期arch的初始化流程基本上是一致的,出现本质区别的是在board_init_f开始的。 spl中board_init_f是自己实现的 使用CONFIG_SPL_BUILD选择编译的 主要是做ddr pinmx之类的初始化 ...