原创 【博客大赛】u-boot

2013-4-5 23:38 1833 23 23 分类: FPGA/CPLD 文集: xilinx FPGA

         Zyny芯片启动加载分为3步:

1. 芯片上电启动,首先读取BootROM中的程序,初始化一些必要的外设,然后根据专用引脚电平判断该从何处启动first stage BootloaderFSBL),将其中的程序复制到RAM

2. 加载RAM中的FSBL程序,根据Boot image文件配置PSPL,这部分Boot完全用户可控

3. Second stage BootloaderSSBL),这部分可选

ARM核加载操作系统需要bootloaderBootloader就是在操作系统内核运行之前运行的一段小程序,通过它,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好正确的环境。本节就介绍一下如何配置编译bootloader,以Zed开发板加载linux系统的u-boot为例。

         笔者手头上有一块Zed开发板,自带的linuxSD Card启动,SD Card中包含了如下文件:

zImageBOOT.BINdevicetree_ramdisk.dtbramdisk8M.image.gz

这些文件正是linux Boot image中的文件,如图1所示为Linux Boot Image文件格式,

20130405233639661001.jpg

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

make

以上步骤完成之后会生成一个u-boot文件,将其另存为u-boot.elf文件,此文件在生成Boot image文件时会使用到。

文章评论0条评论)

登录后参与讨论
我要评论
0
23
关闭 站长推荐上一条 /2 下一条