AMD Versal AI Edge自适应计算加速平台之体验ARM,裸机输出(7)

描述

1.1 硬件介绍  

我们从原理图中可以看到 ZYNQ 芯片分为PL和PS,PS端的IO分配相对是固定的,不能任意分配,而且不需要在Vivado软件里分配管脚,虽然本实验仅仅使用了PS,但是还要建立一个Vivado工程,用来配置PS管脚。虽然PS端的ARM是硬核,但是在ZYNQ当中也要将ARM硬核添加到工程当中才能使用。前面章节介绍的是代码形式的工程,本章开始介绍ZYNQ的图形化方式建立工程。   

FPGA工程师工作内容

下面介绍FPGA工程师负责内容。

1.2 Vivado工程建立  

1)创建一个名为“ps_hello”的工程,建立过程不再赘述,参考“PL的”Hello World”LED实验”。

2)点击“Create Block Design”,创建一个Block设计

DDR4

3)“Design name”这里不做修改,保持默认“design_1”,这里可以根据需要修改,不过名字要尽量简短,否则在Windows下编译会有问题。

     DDR4       

4)点击“Add IP”快捷图标

DDR4

5)搜索“PS”,在搜索结果列表中双击”Control,Interfaces & Processing System”

DDR4

6)点击Run Block Automation

DDR4

7)配置如下,点击OK

DDR4

8)自动连接如下

DDR4

9)双击CIPS进行配置    

DDR4

DDR4

点击PSPMC进行配置

DDR4    

10)配置QSPI,EMMC,SD

DDR4

DDR4

DDR4

选择相应MIO    

DDR4

11)勾选USB 2.0,GEM0,UART0,TTC,GPIO等外设

DDR4

配置外设    

DDR4

12)将MIO24配置成GPIO输入,对应PS端按键,MIO25配置成GPIO输出,对应PS端LED灯

DDR4

DDR4

13)在clocking中,将参考时钟设置更精确些

DDR4

14)将内部中断都勾选上,配置完成,点击OK

DDR4

15)点击Finish

DDR4

16)双击AXI NoC配置DDR4

DDR4

DDR4

DDR4

选择参考时钟和system clock    

DDR4

DDR Address Region 1选择NONE,点击OK

DDR4

17)修改引脚名称

DDR4

双击配置sys_clk的频率为200MHz    

DDR4

18)选择Block设计,右键“Create HDL Wrapper...”,创建一个Verilog或VHDL文件,为block design生成HDL顶层文件。

DDR4

19)保持默认选项,点击“OK”

DDR4

20)添加约束

DDR4

DDR4

DDR4

21)Generate Device Image

DDR4

22)完成后取消

DDR4

23)File->Export->Export Hardware...

DDR4

DDR4

DDR4

DDR4

DDR4

此时在工程目录下可以看到xsa文件,这个文件就包含了Vivado硬件设计的信息,可交由软件开发人员使用。   

DDR4

到此为止,FPGA工程师工作告一段落。

软件工程师工作内容  

Vitis工程目录为“ps_hello/vitis”

以下为软件工程师负责内容。

1.3 Vitis调试

1.3.1 创建Application工程  

1)新建一个文件夹,将vivado导出的xx.xsa文件拷贝进来。

2)Vitis是独立的软件,可以双击Vitis软件打开,也可以通过在Vivado软件中选择ToolsàLaunch Vitis打开Vitis软件

DDR4

在欢迎界面,点击Open Workspace,选择之前新建的文件夹,点击”OK”

DDR4

3)启动Vitis之后界面如下,点击“Create Platform Component”,这个选项会创建Platfrom工程,Platform工程类似于以前版本的hardware platform,包含了硬件支持的相关文件以及BSP。

DDR4

4)第一页填写Component name和路径,保持默认,点击Next    

DDR4

5)选择(XSA,选择“Browse”,选择之前生成的xsa,点击打开,之后点击Next

DDR4

6)选择操作系统和处理器,这里保持默认

DDR4

7)点击Finish完成

DDR4

8)生成之后出现窗口界面,以下是一些窗口介绍,与之前版本的Vitis界面有相似之处,但差别也比较大。   

DDR4

9)可以在Flow窗口编译平台

DDR4

没有错误状态

DDR4

10)点击左侧Example,这里面有很多官方的例程,与以前版本也比较类似,选择Hello World    

DDR4

11)点击创建工程

DDR4

12)填写工程名称和路径,保持默认    

DDR4

13)选中平台

DDR4

14)点击Next

DDR4

15)完成    

DDR4

16)选中hello_world,点击Build

DDR4

1.3.2 下载调试  

1)连接JTAG线到开发板、UART的USB线到PC    

DDR4

2)在上电之前最好将开发板的启动模式设置到JTAG模式,拔到”ON”的位置

DDR4

3)开发板上电,并且打开串口调试工具,点击Flow中的Run

DDR4

4)这个时候观察串口调试工具,即可以看到输出”Hello World”    

DDR4

1.4 固化程序

普通的FPGA一般是可以从flash启动,或者被动加载,在第一章的PMC架构中已经介绍启动过程,这里不再介绍。

在Flow中选择Creat Boot Image,弹出的窗口中可以看到生成的BIF文件路径,BIF文件是生成BOOT文件的配置文件,还有生成的Output Image文件路径,也就是生成BOOT.pdi文件,它是我们需要的启动文件,可以放到SD卡启动,也可以烧写到QSPI Flash。

DDR4

DDR4

在生成的目录下可以找到boot.pdi文件

DDR4

1.4.1 SD卡启动测试  

1)格式化SD卡,只能格式化为FAT32格式,其他格式无法启动

DDR4         

2)放入boot.pdi文件,放在根目录

DDR4

3)SD卡插入开发板的SD卡插槽

4)启动模式调整为SD卡启动

DDR4    

5)打开串口软件,上电启动,即可看到打印信息,红色框为FSBL启动信息,黄色箭头部分为执行的应用程序helloworld

DDR4

1.4.2 QSPI启动测试  

1)在Vitis菜单Vitis -> Program Flash

DDR4

2)Image FIle文件选择要烧写的boot.pdi。选择Verify after flash,Flash Type选择qspi-x8-dual_parallel,在烧写完成后校验flash。   

DDR4

3)点击Program等待烧写完成

DDR4

4)设置启动模式为QSPI,再次启动,可以在串口软件里看到与SD同样的启动效果。 

DDR4

DDR4

1.5 本章小结

本章从FPGA工程师和软件工程师两者角度出发,介绍了Versal开发的经典流程,FPGA工程师的主要工作是搭建好硬件平台,提供硬件描述文件xsa给软件工程师,软件工程师在此基础上开发应用程序。本章是一个简单的例子介绍了FPGA和软件工程师协同工作,后续还会牵涉到PS与PL之间的联合调试,较为复杂,也是Versal开发的核心部分。   

同时也介绍了FSBL,启动文件的制作,SD卡启动方式,QSPI下载及启动方式。



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分