url : git@github.com:lisider/u-boot.git
branch : ok6410a
commit id : e63a4077ad3aea53107495b0b68b95e720fe6033
config : ok6410a_mini_defconfig
reset arch/arm/cpu/arm1176/start.S 39
lowlevel_init(108) board/samsung/ok6410a/lowlevel_init.S 72
_main(110) arch/arm/lib/crt0.S 91
board_init_f(117) board/samsung/ok6410a/ok6410a.c 266
debug_uart_init(271) include/debug_uart.h 193
_debug_uart_init(196) drivers/serial/s3c64xx_serial.c 315
board_init_r(177) common/spl/spl.c 589
spl_board_init(641) board/samsung/ok6410a/ok6410a.c 255
spl_boot_mmc(258) board/samsung/ok6410a/bl2_mmc_copy.c 18
mmc_bl2_copy(23) board/samsung/ok6410a/bl2_mmc_copy.c 7
CopyMovitoMem(HSMMC_CHANNEL, MOVI_BL2_POS, MOVI_BL2_BLKCNT, bl2_base, MOVI_INIT_REQUIRED)(13) arch/arm/mach-s3c64xx/include/mach/movi.h 25
bl2base(24)
spl标准流程
reset arch/arm/cpu/arm1176/start.S 39
lowlevel_init(108) board/samsung/ok6410a/lowlevel_init.S 72
_main(110) arch/arm/lib/crt0.S 91
board_init_f(117) board/samsung/ok6410a/ok6410a.c 266
debug_uart_init(271) include/debug_uart.h 193
_debug_uart_init(196) drivers/serial/s3c64xx_serial.c 315
board_init_r(177) common/spl/spl.c 589
spl_board_init(641) board/samsung/ok6410a/ok6410a.c 255
memset(&spl_image, '\0', sizeof(spl_image));
spl_image.boot_device = 0xdeadbeef;
board_boot_order(spl_boot_list);
spl_boot_list[0] = spl_boot_device();
ok6410a_get_boot_device
boot_from_devices(&spl_image, spl_boot_list, (sizeof(spl_boot_list) / sizeof((spl_boot_list)[0])));
loader = spl_ll_find_loader(spl_boot_list[i]);
spl_load_image(spl_image, loader);
loader->load_image/spl_mmc_load_image
spl_mmc_load
...
spl_parse_image_header
spl_parse_legacy_header
spl_image->load_addr = image_get_load(header);
spl_image->entry_point = image_get_ep(header);
spl_image->size = image_get_data_size(header);
spl_perform_fixups(&spl_image);
switch (spl_image.os) {
case IH_OS_U_BOOT:
break;
}
spl_board_prepare_for_boot
jump_to_image_no_args(&spl_image);
image_entry_noargs_t image_entry = (image_entry_noargs_t)spl_image->entry_point;
image_entry