Fork me on GitHub

sunxi:[1]Orange Pi Zero U-Boot启动剖析

全面剖析U-Boot with SPL启动过程:

U-Boot SPL 2017.03-rc2-gc7a25b3-dirty (Mar 15 2017 - 17:35:37)
common/spl/spl.c:preloader_console_init()
DRAM: 256 MiB
board/sunxi/board.c:sunxi_board_init()
common/spl/spl.c:board_init_r()
Trying to boot from FEL
common/spl/spl.c:boot_from_devices()
/*
init_sequence_f start - >

U-Boot 2017.03-rc2-gc7a25b3-dirty (Mar 15 2017 - 17:35:37 +0800) Allwinner Technology

lib/display_options.c:display_options()
U-Boot code: 4A000000 -> 4A052740  BSS: -> 4A08D938
common/board_f.c:display_text_info()
CPU:   Allwinner H3 (SUN8I 1680)
arch/arm/mach-sunxi/cpu_info.c:print_cpuinfo()
Model: Xunlong Orange Pi Zero
common/board_info.c:show_board_info()
DRAM:  256 MiB
board/sunxi/board.c:dram_init()
common/board_f.c:show_dram_config()
Relocation Offset is: 05f62000
Relocating to 4ff62000, new gd at 4bf41ee8, sp at 4bf3dec0
common/board_f.c:setup_reloc()
< - init_sequence_f end
*/

/*
init_sequence_r start - >
common/board_r.c:initr_trace()
MMC:   SUNXI SD/MMC: 0
common/board_r.c:initr_mmc()
MMC: no card present
mmc_init: -123, time 2
*** Warning - MMC init failed, using default environment

common/console.c:console_init_r()-1
In:    serial
Out:   serial
Err:   serial
->board/sunxi/board.c:misc_init_r()
-> common/board_r.c:initr_ethaddr()
Net:   phy interface0
eth0: ethernet@1c30000
net/eth-uclass.c:eth_initialize()

main_loop start:
common/main.c:main_loop()
-> common/cli.c:cli_init()
-> common/cli_hush.c:u_boot_hush_start()
-> common/main.c:run_preboot_environment_command()
preboot cmd:usb start ->
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0 
-> common/cli.c:cli_loop()
=> 
=>