debug(“boot device - %d ”, boot_device); [plain] view plain copyboot_device = spl_boot_device(); debug(“boot device - %d ”, boot_device); 必须实现spl_boot_device, 返回是从哪个外部设备启动的(NAND/SDCARD/NOR.。。)。 可以厂商或者自己在BOARDDIR下面实现 [plain] view plaincopyswitch ...
boot_device = spl_boot_device();debug("boot device - %d\n", boot_device); 必须实现spl_boot_device, 返回是从哪个外部设备启动的(NAND/SDCARD/NOR…). 可以厂商或者自己在BOARDDIR下面实现 switch(boot_device) {#ifdefCONFIG_SPL_RAM_DEVICEcaseBOOT_DEVICE_RAM:spl_ram_load_image();break;#endif#...
如题,由于板子的硬件出了点问题。使得现在需要先 用串口启动 SPL, 然后在 SPL 的 board_init_r 中直接做如下赋值: //boot_device = spl_boot_device(); boot_device = BOOT_DEVICE_MMC1; 让板子执行 下面这个分支: case
7.Bootloading real u-boot from the Boot Device and passing control to it. 【3】SPL配置选项CONFIG_SPL_BUILD 上文中说道“SPL复用的是uboot里面的代码”,那要生成我们所需要的SPL目标文件,我们又该如何下手呢?很容易想到,通过编译选项便可以将SPL和uboot代码分离、复用。这里所说的编译选项便是CONFIG_SPL...
SPL复用的是uboot里面的代码. 【2】SPL功能 1.BasicArm Initialization 2.UART console initialization 3.Clocks and DPLL Locking(minimal) 4.SDRAM initialization 5.Mux(minimal) 6.Boot Device Initialization, based on where we are booting from MMC1, or MMC2,or Nand, or Onenand ...
u32 boot_device; int ret; debug(">>spl:board_init_r()\n"); #if defined(CONFIG_SYS_SPL_MALLOC_START) mem_malloc_init(CONFIG_SYS_SPL_MALLOC_START, CONFIG_SYS_SPL_MALLOC_SIZE); gd->flags |= GD_FLG_FULL_MALLOC_INIT; #elif defined(CONFIG_SYS_MALLOC_F_LEN) ...
__weak void spl_board_announce_boot_device(void) { } #endif#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT struct boot_device_name { u32 boot_dev; const char *name; };struct boot_device_name boot_name_table[] = { #ifdef CONFIG_SPL_RAM_DEVICE ...
BOOT_DEVICE_NONE, }; __weak void board_boot_order(u32 *spl_boot_list) { spl_boot_list[0] = spl_boot_device(); } static int spl_load_image(u32 boot_device) { switch (boot_device) { @@ -247,7 +264,7 @@ static int spl_load_image(u32 boot_device) void board_init_r(gd_...
154 boot_device = spl_boot_device();155 debug("boot device - %d", boot_device);156 switch (boot_device) {157 #ifdef CONfig_SPL_RAM_DEVICE158 case BOOT_DEVICE_RAM:159 spl_ram_load_image();160 break;161 #endif162 #ifdef CONfig_SPL_MMC_SUPPORT...
static int setup_boottargets(void) { const char *boot_device = ofnode_get_chosen_prop("u-boot,spl-boot-device"); char *env_default, *env;if (!boot_device) { debug("%s: /chosen/u-boot,spl-boot-device not set\n", __func__); ...