SPL是uboot第一阶段执行的代码. 主要负责搬移uboot第二阶段的代码到内存中运行. SPL是由固化在芯片内部的ROM引导的. 我们知道很多芯片厂商固化的ROM支持从nandflash, SDCARD等外部介质启动. 所谓启动, 就是从这些外部介质中搬移一段固定大小(4K/8K/16K等)的代码到内部RAM中运行. 这里搬移的就是SPL. 在最新版本...
CONFIG_SPL_BUILD := y export CONFIG_SPL_BUILD export CONFIG_SPL_BUILD: 在接下来的编译中, 这个变量为y. 从后面的分析中可以看到, uboot的stage1, stage2阶段的代码用的是同一个Start.S, 只不过在Start.S中用#ifdef CONFIG_SPL_BUILD这种条件编译来区分. 类似的还有其他一些文件. [plain]view ...
ALL-$(CONFIG_SPL) += spl/u-boot-spl.bin## 当配置了CONFIG_SPL,make的时候就会执行spl/u-boot-spl.bin这个目标spl/u-boot-spl.bin: spl/u-boot-spl @: spl/u-boot-spl: tools prepare $(if$(CONFIG_OF_SEPARATE),dts/dt.dtb) $(Q)$(MAKE) obj=spl -f $(srctree)/scripts/Makefile.spl ...
if(CONFIG_IS_ENABLED(SHOW_ERRORS)&& CONFIG_IS_ENABLED(LIBCOMMON_SUPPORT)) printf(SPL_TPL_PROMPT"failed to boot from all boot devices (err=%d)\n", ret); else puts(SPL_TPL_PROMPT"failed to boot from all boot devices\n"); hang(); } spl_perform_fixups(&spl_image); switch(spl_image....
int spl_board_boot_device(enum boot_device boot_dev_spl) { #ifdef CONFIG_SPL_BOOTROM_SUPPORT return BOOT_DEVICE_BOOTROM; #else switch (boot_dev_spl) { case SD1_BOOT: case MMC1_BOOT: case SD2_BOOT: case MMC2_BOOT: return BOOT_DEVICE_MMC1; case SD3_BOOT: case MMC3_BOOT: return...
#define CONFIG_SPL_MMC_SUPPORT #define CONFIG_GENERIC_MMC #define CONFIG_PARTITIONS 1 #define ...
155 boot_device = spl_boot_device(); 156 debug("boot device - %d\n", boot_device); 157 switch (boot_device) { 158 #ifdef CONFIG_SPL_RAM_DEVICE 159 case BOOT_DEVICE_RAM: 160 spl_ram_load_image(); 161 break; 162 #endif 163 #ifdef CONFIG_SPL_MMC_SUPPORT 164 case BOOT_DEVICE_MMC...
config SUPPORT_SPL bool config SPL bool depends on SUPPORT_SPL prompt "Enable SPL" if !SPL_BUILD default y if SPL_BUILD help 48 changes: 48 additions & 0 deletions 48 arch/arm/Kconfig Original file line numberDiff line numberDiff line change @@ -158,12 +158,14 @@ config TARGET_MX25...
#if defined(CONFIG_SPL_FS_FAT) || defined(CONFIG_SPL_EXT_SUPPORT) return MMCSD_MODE_FS; #else return MMCSD_MODE_RAW; 6 changes: 3 additions & 3 deletions 6 arch/arm/mach-omap2/Kconfig Original file line numberDiff line numberDiff line change @@ -14,7 +14,7 @@ config OMAP34XX...
CONFIG_SPL_USB_HOST_SUPPORT=y CONFIG_SPL_USB_GADGET_SUPPORT=y CONFIG_SPL_USB_SDP_SUPPORT=y CONFIG_SDP_LOADADDR=0x40400000 # Address need change according - system, choose free memory 6、编译: make distclean make <新板子名>_defconfig ...