zynq7启动方式

一直对ZYNQ7的启动方式不是很明白,只知道有flash、SD、JTAG三种主流的启动方式,然而对这三种启动方式的启动过程以及所需要的文件对不是特别清楚。现在对SD卡启动和flash启动有了一些了解,结合自己的情况,做一下记录。

一、SD卡

需要的文件:

1、用官方套件即petalinux和SDK开发移植的Linux系统。需要以下几个文件即可启动:

BOOT.BIN、image.ub、system.dtb    --SD卡启动分区

rootfs.cpio  --根文件系统,SD卡第二分区

2、用yocto项目开发移植的Linux系统,借用官网提供的思路。(自己还没实践成功)

启动分区:

  • 将build / tmp / deploy / images / zc702-zynq7 / BOOT.bin复制为BOOT.bin
  • 将build / tmp / deploy / images / zc702-zynq7 / uImage复制为uImage
  • 将build build / tmp / deploy / images / zc702-zynq7 / uImage-zynq-zc702.dtb复制为devicetree.dtb
  • 复制build / tmp / deploy / images / zc702-zynq7 / petalinux-image-minimal-zc702-zynq7.cpio.gz.u-boot as uramdisk.image.gz

第二分区:

     解压core-image-minimal-zynq7-zc702.tar.gz到第二分区

硬件条件:

   将板子上的启动开关方式按照硬件原理图调到SD卡启动方式。

二、flash启动

1、用官方套件即petalinux和SDK开发移植的Linux系统。

可以在flash烧写u-boot,然后在SD卡引导内核镜像。也可以完全用flash启动,不用借助SD卡。手边刚好有两块板子就是这两种。现在先说第一种,在flash中烧写.mcs文件,然后在SD卡第一分区放入image.ub、system.dtb,第二分区放入根文件系统。

2、yocto项目开发移植的Linux系统。

个人认为可以参照以上需要的文件进行合成,没试过。因为需要擦除现有flash,怕变砖,没轻易尝试。

说明:

在SD卡启动中说到的BOOT.BIN是需要用fsbl.elf、xxx.bit、u-boot.elf三个文件用SDK合成的。fsbl.elf也是需要SDK合成的。

在flash说到的.mcs文件也是需要这三个文件合成的,是针对于flash形式的文件。

我认为两种文件就是形式不一样而已,针对不同的启动方式,生成不同的文件即可,网上可以找到生成两种文件的教程。

 

 

 

你可能感兴趣的:(Yocto)