基于 Zynq7045 的 ZC706 平台开发指南
(注意:本指南适用于有 Xilinx SoC 平台一定开发基础的设计人员)
作者:Washington X.R
日期:2018 年 1 月 29 日星期一
版本:v1.0
目录
1.1
1.2
1.3
2.1
2.1.5
1.1.2
1 系统环境搭建..........................................................................................................................1
Linux 版本.......................................................................................................................1
1.1.1 环境依赖库..............................................................................................................1
Petalinux 核心环境分布.......................................................................................1
Windows 版本...................................................................................................................2
Modelsim 版本.................................................................................................................2
2 开发软件..................................................................................................................................2
Petalinux 工具集...........................................................................................................2
2.1.1 组件位置..................................................................................................................2
2.1.2 配置要求..................................................................................................................3
2.1.3 依赖包......................................................................................................................3
2.1.4 安装 Petalinux.......................................................................................................3
Petalinux 应用开发...............................................................................................4
2.1.6 打包 BSP 文件........................................................................................................19
2.1.7 配置固件版本........................................................................................................20
Qemu 调试...............................................................................................................20
2.1.9 生成镜像................................................................................................................21
2.1.10 版本控制............................................................................................................25
GDB 调试.............................................................................................................25
2.1.12 限制条款............................................................................................................26
FIT Image 镜像日志.........................................................................................29
Vivado............................................................................................................................30
2.2.1 安装 Vivado...........................................................................................................30
2.2.2 创建工程................................................................................................................30
2.2.3 创建最小系统........................................................................................................33
2.2.4 管脚分配和约束....................................................................................................35
ILA 仿真相关.........................................................................................................36
2.2.6 仿真........................................................................................................................38
2.2.7 导出“*.hdf”文件..............................................................................................40
2.1.11
2.1.13
2.1.8
2.2
2.2.5
I
2.2.9
2.2.10
2.2.8 设计 IP...................................................................................................................41
Synthesis..............................................................................................................43
Implementation................................................................................................45
Project Summay................................................................................................45
Program & Debug..............................................................................................46
3 参考文件................................................................................................................................46
2.2.11
2.2.12
II
本文主要介绍 Zynq7045 SoC 芯片平台的应用,通过 Xilinx 官方公布的 FPGA 开发集
成环境(Vivado)、嵌入式开发软件平台(Petalinux)和开源 SDK(ZYNQ BSP)进行搭建
和开发,其中的系统环境主要分布在 Ubuntu 的桌面发布版与 Windows 7 专业版之上。
1 系统环境搭建
1.1
Linux 版本
Linux tub 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC
2018 x86_64 x86_64 x86_64 GNU/Linux。
如上版本可以用于安装 Petalinux、Vivado 和 Modelsim 系列软件。
表1.1 Linux系统分区
序号
1
2
3
4
5
分区
/
/boot
/tmp
/Swap
/home
大小
20GB
200MB
5GB
2GB
>30GB
1.1.1 环境依赖库
环境依赖库是根据 Linux 环境下需求的依赖库。
Ubuntu 系统通过管理员权限安装(sudo apt-get install)如下安装包:
sudo apt-get install gcc-multilib build-essential libsdl1.2-dev
libglib2.0-dev screen pax gzip
1.1.2 Petalinux 核心环境分布
图 1.1.2-1 环境分布
图 1.1.2-2 环境配置
1
图 1.1.2-3 系统环境变量
1.2
Windows 版本
Windows 7 Pro 64 bit
如上版本可以用于安装 Vivado 和 Modelsim 系列软件。
1.3
Modelsim 版本
Modelsim SE-64 10.1
2 开发软件
开发软件主要是 Xilinx 官方提供的 FPGA SoC 集成开发环境 Vivado、Petalinux 嵌入
式开发平台工具集合和开发板的板级支持包 BSP 等。
资源内容
表2 资源地址列表
下载地址
通用资源 https://www.xilinx.com/support/download.html
Vivado
https://www.xilinx.com/support/download/index.html/content/xili
nx/en/downloadNav/vivado-design-tools.html
Petalinux
https://www.xilinx.com/support/download/index.html/content/xili
nx/en/downloadNav/embedded-design-tools.html
BSP
http://www.xilinx.com/support/download/index.html/content/xilin
x/en/downloadNav/petalinux.html
2.1
Petalinux 工具集
Petalinux 是嵌入式 Linux 开发工具集,可以用于 Xilinx 的 FPGA-based 系列的 SoC
嵌入式软件的开发。
2.1.1 组件位置
表2.1 开发包SDK组件
组建位置
芯片架构
$PETALINUX/components/yocto/source/aarch64 Zynq® UltraScale+™ MPSoC
2
$PETALINUX/components/yocto/source/arm
Zynq® SoC
2.1.2 配置要求
最低工作站配置要求,在应用环境推荐:
1) 8GB 双通道外存资源,推荐 16GB;
2) 2GHz CPU 多核架构,推荐 12 核;
3) 100GB 的硬盘空间,推荐固态盘;
4) 系统支持(64 位系统),推荐 Ubuntu 发行版:
a. RHEL 7.2/7.3;
b. CentOS 7.2/7.3;
c. Ubuntu 16.04.1;
5) 需要系统 root 权限,后期获取 root 用户权限;
6) 需要安装相关 Linux 系统和 Petalinux 支持的相关依赖包。
2.1.3 依赖包
Ubuntu 系统通过管理员权限安装(sudo apt-get install)如下安装包:
sudo apt-get install python3 tofrodos iproute2 gawk xvfb gcc git make net-
tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1
gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo
zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev screen
pax gzip zlib1g:i386
2.1.4 安装 Petalinux
将下载的 Petalinux 安装包通过共享硬盘等方法挂载到 Linux 之上安装,无需直接考
入到 Linux 系统。安装步骤如下:
1) $ mkdir -p /home/test/petalinux
2) $ ./petalinux-v2017.3-final-installer.run /home/test/petalinux
3) $ chmod 755 -R petalinux
4) Reading and agreeing to the PetaLinux End User License Agreement (EULA)
is a required
5) 继续安装 PetaLinux Tools installation process
6) 应用 Petalinux 之前需要在在启动脚本中添加(如图 1.1.2-3)系统环境变量
7) $ petalinux-util --webtalk off
3
Petalinux Tools 将被安装到“/home/test/petalinux”目录之下,并给予整个文件夹
“755”继承权限。
2.1.5 Petalinux 应用开发
2.1.5.1
配置环境变量
1) 配置系统环境变量
$ source
/settings.sh
2) 确认环境变量
$ echo $PETALINUX
/opt/pkg/petalinux
"$PETALINUX"应该要指向的是 Petalinux 安装包所在的位置,例如:
2.1.5.2
Petalinux BSP 安装
图 2.1.5.1 Petalinux 位置
下载对应开发板或平台的的官方 BSP 文件,(表2 资源地址列表)中下载。
安装 BSP 步骤:
1) $ cd /home/test/Documents/Petalinux_prj
2) $ petalinux-create -t project -s
3) 配置成果 BSP 获得如下提示:
INFO: Create project:
INFO: Projects:
INFO: * xilinx-zc706-v2017.1-final.bsp
INFO: has been successfully installed to /home/test/Documents/Petalinux_prj
INFO: New project successfully created in
/home/test/Documents/Petalinux_prj
创建一个 zc706 平台的基础 Petalinux 工程
创建一个 zc706 基础工程需要完成如下几个步骤:
1) 建立工程(基于模板的建立);
2) 导入从 Vivado 导出的硬件描述文件(*.hdf),需要匹配版本。
调试条件:
1) TTC 模块(必须)
#如果多个 TTC 都使用了的话,Linux
内核将会使用第一个 TTC 模块;
4
2) 外部 Flash 存储空间或 SD 卡(必须)
#用于防止 BOOT.BIN 文件和 image.ub
文件;
3) UART 模块(可选,控制台打印信息用)
#如果用 UART IP 模块的话,如 AXI
UART,需要确保中断信号有连接到 PS;
4) 非易失存储器(可选)
#如 QSPI Flash,SD/MMC;
5) 以太网接口(可选)
#若果用 Ethernet IP 模块或外部 PHY
的话,需要确保中断信号连接道 PS;
6) 交换机(可选)
#可用于和 host 主机之间应用 TFTP
等模式启动调试方法。
2.1.5.2.1 建立工程
命令行如下(可以在非 root 用户下执行):
$ petalinux-create --type project --template
--name
petalinux-create 的参数说明:
1) --type:生成类型,project 为工程,app 为应用,module 为模块;
2) --template:应用的模板类型,可以是 zynq 等。若选择的是相应的 BSP 文件,则
应该通过“petalinux-config”选择相对应的模板“board configs”,可能的值
包括:The possible values are: ac701-full,kc705-lite, zc1751-dc1, zc706,
zcu102-revb, zedboard, ac701-lite, kcu105,zc1751-dc2, zcu102-rev1.0,
kc705-full, zc702, zcu102-reva, and zcu106-reva.;
3) --name:工程名。
例如:$ petalinux-create --type project --template zynq --name zc706_dut
图 2.1.5.2.1-1 建立 template 工程
得到项目工程创建成功的指令答复之后,在相应文件交中应该得到创建的目的文件夹
和相应的内容,如下图所示:
图 2.1.5.2.1-2 已经创立的 zc706_dut 工程
5