u-boot的启动流程分析(一)

这周翻了翻u-boot-Xilinx的源码,结合着网上看的对cortexA8、A9的u-boot的源码分析,再结合自己在Xilinx上下的u-boot源码,试着对u-boot的启动流程进行一下分析,也给自己理一下思路。

u-boot源码的目录结构:

第一阶段:

(1)start.S(arch/arm/cpu/armv7/start.S)
在flash中执行的引导代码,也就是bootloader中的stage1,负责初始化硬件环境,把u-boot从flash加载到RAM中去,对CPU的一个初始化,然后跳到board/xilinx/zynq/board.c中去执行。

第二阶段:

(2)board.c(board/xilinx/zynq/board.c)

选择板卡芯片的型号,启动fpga,选择启动方式(QSPI、SD、JTAG、NAND、NOR)、读取rom、ram。

(3)cmd/bootm.c和bootmenu.c

(4)然后在include/config/zynq_common.h中定义了Z7系列的一些硬件参数配置,比较重要的一个默认启动环境配置:

/* Default environment */
#ifndef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS	\
	"ethaddr=00:0a:35:00:01:22\0"	\
	"kernel_image=uImage\0"	\
	"kernel_load_address=0x2080000\0" \
	"ramdisk_image=uramdisk.image.gz\0"	\
	"ramdisk_load_address=0x4000000\0"	\
	"devicetree_image=devicetree.dtb\0"	\
	"devicetree_load_address=0x2000000\0"	\
	"bitstream_image=system.bit.bin\0"	\
	"boot_image=BOOT.bin\0"	\
	"loadbit_addr=0x100000\0"	\
	"loadbootenv_addr=0x2000000\0"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值