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卡接口正常。

ZYNQ7000 SDK开发使用相关推荐

  1. 网易技术干货 | 云信跨平台C++ SDK开发实战

    1. 序 言 2018年,Flutter Release正式发布,将移动端跨平台开发技术再一次推上风口浪尖.2019年5月,Flutter 1.5正式支持Web开发,而预告中正在开发的Flutter ...

  2. android大疆飞控界面,DJI Android SDK 开发笔记(入门篇)

    ##大疆SDK开发笔记## #1.文档相关 2.Android SDK文档 接入Android的SDK都在这部分,飞控相关的接口. 3.Android UX SDK文档 大疆自定义的组件,已经跟飞机关 ...

  3. 游戏开发需要具备哪些技术_短视频 SDK 开发 (一) 开发一款短视频 SDK 需要具备哪些知识?...

    前言 2020 年要属什么最火,肯定是短视频和直播带货了.我自己基本上每天晚上睡觉之前都会刷一会儿 douyin 短视频,不得不承认 douyin 的推荐算法是真 nb ,推荐的都是我的最爱 ? .那 ...

  4. 由于开发者通过接口修改了菜单配置_Android SDK开发艺术探索(四)个性化配置...

    一.前言 本篇是Android SDK开发艺术探索系列的第四篇文章.介绍了通过流式API设计思想优雅地实现SDK的自定义选项配置需求. 目录概览: 一.前言 二.SDK自定义配置2.1.什么是自定义配 ...

  5. android sdk build-tools_从零开始仿写一个抖音App——视频编辑SDK开发(一)

    本文首发于微信公众号--世界上有意思的事,搬运转载请注明出处,否则将追究版权责任.交流qq群:859640274. 大家好久不见,又有一个多月没有发文章了.不知道还有哪些读者记得我的 从零开始仿写抖音 ...

  6. [译]Kinect for Windows SDK开发入门(二):基础知识 上

    上篇文章介绍了Kinect开发的环境配置,这篇文章和下一篇文章将介绍Kinect开发的基本知识,为深入研究Kinect for Windows SDK做好基础. 每一个Kinect应用都有一些基本元素 ...

  7. 华睿相机sdk 开发_索尼发布相机远程操作SDK(软件开发工具包)

    索尼从2020年12月9日开始,向开发者免费提供针对索尼数码相机的软件开发工具包" Camera Remote SDK" 1.03版. " Camera Remote S ...

  8. cpprestsdk编译安装linux,使用C++ REST SDK开发简单的Web(HTTP)服务

    C++ REST SDK是微软开源的一套客户端-服务器通信库,提供了URI构造/解析,JSON编解码,HTTP客户端.HTTP服务端,WebSocket客户端,流式传输,oAuth验证等C++类,方便 ...

  9. 大疆Onboard SDK开发中连接飞控后串口设置与开机自启动

    大疆Onboard SDK开发中连接飞控后串口设置与开机自启动 Manifold/TX2/Linux 下相关设置 1.设置程序上电自动执行 设置程序上电自动执行,即为设置开机自动运行可执行文件,Man ...

最新文章

  1. UniDAC使用教程(二):数据更新
  2. Opencv学习笔记(六)SURF学习笔记
  3. Oracle服务自动启动脚本
  4. 上海人工智能实验室刘宇:从感知AI的发展理解决策AI的未来
  5. 「2017 山东一轮集训 Day2」Pair (霍尔定理+线段树)
  6. 细数非对称加密与对称加密的区别
  7. 知识图谱入门视频(四)
  8. 洛谷P4831 Scarlet loves WenHuaKe
  9. VPP命令行:启动配置,HTTP服务,DPDK配置
  10. 【计量经济学导论】08. 平稳时间序列
  11. 如何解决卸载McAfee时出现“处于托管模式时无法删除”问题(转)
  12. Matlab fspecial函数
  13. 阿里云域名搭建DNSLOG
  14. visio画箭头、画点线,各种连接头
  15. word:如何将文档中的中文和英文分开
  16. symbol是c语言标识符,symbol的理解
  17. 循环卷积和线性卷积的关系
  18. linux cp并打包目录,【linux】【qt5】【将linux下的qt程序打包发布(完全适用于中标麒麟)】...
  19. DFS基础-----刷题合集--1(全排列,八皇后,迷宫),让你明白DFS的基础用法
  20. 学习Python编程好找工作吗?

热门文章

  1. [CUDA学习]5. 常量内存与事件
  2. RPC(Remote Procedure Call)
  3. 物料主数据的MRP视图详解
  4. 强大无比!百度文库、音视频下载、商品历史价…一行命令满足你的各种需求...
  5. 一劳永逸 Win XP安装盘中集合驱动程序
  6. zabbix添加mysql监控
  7. 蓝桥杯真题(单词分析)
  8. install CentOS 7.2 时未出现按下tab提示,安装时未找到引导程序vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\
  9. uniapp 小程序超过2M的解决方法——分包
  10. Unity打造简易的GalGame游戏剧本编辑引擎