ZYNQ 7030 Linux系统移植
手上有一块 ZYNQ-7030的演示板,是仿照Xilinx Zedboard设计的,但是与Zedboard又有所不同,因此花时间移植一下Linux系统。记录下这个过程,希望能够帮助到有类似需要的朋友。自己动手移植Zedboard Linux系统的过程和这个类似。
(0)准备SD卡
首先应当准备一张SD卡(8G即可),并利用分区工具分成两个区。
Linux上比较好用的分区工具是GParted.
至于Windows的话,可以使用Partition Manager.
第一个区大小为1G,FAT32格式,卷标为BOOT,存放引导文件Boot.bin和linux内核镜像uImage。实际上这个分区用到的大小是很小的,只有10M左右的样子。但是考虑到以后我们可以在这里备份一些源码的压缩包,所以设定为1G。
第二个区利用剩余的空间,划分为EXT3/EXT4格式,卷标为rootfs,用来存放根放文件系统。
玩过linux的同学可能都知道BootLoader,例如U-BOOT就是一种经常用到的BootLoader,那么BOOT.BIN是什么呢?其实BOOT.BIN是包含UBOOT的一种BootLoader。
ZYNQ芯片和其他纯ARM芯片有所差异,是ARM+FPGA的结构,所以上电后除了在ARM(称为PS端,Processing System,处理器系统)引导操作系统之外,还要做FPGA(称为PL端,Programmable Logic)的一些操作。
Boot.bin的构成如下:
FSBL(第一阶段启动代码,用来完成全局初始化和硬件配置)
[system.bit](可选,用来配置PL端,若不添加此项,可启动后由软件配置)
u-boot(用来初始化ARM端,引导linux操作系统)
(1)硬件位流(BitStream)生成
硬件位流决定了总体的系统结构。虽然说位流文件主要是用来配置PL端的,实际上和PS端关系也十分密切,FSBL的生成依赖于具体的硬件(主要是