原创 u-boot

2017-1-11 16:19 1940 21 21

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


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

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

3. Second stage Bootloader(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 Boot image中的文件,如图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

make


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


文章评论0条评论)

登录后参与讨论
相关推荐阅读
Hoki 2017-01-11 17:35
LX9开发板呼吸灯实现
对LX9开发板硬件评测后,从这一节开始真正进入FPGA开发的世界。很多开发板的例程中必有跑马灯实验,老跑马也没意思,咱来把新潮的,整一个呼吸灯。 呼吸灯最初是出现在apple公司的笔记本产品中,当合上...
Hoki 2017-01-11 16:47
LX9的microblaze配置
虽然XC6SLX9芯片资源比较少,但是嵌一个microblaze还是搓搓有余的,这一节就来评测一下在XC6SLX9上microblaze的配置。 有两种方法配置microblaze,一是在ISE软件中...
Hoki 2017-01-11 16:32
zynq评测
Zynq芯片是业界第一款在FPGA中集成ARM核的芯片,由FPGA的发明者xilinx公司推出的。Zynq严格来说不能以FPGA来定义它,因为其是以处理器为中心的平台,能够在单芯片上提供软、硬件和 I...
Hoki 2017-01-11 16:09
基于zynq的交叉编译平台
Zynq芯片的最大特点是其集成了双ARM Cortex-A9处理器,因此zynq的应用基本是以这个ARM核为核心,再配合FPGA逻辑作为协处理器,几乎能实现所有较复杂的应用。并且在ARM上可以跑操作系...
Hoki 2017-01-11 15:54
u-boot image生成
这节介绍一下如何生成u-boot image文件,在SDK软件中点击Xilinx Tools→Create Boot Image工具即可生成,但是生成image文件需要首先集齐3个文件:u-boot....
我要评论
0
21
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /3 下一条