ZYNQ7000 SDK开发使用

article/2025/11/8 7:11:24

Zynq开发平台工具

ZYNQSDK开发使用

    • Zynq开发平台工具
    • 导入硬件平台配置
    • BSP包创建和配置
    • 创建应用程序
    • 下载固件和调试应用程序
    • 创建FSBL工程
    • 建立内存测试工程
    • 启动模式
    • spi flash及sd卡的测试

参考文档:zynq_sw\Lab_instructions\Lab01 - Explore Zynq Hardware Platform 2013_3_02.pdf
该例程主要是在Vivado软件上导入之前官方配置的Zynq7020的芯片级配置,具体的工程名称为: avnet-digilent-zedboard-2017.2。硬件设计师将该配置文件导出给软件设计人员使用。主要有如下文件。
在这里插入图片描述
如果硬件开发团队提供一个Zynq的硬件平台配置,需要检测哪些硬件配置是有效的,可以通过查看HTML文件来确认配置。如下图所示:

导入硬件平台配置

参考文档:zynq_sw\Lab_instructions\Lab02 - HW Platform in SDK 2013_3_02.pdf
该实验将建立工作空间和导入硬件平台配置,将按照以下步骤进行操作:
1、 打开SDK开发工具,开始->所有程序->Xilinx Design Tools->Vivado 2017.2->SDK->Xilinx SDK 2017.2
2、 设置workspace空间的路径,如下图所示,点击OK按钮创建SDK的工作空间。
在这里插入图片描述3、 在SDK软件的菜单栏选择File->New->Other->Xilinx->Hardware Platform Specification新建硬件平台工程。

在这里插入图片描述
4、 填写硬件平台工程的名称并选择Vivado软件导出的硬件平台配置的xml文件,如下如所示:
在这里插入图片描述
5、 查看该平台的配置文件如下图所示:
在这里插入图片描述

BSP包创建和配置

参考文档:zynq_sw\Lab_instructions\Lab03 - Bare Metal BSP 2013_3_02.pdf
该文档说明了创建基本的BSP包的过程和Xilinx提供的外设驱动实例以及实例代码。

创建应用程序

参考文档:zynq_sw\Lab_instructions\Lab04 - Develop an Application 2013_3_02.pdf
该文档说明了怎样创建应用程序工程和利用模板创建应用程序。

下载固件和调试应用程序

参考文档Lab05 - Connect Hardware 2013_3_02.pdf
本文档要点:
1、 设置硬件连接
2、 Zynq7000的PL编程
3、 通过JTAG接口使用TCL配置ARM PS模块
4、 运行应用程序
5、 调试程序
这里的SDK-SoC JTAG接口作用:
1、 读写ARM寄存器
2、 Zynq7000的PL编程
3、 QSPI Flash的编程
4、 加载应用程序到芯片的RAM或者DDR3
5、 应用调试

一、硬件连接和FPGA编程过程如下图所示

  1. ZedBoard开发板连接好电源线,但电源开关处于OFF状态;
  2. 通过micro-USB线缆分别连接JTAG口(J17)和UART口(J14);
  3. 设置ZedBoard的启动模式为JTAG模式,配置MIO[6:2]=GND;
  4. 将ZedBoard的电源开关拨到ON,可以看到LED灯(LD13)点亮;
  5. 查看PC机的设备管理看是否出现如下图的外设。
    在这里插入图片描述
  6. 打开Xilinx SDK软件选择Xilinx Tools->Program FPGA;
  7. FPGA硬件配置下载成功后LD2将会被点亮。

在这里插入图片描述
二、应用程序调试和下载如下图所示:
在这里插入图片描述
在这里插入图片描述
3、切换到Target Setup选项,默认选择ps7_init.tcl脚本运行程序。
4、选择Application选项,选择刚才创建的Hello_Zynq7000工程的Hello_Zynq7000.elf文件进行加载。
在这里插入图片描述
5、 打开对应的串口设置STDIO Connection选项,配置好串口号和波特率。点击Apply->Run运行应用程序。
在这里插入图片描述
在这里插入图片描述

创建FSBL工程

参考文档:Lab06 - FSBL 2013_3_02.pdf
该文档详细说明了创建FSBL的工程的过程和进行源码解读。

建立内存测试工程

新建mem_test应用工程,具体参考hello world工程创建过程(注意bsp仍使用standalone_bsp_0),在templates里选择memory tests,点击finish。
在这里插入图片描述连接好仿真器,在project explorer右键点击mem_test工程,选择Run As的Run Configurations,然后双击弹出的窗口中的xilinx C++ application(GDB),同样点开STDIO Connection,勾选Connect STDIO to Console,选择正确的com口,将波特率改为115200,然后点击run,会弹出对话框,选择ok继续。
在这里插入图片描述
在这里插入图片描述
console里若均显示PASSED标志,则说明内存检测成功。
在这里插入图片描述

启动模式

参考文档:Lab07 - Boot from Flash 2013_3_02.pdf
该文档详细说明了创建一个boot image过程和从QSPI/SD卡启动流程。
在这里插入图片描述

spi flash及sd卡的测试

右键点击uart_test工程,选择Create Boot Image,系统会默认按顺序添加fsbl镜像、bit文件及工程镜像,在output path里默认生成bin文件,将名字改为boot.bin,点击create image生成bin文件。
在这里插入图片描述
再次右键点击uart_test工程,选择Create Boot Image,在output path里将生成文件的后缀名改为mcs,点击create image先生成mcs文件。
在这里插入图片描述
连接好仿真器,点击菜单Xilinx Tools,选择Program Flash,选择正确的image file,上述生成的文件存放在[xilinx_install_dir]\hw_project[project_name][project_name].sdk\SDK
SDK_Export[project_name]\bootimage文件夹中,将flash type改成qspi_dual_parallel,点击program。
在这里插入图片描述
在program成功后,断电然后将硬件板的启动模式改为spi flash启动,连接好串口后重新上电。
在这里插入图片描述
若在串口终端打印hello world则说明spi flash可正常使用。(这种方法暂时不可行!!!)
将生成的boot.bin拷贝到sd卡中,然后将硬件板装上sd卡,并将硬件板设置为sd卡启动,连接好串口后上电启动,若打印hello world则sd卡接口正常。


http://chatgpt.dhexx.cn/article/lChGAHcZ.shtml

相关文章

Zynq7000 OPENAMP 实验

前言 Zynq7000 openamp实验,最近想做一个多cpu异构系统,后面会用zynqmp去做,先拿zynq7000试一下 首先说明,openamp是开源异构多处理通信框架。现在cpu不再像以前单个cpu,而是越来越复杂,比如TI的TDA4芯片…

ZYNQ7000固化流程

ZYNQ7000固化流程 生成BOOT.bin文件 (1)在SDK开发环境下,将FSBL.elf文件,FPGA.bit文件和FW.elf文件按次序添加并打包成BOOT.bin文件 2. BOOT.bin文件固化 (1)在xilinx SDK环境中通过JTAG进行固化&#x…

zynq7000 资源介绍

zynq 7000 资源介绍 整体框架PS端资源PS端资源 整体框架 Zynq7000系列是基于APSOC的可拓展处理平台,它的本质特征是将一个双核ARM Cortex-A9处理器和一个可编程的FPGA芯片集成到一个片上系统中。在进行Zynq7000的详细说明前,本节首先对架构的高层模型进…

zynq7000 创建fsbl工程,并打开log

背景:若通过petalinux编译的启动文件,放到sd卡里面(或者flash),上电后串口没有任何log信息;可以考虑搭建fsbl工程。 以2018.3版本为例。 1、把*.hdf文件放到想要创建的文件里面,然后双击“Xil…

ZYNQ7000-GPIO详解

摘要 本文介绍了ZYNQ7000芯片中GPIO的基本概念,分组、功能、控制寄存器、中断设置以及如何在Vitis中配置GPIO。 本文参考:UG585 - Zynq-7000 SoC Technical Reference Manual (v1.12.2) 385~394页–Ch14: General Purpose I/O(GPIO) 关键词&#xff1a…

zynq7000中断系统

7.1环境 这一章节描述了系统级的中断环境以及中断控制器功能。PS端是基于ARM架构的,并且使用了两个Cortex-A9处理器以及型号为pl390的GIC中断控制器。整个中断结构与处理器、可编程逻辑器件(PL)、从外部IO接受到的中断请求有非常紧密的联系。本章节包含了下面这些关…

【ZYNQ】ZYNQ7000 UART 控制器及驱动应用示例

UART 简介 我们在使用 PS 的时候,通常会添加 UART 控制器,用于打印信息和调试代码。除此之外,PS 在和外部设备通信时,也会经常使用串口进行通信。 UART 控制器 UART 控制器是一个全双工异步收发控制器,ZYNQ 内部包含…

Xilinx ZYNQ 7000入门

ZYNQ是Xilinx推出的新一代全可编程片上系统,将处理器的软件可编程性与FPGA的硬件可编程性完美整合。 ZYNQ7020:xc7z020clg400-2 ZYNQ7010:xc7z010clg400-1 组合了一个双核ARM Cortex-A9(PS)处理器和一个传统的…

ZYNQ7000平台介绍

基于ZYNQ7000平台软件开发 ZYNQ7000平台简介 本文介绍ZYNQ7000平台采用Avnet推出的ZedBoard开发板进行讲解,ZedBoard开发板基于Xilinx Zynq-7000 All Programmable Soc,整合了双核Cortex-A9的PS处理单元和PL逻辑单元。 在zynq上,ARM Cortex…

【ZYNQ】ZYNQ7000 全局定时器及其驱动示例

定时器简介 在 ZYNQ 嵌入式系统中,定时器的资源是非常丰富的,每个 Cortex-A9 处理器都有各自独立的 32 位私有定时器和 32 位看门狗定时器,这两个 CPU 同时共享一个 64 位的全局定时器(GT)。 系统框图 全局定时器&am…

Xilinx ZYNQ 7000学习笔记一(复位和启动)

一、复位系统 参考文献:Zynq-7000 SoC Technical Reference Manual (UG585)-ch26 Reset System zynq7000复位信号源包括硬件复位、看门狗定时器、JTAG控制器复位信号和软件复位信号。其中,硬件复位引脚由上电复位信号PS_POR_B和系统复位信号PS_SRST_B驱…

zynq7000系列芯片介绍

ZYNQ从架构上可以划分为两大模块,一个是PS(处理器系统),另一个是PL(可编程逻辑) PS由APU、内存接口、IO外设、互连线4大模块组成。 1、APU(Application Processor Unit)应用处理单元 即PS【可编…

xilinx zynq-7000 基本知识

Zynq-7000 采用可扩展式处理平台架构(Extensible Processing Platform、EPP),是 Xilinx 用 28nm HKMG工艺制成的低功耗,高性能,高扩展性的新型芯片,这款新品里面集成了ARM CORTEX-A9 MPSOC 硬核以及相应的S…

ZYNQ-7000概述

摘要 Xilinx推出的ZYNQ-7000被称为全可编程片上系统(SOC),它由FPGA与ARM组合构成,硬件可编程,软件也可编程,在众多应用场合有一定优势。本文根据Xilinx官网的介绍并结合ZYNQ-7000的多份数据手册总结了此产品…

ZYNQ学习笔记(一)---初识ZYNQ-7000系列

前几日刚入手一款ZYNQ-7000系列的板卡,之前我也没用过FPGA,直接跨越到ZYNQ的原因主要是某宝上这款板卡相较于其他片上仅有一块FPGA的板卡性价比更高。作为入门,在学习过程中,笔者选择先单独学习ZYNQ上的FPGA部分,也就是…

ZYNQ7000 Vivado详细教学步骤

ZYNQ7000 Vivado开发 ZYNQ7000 Vivado详细教学步骤 ZYNQ7000 Vivado开发1.建立工程项目2.创建Block Design3.配置IO BANK4.配置DDR和CLOCK5.配置PS外设6.测试PS外设7.增加PL外设 1.建立工程项目 Xilinx提供了一系列开发工具,其中包括Vivado平台工具,它是…

mongodb客户端 robo 3T 查询突破50行限制

robo 3T的小bug 这个mongodb客户端,每次查询数据只有50行,虽然有向下翻页的功能 但实际上点击后会被重置,还是只有前50条 解决办法 DBQuery.shellBatchSize 500; 当前窗口最大查询数量修改到500(只有当前窗口生效)…

centos7仅安装mysql/mongodb客户端

1、仅安装MySQL客户端 # 添加rpm源 [rootk8s-master ~]# rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm [roottest1 ~]# # 通过yum搜索 [roottest1 ~]# yum search mysql-community [roottest1 ~]# # 安装x64位的 mysql客户端 [roottest1 ~]…

专业级MongoDB桌面客户端:MongoBooster for Mac

mongobooster mac破解版是适用于MongoDB的最智能IDE,也是以shell为中心的跨平台GUI工具,它提供了流畅的查询构建器,SQL查询SQL查询,就地更新,ES2017语法支持和真正的智能感知体验。MongoBooster下载可以帮助用户能够连接到选项卡式用户界面中的多个数据库,并通过shell命令…

mongodb官方客户端可视化工具Compass,免费,官方值得信赖

之前一直用的客户端是nosqlbooster4mongo,基本操作还都是挺好用的,但是有一些命令在这个客户端上运行不了,以后要慢慢的替换到compass上。 下载compass 官方下载:https://downloads.mongodb.com/compass/mongodb-compass-1.26.1…