./arch/powerpc/cpu/mpc5xxx/start.S
./doc/README.mpc85xx 中也有启动顺序的说明
1. set up stack in on-chip SRAM
2. Pass our potential ePAPR device tree pointer to cpu_init_early_f
cpu_init_early_f->setup_ifc
cpu_init_early_f->setup_ifc
/*(CONFIG_SYS_FSL_ERRATUM_IFC_A003399 Adjust flash's phys addr)*/
cpu_init_early_f --> init_tlbs()
/*Create TLB entries as per boards/freescale/<board>/tlb.c*/
cpu_init_f /* run low-level CPU init code (in Flash)*/
cpu_init_f --> disable_tlb() /* isable TLB Entries of AS1*/
board_init_f /* run 1st part of board init code (in Flash)*/
board_init_f() does not return
board_init_f->initcall_run_list(init_sequence_f)
开始顺序调用 init_sequence_f 数组中的函数进行初始化。
board_init_f -> init_func_ram -> initdram
/*Create DDR's TLB entriy*/
board_init_f /* Update Flash's TLB entry*/
CONFIG_SYS_FLASH_BASE --> CONFIG_SYS_FLASH_BASE_PHYS
备注:
init_sequence_f 为uboot重定位之前的 , 初始化串口在这里做的,以后才有串口输出
init_sequence_r 为重定位之后的
NXP-T1042 uboot 启动流程
于 2023-07-28 16:03:24 首次发布