马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
Zyny芯片启动加载分为3步:
1. 芯片上电启动,首先读取BootROM中的程序,初始化一些必要的外设,然后根据专用引脚电平判断该从何处启动first stage Bootloader(FSBL),将其中的程序复制到RAM中
2. 加载RAM中的FSBL程序,根据Bootimage文件配置PS及PL,这部分Boot完全用户可控
3. Second stageBootloader(SSBL),这部分可选
ARM核加载操作系统需要bootloader,Bootloader就是在操作系统内核运行之前运行的一段小程序,通过它,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好正确的环境。本节就介绍一下如何配置编译bootloader,以Zed开发板加载linux系统的u-boot为例。
笔者手头上有一块Zed开发板,自带的linux由SD Card启动,SD Card中包含了如下文件:
zImage、BOOT.BIN、devicetree_ramdisk.dtb、ramdisk8M.image.gz 这些文件正是linux Bootimage中的文件,如图1所示为Linux Boot Image文件格式,
图1
u-boot是一种开源Bootloader,广泛应用于linux。以下介绍一下xilinx提供的u-boot的编译和配置过程。
1.首先Git下载Xilinx U-Boot代码
- git clone git://git.xilinx.com/u-boot-xlnx.git
复制代码
2.配置u-boot,在上一篇博客中介绍了交叉编译环境的建立,此处可直接进行配置
- cd u-boot-xlnx
- make zynq_zed_config
复制代码
3. 编译u-boot
以上步骤完成之后会生成一个u-boot文件,将其另存为u-boot.elf文件,此文件在生成Bootimage文件时会使用到。
|