本文将给出经过Vivado IDE开发Zynq平台上PS裸机应用程序的流程。读者将看到Vivado开发更高效、方便。
MP3咱们都听过,现在咱们能够用ZED-Board来听。板子上有音频芯片ADAU1761,能够完结录音、放音,但不具有MP3解码功用。Zynq 双核ARM9做MP3软件解码应该是能够完结的,可是博主自己有一颗VS1003,能够完结MP3硬件解码,软件将得以简化,对MP3解码原理感兴趣的能够深入研究怎么运用CortexA9+ADAU1761完结MP3播映。电路图如下:
运用Zynq MIO完结VS1003操控,这样只和PS有关,PL完全能够丢掉。在本节基础上,读者能够测验将SPI模块移到PL上完结,这样能够下降PS部分IO读写频率,进步CPU运用率。什物衔接图如下:
Zynq板子外接用排母,为了运用杜邦线,需求一个双公排针,能够用一般单排2.54mm排针限制而成
下面介绍软件开发流程。树立Vivado工程,命名为MP3Player,进程遵从上节Vivado树立工程过程,略。
进入IDE后,点击左边流程管理器中的IPI Integrator下的Create Block Design。 这个东西是2013.1版别后才呈现的,将替代XPS完结系统集成。
在修改区右键,挑选Add IP…,称号坚持默许design_1.bd
查找框中输入zynq,双击第一个,增加IP到电路图中。
增加完结后,主动进行布线衔接,点下图中圆圈区域 Run Block AutomaTIon。
等候完结,成果如下图所示。
能够看到,DDR和固定IO主动进行了衔接。这是由于咱们树立工程时挑选了ZedBoard DVK,这样就能依照板子描绘主动衔接引脚到相应外设。
别的看到,默许状态下使能了M_AXI_GP0,能够将PL部分带AXI从接口的IP衔接到PS进行操控。本节不需求,所以有必要禁用,不然验证规划时会报错。双击方块,见下图
看到了了解又生疏的画面,有些像XPS中Zynq视图,但精简了许多。单击左边“PS-PL ConfiguraTIon,界面如下:
将AXI GP0接口后的勾撤销挑选,承认,回到IPI。
验证规划,在空白处右键,点击Validate Design。无误,点承认即可。
在上图方位点Generate Block Design,承认。
在Sources窗口中找到design_1,右键挑选生成顶层HDL包装。承认。
直接点左边流程中的Generate Bitstream,一步到位。完结比特流大约需求5~8min。
完结后,先Open Implementated Design,再导出到SDK。
完结后,先Open Implementated Design,再导出到SDK。假如没有做这一步,上图中第二项会变成灰色。
后边便是SDK开发了,和本系列教程(三)中相同。树立ApplicaTIon工程,C工程,模板helloworld。将代码改为下面:
#include
#include platform.h
#define MIO_BASE 0xE000A000
#define DATA0 0x40
#define DATA0_RO 0x60
#define DIRM_0 0x204
#define OEN_0 0x208
void delay(unsigned int t)
{
unsigned int i,j;
for(j=0;j