在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1861|回复: 0

[原创] 玩转Zynq连载28——[ex50] 第一个Zynq系统工程“Hello Zynq”

[复制链接]
发表于 2019-9-30 13:14:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
玩转Zynq连载28——[ex50] 第一个Zynq系统工程“HelloZynq
更多资料共享
腾讯微云链接:https://share.weiyun.com/5s6bA0s
百度网盘链接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw
提取码:ld9c
1.jpg
腾讯微云链接:https://share.weiyun.com/5s6bA0s
百度网盘链接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw
提取码:ld9c
1概述
         如图所示,Zynq系统的PS部分有丰富的外设接口,常见的USB、UART、SPI、I2C、SDIO、CAN、GPIO、以太网,一应俱全,能够满足大多数的嵌入式应用需求。这么强大的外设系统,是不是有些迫不及待了,不着急,万丈高楼平地起,我们要从最简单的流程跑起,带大家先从工具层面玩转Zynq,再深入其中。
2.jpg
         本实例,我们要搭建第一个Zynq系统工程,并且在这个Zynq系统的Cortex A9上在线跑一个通过UART打印“HelloZynq!”的软件程序。当然了,重点不是Hello Zynq,而是如何新建Zynq系统模块、配置PS的参数、导出硬件、新建软件工程并且在线板级运行起来。流程很重要,大家在开始的时候总要先走一遍流程了解开发的全貌,然后再细细把玩,逐个精通。
2 新建工程
         新建文件夹zstar_ex50,注意它的整个存放路径中不要有中文、符号或空格(只能是数字和字母)。
         打开Vivado,参考《玩转Zynq-工具篇:新建Vivado工程.pdf》新建一个Vivado工程。
3 ZYNQ硬件配置
         在IP Integrator(IP集成器)下点击CreateBlock Design(创建新的设计模块)。
3.jpg
         如图所示,在弹出的Create BlockDesign窗口中,Design name后面输入创建的模块名称(这里命名为zstar_zynq_ps),后面的Directory即文件存放路径使用默认,Specify source set即指定文件的子集也使用默认。
4.jpg
         此时,在Vivado的主视图中,出现了如图所示的Block Design界面。在Diagram中,点击中央的小加号,准备添加zynq的处理器IP核。
5.jpg
         如图所示,在弹出IP列表的Search后面,我们输入关键词zynq,随后筛选出唯一的ZYNQ7Processing System选项,点击它。
6.jpg
         此时,Diagram界面中央出现了一个名为processing_system7_0的模块,可以双击这个模块,将弹出该模块的配置页面。
7.jpg
         Zynq系统配置页面如图所示。
8.jpg
         点击Presets按钮,弹出菜单如图,接着点击Apply Configuration。
9.jpg
         定位到当前工程路径下,找到zstar_ex50.tcl脚本,选中它,然后点击OK应用该tcl脚本的设定。这不操作的意义在于,将笔者已经配置好的ZYNQ7 Processing System参数整个应用到当前新建工程的系统中。下面我们会看看都有哪些特殊的需要注意的配置,这些配置通常是和我们所使用的板级硬件电路设计相关的。
10.jpg
         如图,设置正在应用生效中。
11.jpg
         完成配置加载后,Zynq系统的当前配置就能够用于我们后续的软件实例。如图所示,在Peripheral I/O Pins选项卡中,UART 1被勾选上了,它对应的MIO48和MIO49列是高亮的,表示UART 1所使用的引脚是MIO48和MIO49。点击OK完成设置。
12.jpg
         回到Diagram中,可以看到ZYNQ模块的接口发生了变化,现在只有FIXED_IO是可以引出的,实际上我们后面的实例中也不使用这个引出的FIXED_IO。点击箭头所指的Run Block Automation按钮。
13.jpg
         弹出图示的对话框,使用默认设置,点击OK就可以。
14.jpg
         这时我们看到,FIXED_IO果然被引出了。
15.jpg
       在Sources页面中,我们可以看到DesignSources下面,我们刚刚创建的系统模块zstar_zynq_ps。
16.jpg
         点击选中zstar_zynq_ps模块,单击右键,弹出菜单中点击Generate Output Products,使得该系统输出生效。
17.jpg
         弹出下面的对话框,点击Generate。
18.jpg
         zstar_zynq_ps模块目前还不是当前工程的顶层模块,必须再次选中它,然后在右键菜单中点击Create hdl Wrapper。
19.jpg
         若弹出如下对话框,使用默认设置,点击OK继续。
21.jpg
         最后,在Flow Navigator的Program andDebug下,点击Generate Bitstream编译整个工程以生成可烧录PL的bit文件。
22.jpg
4 导出PS硬件配置和新建SDK工程
         参考文档《玩转Zynq-工具篇:导出PS硬件配置和新建SDK工程.pdf》。
5在线板级调试
         在Zstar板子上,设置跳线帽P3为JTAG模式,即PIN2-3短接。
         连接好串口线(USB线连接PC的USB端口和Zstar板的UART接口)和Xilinx下载线(下载器连接PC的USB端口和Zstar板的JTAG插座)。使用5V电源给板子供电。
23.jpg
         确认当前设备管理器中识别到的COM口号,配置好打开PuTTY串口调试界面。
24.jpg

         接着参考《玩转Zynq-工具篇:SDK在线运行裸跑程序.pdf》将zstar.bit文件和Helloworld.elf文件烧录到Zynq中运行起来。
         SDK Log窗口中,也会打印输出相应的SDK工作信息。
25.jpg
         回到PuTTY中,我们可以看到也已经打印出了我们期盼已久的Hello World(不好意思,不是Hello Zynq,不过没关系,Hello Zynq要你自己尝试改C源码再跑一遍就OK)。
26.jpg
         恭喜你,完成的Zynq系统Cortex A9的运行,裸跑了一个HelloWorld程序。

20.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-24 08:04 , Processed in 0.018813 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表