Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1183237
  • 博文数量: 221
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2139
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-27 19:53
个人简介

JustForFun

文章分类

全部博文(221)

文章存档

2024年(6)

2023年(8)

2022年(2)

2021年(2)

2020年(29)

2019年(11)

2018年(23)

2017年(41)

2016年(76)

2015年(23)

我的朋友
最近访客

分类: LINUX

2016-07-14 14:39:10

在ZYNQ-7000系列Soc上启动Linux操作系统需要两个文件,
板子ZC702
一个为BOOT.mcs(QSPI启动所需,SD卡启动 为BOOT.bin)和image.ub。
板子ZC706
一个为BOOT.mcs(BOOT.mcs为QSPI启动所需,SD卡启动 为BOOT.BIN)和uImage。
其中image.ub为Linux系统镜像文件,由petalinux工具编译而成,BOOT文件由三个文件合 成,分别是系统第一阶段引导文件fsbl.elf,FPGA配置文件design.bit,ZC706板子为system_wrapper.bit,Linux系统的启动文件u-boot.elf。
板子ZC702                   BOOT.mcs(BOOT.bin) =  xilinx SDK ->create boot image(fsbl.elf + design.bit +u-boot.elf)
板子ZC706                   BOOT.mcs(BOOT.bin) =  xilinx SDK ->create boot image(fsbl.elf + system_wrapper.bit +u-boot.elf)

制作BOOT文件可以采用xilinx官方的XSDK软件,也可以使用petalinux工具通过指令“petalinux-package –boot –fsbl--fpga--u-boot”进行合成。

参考官方文档xtp242-zc706-bist-c-2015-1.pdf

进入Xilinx SDK软件,新建或打开一个工程,点击“Xilinx Tools”——“Create Zynq Boot Image”进入如下界面:




在最下方Output path中可以选择输出BOOT文件的格式,可设置为.bin和.mcs格式,其中.bin格式用于放在SD卡中启动,.mcs格式用于QSPI Flash启动,默认为.bin文件,本文中选取生成.mcs格式。在Boot image partitions栏中点击Add添加合成BOOT文件所需的三个文件,并点击Create Image则可生成BOOT.mcs文件。

(一) SD卡启动linux

在生成BOOT.bin文件后,将其与image.ub文件一起放到SD卡中,设置板子的启动方式为SD卡启动,则可以通过SD卡进行linux的启动,该方法较为简单,调试时经常使用。

(二) QSPI Flash启动linux

在代码调试完成后,一般需要将linux内核烧写到Flash中,方便今后的使用。其步骤如下。

烧写BOOT.mcs文件:改变Zynq芯片的处理板模式为QSPI启动,找到刚才生成的BOOT.mcs文件,然后利用 XSDK软件中的“Xilinx Tools”——“Program Flash Memory”工具,在Image File栏中添加刚才生成的BOOT.mcs文件,

连接板子的JTAG电缆(为了烧写Flash)和USB-UART电缆(供电和串口信息监控),点击Program将BOOT文件烧写进Flash。烧写 完成后,断电重启并利用串口调试工具,即可观察到串口的打印信息。但由于BOOT文件中仅包含了u-boot文件,因此板子启动到u-boot阶段就会停 止,无法找到linux内核,若要同时启动linux系统,则在生成BOOT文件的时候,将linux内核文件image添加进去,生成的BOOT文件内 部u-boot会自动找到内核文件并展开加载相应的内核和文件系统。

参考原文http://blog.csdn.net/djason43/article/details/51489195

阅读(8895) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~