本文将给出通过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
移远通信LTE-A车规级模组包揽全球认证 英特尔推出新ATX PSU规格
默克中国与华润电力签署10年期绿电采购协议
手机变身显微镜 快速处理病原体
瞄准储能平价 协鑫年产36万吨LFP材料投产
诺基亚贝尔两方面发力实现5G“破局”
Board从入门到精通系列(七)
云是AI的容器 云原生AI成过去式AI原生的云才是未来
电烙铁的类型和线路板快速制板方法
同一天开发布会:小米5X与魅族pro7标准版相差1381元,你该如何选择?
配置高,空间大,耗油低-比亚迪2017款S7,居家旅行的首选之车!
达明机器人回归iREX,推出TM Palletizing智慧堆栈完整解决方案
Win10兼容安卓App意欲何为?
传感器融合时代来袭,你准备好了吗?
以太网供电(POE)接口供电保护电路
过分相信机器人会有怎样的后果
OPPO STAR官宣:三金影后周冬雨
VR全景的定义、好处及优势
戴姆勒和宝马正考虑联手生产关键的汽车零部件
vivoX20评测:vivo x20外观、配置、拍照、续航、音频、价格全面解析,值得体验
纯电动车辆的结构及其原理