FPGA/ASIC技术
在Zedboard的Demo演示中试验了通过Quad-SPI FLASH和SD存储卡启动系统,还有一种配置Zynq芯片的方法是通过JTAG接口,而且FPGA逻辑的调试和嵌入式软件调试也需要通过JTAG,下面我们来看看在Zedboard上面如何进行嵌入式系统开发。Xilinx提供了一整套软硬件设计开发工具ISE Design Suite,其中整合了各种开发软件,可以在Xilinx网站免费下载。注意为了能够使用最新的Zynq芯片必须下载ISE Design Suite14.1或者以上版本,FPGA的设计工具都很庞大,14.1版本ISE占到了6.5G,非常恐怖。下载完成解压缩之后开始安装
如下可以选择Embedded Edition,也可以选择System Edition
ISE软件是需要License的,安装完成以后可以选择Webpack,这是Xilinx提供的一个免费的版本。
ISE Design Suite是一系列开发工具的集合,在这里我们主要会用到以下几个主要的工具:
PlanAhead:这是进行Zynq嵌入式系统设计的一个入口,整合了嵌入式硬件设计工具XPS以及软件设计工具SDK,还连接逻辑综合等ISE工具。
Xilinx Platform Studio(XPS):用于搭建嵌入式系统硬件平台
Xilinx Software Development Kit(SDK):嵌入式软件开发环境
ChipScope Pro:片上的信号逻辑分析工具
软件安装完成后,现在可以在Zedboard硬件平台上实验如何进行嵌入式系统软硬件开发了,在这之前建议下载一个Zedboard板卡定义文件,这在之后的Zynq硬件配置时会用到。Zynq芯片内部集成了处理器和可编程逻辑,我们知道它的内部大体可以划分为PS(Processing System)和PL(Programmable Logic)部分。PS和PL部分是可以独立配置也可以整合在一起同时配置,也就是说我们可以单独建立PS系统(如果不用到PL部分IO),也可以单独配置PL逻辑(PS部分只作为配置PL逻辑的控制器),也可以同时配置PS和PL逻辑,可见Zynq芯片可以灵活的搭建嵌入式平台实现不同的功能。建立独立的PS系统建立一个独立的PS系统就是我们只在PS部分搭建一个ARM的嵌入式系统,不需要额外PL逻辑,利用Xilinx的工具能很快建立一个系统,甚至不需要写任何代码,模块化的设计确实很方便。首先Zedboard上的MODE选择跳线我们要设在通过JTAG启动(参见Zedboard Demo演示),如下:
上图是一般的Zynq芯片的设计流程。按照步骤能很快建立一个处理器系统。1)打开PlanAhead,选择Create New Project新建一个项目
按照下图选择建立项目
2)确定后生成了一个新的项目,PlanAhead项目的文件以后缀.ppr结尾,可以点击Add Souces添加硬件设计文件。
选择建立一个新的Embeded Source,确定之后PlanAhead会自动跳用XPS执行。
图形化逻辑配置简单明确4)现在可以配置PS内部逻辑,也可以导入配置好的模板,在这里我们导入之前下载的Zedboard板卡定义文件,选择Zynq标签页下面Import按钮弹出窗口
确定后导入了定义好的Zedboard文件,配置后的框图如下,这是点击绿色图块会发现逻辑已经设定好。
5)关闭XPS,又回到PlanAhead窗口。这时在Design Souces下增加了刚才建立的.xmp项目。邮件点击.xmp选择Create Top HDL。
到这一步一个简单的ARM系统建立起来了,只需要建立PS部分配置。下一步将硬件下载到Zedboard上,搭建好Zedboard平台,需要JTAG下载线,可以用Micro USB连接到USB-PROG(J17)口,也可以使用Xilinx下载电缆连接到14脚JTAG插座(J15)。6)选择File->Export->Export Harware...,弹出窗口,够选上Launch SDK,确定后PlanAhead开始启动SDK软件。
上图可以看到system.xml文件包含了硬件平台的配置信息。ps7_init.c和ps7_init.h中包含了处理器平台硬件的初始化s设置。7)接通Zedboard的电源,目前处于等待JTAG变成状态,只有电源指示LED(LD13)变亮。打开一个串口监视,这里用Putty来监视,波特率115200、数据位8位、停止位1位、奇偶校验无。
8)选择File->New->Xilinx C Project,弹出窗口建立一个hello_world的例程
9)完成之后现在建立了一个Hello_world的小程序,并且自动编译。编译完成后右键点击hello_world_0,选择Run as->Launch on Hardware将程序下载到Zedboard。
下载完成后程序执行在串口监视窗口会输出“Hello world”。
一个简单的ARM Cortex-A9内核的系统已经建立,可以进行软件开发了。小结介绍JTAG方式启动Zedboard。演示用Xilinx设计工具ISE Design suite14.1进行Zynq开发的设计下载和验证,利用Zynq芯片的PS部分独立建立了一个简单的嵌入式系统。接下来将结合PS和PL逻辑建立一个功能更灵活的系统。来源:爱板网
全部0条评论
快来发表一下你的评论吧 !