Boot

上电之后的第一次usb烧写的目标地址必须位于0xD0020010,
target: 0xD0020010 <- (16 bytes header + .text), .text定位于0xd0020020.

可以通过UART传递程序而不通过烧写SD卡, 减少繁琐的操作.

uboot

_start: /arch/arm/lib/vectors.S
{
	reset: /arch/arm/cpu/armv7/start.S
	{
		_main: /arch/arm/lib/crt0.S
		{
			board_init_f: /common/board_f.c
			{
				initcall_run_list: /lib/initcall.c
			}

			relocate_code: /arch/arm/lib/relocate.S

			relocate_vectors: /arch/arm/lib/relocate.S

			board_init_r: /common/board_r.c
			{
				initcall_run_list: /lib/initcall.c
				{
					main_loop: /common/main.c
				}
			}
		}
	}
}

board_init_r()中本文件未实现的:

event_init
log_init
console_record_init
noncached_init
init_addr_map
board_init
set_cpu_clk_info
efi_memory_init
arch_fsp_init_r
stdio_init_tables
serial_initialize
initr_watchdog
board_early_init_r
post_output_backlog
pci_init
arch_early_init_r
cpu_init_r
efi_init_early
xen_init
mac_read_from_eeprom
pci_init
stdio_add_devices
jumptable_init
api_init
console_init_r
console_announce_r
show_board_info
arch_misc_init
misc_init_r
kgdb_init
interrupt_init
timer_init
board_late_init
bb_miiphy_init
pci_ep_init
posted @ 2025-02-20 16:45  绿草蓝天  阅读(22)  评论(0)    收藏  举报