MPSOC系列处理器是赛灵思推出的新一代集成SOC,号称比ZYNQ系列性能高5倍。与ZYNQ相比,MPSOC最最突出的是集成 4CORE A53 / 2 core R5、GPU、H264等,在图形图像处理、智能算法等比较有竞争力有较大优势。此外,MPSOC接口也很有优势,ZYNQ中除了ACP口,并没有提供其他cache一致性接口,而MPSOC提供了CCI总线,CCI总线上连接的A53/R5/GPU/DMA等可以高效的同步数据,而不用对cache进行特殊操作,这大大提高了数据搬运的效率。本篇文章使用米尔MYD-CZU3EG开发板实操,介绍怎样通过 EMIO引出 GPIO, 并在 SDK 中控制 D37 和 D41 闪烁。
文章源自:http://www.myir-tech.com/news_list.asp?id=1810请添加链接描述
MPSOC开发实例——通过EMIO引出GPIO_第1张图片

开发环境:vivado 2017.4,开发板型号:米尔MYD-CZU3EG, 主芯片XCZU3EG-1SFVC784。这个系列板子还有4EV,5EV等版本,手里的3EG版本不支持SFP,因此板上相应接口(白色部分)是空贴的。

生成的vivado工程(如果不知道如何生成可以参考前面的工程)
MPSOC开发实例——通过EMIO引出GPIO_第2张图片

Step1新建Block Design
MPSOC开发实例——通过EMIO引出GPIO_第3张图片

点击OK
MPSOC开发实例——通过EMIO引出GPIO_第4张图片

Step2添加PS的IP核并配置
点击这个Add IP添加IP核
MPSOC开发实例——通过EMIO引出GPIO_第5张图片

输入mpsoc,然后双击Zynq UltraScale+MPSoC添加mpsoc核
MPSOC开发实例——通过EMIO引出GPIO_第6张图片

zynq mpsoc核如下图所示
MPSOC开发实例——通过EMIO引出GPIO_第7张图片

双击zynq mpsoc核导入配置文件
Presets-->Apply Configuration
MPSOC开发实例——通过EMIO引出GPIO_第8张图片

这里导入的是gpio_emio.tcl配置文件
MPSOC开发实例——通过EMIO引出GPIO_第9张图片

配置完成后,如下图所示
MPSOC开发实例——通过EMIO引出GPIO_第10张图片

在gpio管脚上右击选择Make External
MPSOC开发实例——通过EMIO引出GPIO_第11张图片

引出的gpio管脚如下图所示
MPSOC开发实例——通过EMIO引出GPIO_第12张图片

Step3 生成综合文件
MPSOC开发实例——通过EMIO引出GPIO_第13张图片
Step4 生成FPGA顶层文件
MPSOC开发实例——通过EMIO引出GPIO_第14张图片

Step5 添加xdc管脚约束
MPSOC开发实例——通过EMIO引出GPIO_第15张图片

选择Add Create Constraints
MPSOC开发实例——通过EMIO引出GPIO_第16张图片

选择Create File
MPSOC开发实例——通过EMIO引出GPIO_第17张图片

添加一个gpio_emio.xdc文件
MPSOC开发实例——通过EMIO引出GPIO_第18张图片

点击Finish

将我们提供的工程里面的xdc文件复制到这个gpio_emio.xdc文件里
MPSOC开发实例——通过EMIO引出GPIO_第19张图片

Step6 生成bit文件
MPSOC开发实例——通过EMIO引出GPIO_第20张图片

Step7导出硬件配置文件
点击菜单栏上的 File->Export->Export Hardware->OK 导出硬件配置文件
MPSOC开发实例——通过EMIO引出GPIO_第21张图片
MPSOC开发实例——通过EMIO引出GPIO_第22张图片

Step8 启动SDK,新建fsbl
点击菜单栏上的 File->Launch SDK->OK 启动 SDK
MPSOC开发实例——通过EMIO引出GPIO_第23张图片

点击FileApplication Project新建工程
MPSOC开发实例——通过EMIO引出GPIO_第24张图片

输入工程名为fsbl
MPSOC开发实例——通过EMIO引出GPIO_第25张图片

选择Zynq MP FSBL
MPSOC开发实例——通过EMIO引出GPIO_第26张图片

生成的fsbl如下图所示
MPSOC开发实例——通过EMIO引出GPIO_第27张图片

Step9 新建一个gpio_emio工程
点击FileApplication Project新建工程
MPSOC开发实例——通过EMIO引出GPIO_第28张图片

输入工程名gpio_emio
MPSOC开发实例——通过EMIO引出GPIO_第29张图片

选择hello_world工程模板
MPSOC开发实例——通过EMIO引出GPIO_第30张图片

新建gpio_emio工程完成后,如下图所示
MPSOC开发实例——通过EMIO引出GPIO_第31张图片

将我们提供的gpio_emio工程的程序复制到这个hello_world工程模板里
MPSOC开发实例——通过EMIO引出GPIO_第32张图片

Step10 生成BOOT.bin文件
右击 gpio_emio ->Create boot Image

点击Create Image,生成BOOT.bin启动文件
MPSOC开发实例——通过EMIO引出GPIO_第33张图片

将这个BOOT.bin文件拷贝到SD卡
MPSOC开发实例——通过EMIO引出GPIO_第34张图片

开发板模式设置,这里我们设置为SD卡启动模式
MPSOC开发实例——通过EMIO引出GPIO_第35张图片
MPSOC开发实例——通过EMIO引出GPIO_第36张图片

开发板连接12V电源、连接uart串口、插入SD卡
MPSOC开发实例——通过EMIO引出GPIO_第37张图片

开发板上电运行,两个LED会同时闪烁
MPSOC开发实例——通过EMIO引出GPIO_第38张图片