复旦微ZYNQ EMIO控制PL LED

您所在的位置:网站首页 xc7z045ffg900手册 复旦微ZYNQ EMIO控制PL LED

复旦微ZYNQ EMIO控制PL LED

2023-10-15 19:08| 来源: 网络整理| 查看: 265

一,复旦微和XILINX对比(我的了解)

1,复旦微ZYNQ FPGA开发工具是Procise,ARM开发工具是IAR;

2,它与xilinx ZYNQ不同的是,xilinx移植的是两个ARM CONTEX A9或者高端UTRASCALE 移植的是ARM CONTEX A53,复旦微移植的是四个ARM CONTEX A7;

3,xilinx里面PL和PS共用下载器,复旦微PS要单独引出EMIO或者MIO接PS JTAG,且PS JTAG的复位信号接到ps_rst或gpio引脚单独复位;

4,xilinx高端系列,比如utrascale系列,microblaze系列,这些高端的暂时不支持导入到IAR;

5,复旦微的FPGA可以使用Procise开发,也可以从vivado开发然后导入到Procise和IAR;

6,一些个别不常见的中断或总线接口,暂时复旦微还不支持;复旦微环境搭建各种补丁包。

7,xilinx芯片资料和推广的也多,PDF开发例程就是上万页。复旦微的资料,目前只有 寄存器介绍和讲解+一些控制流水灯的例程+一些泛泛而谈的PDF,开发起来费劲。

8,复旦微MIO测试有些中断条件无法触发,固化的程序时候,procise不好用只好用IAR固化。

二,vivado 2018.3配置:

1,芯片型号选择xc7z045ffg900-2 器件

 2,双击 ZYNQ IP,打开自定义界面进入 MIO Configuration -> I/O Peripherals -> GPIO

   勾选   EMIO GPIO,宽度选择为 4

3,配置完成如图,生成顶层文件,添加led约束,编译.bit文件;导入sdk新建一个hellowold工程,这里是为了后面导入IAR的时候能生成PL相关库文件和头文件,然后关闭vivado和sdk

 三,新建导入Procise工程

1,打开Procise新建一个空Procise工程,名字自己定义,这里写的PROCISE_EMIO_LED

器件选择 fmql,package选择fcbga900; FMQL45_FFG900芯片为复旦微电子旗下的一款SOC芯片。该芯片采用PS+PL架构,四核APU,GP接口带宽支持64位,且有更丰富的外设管脚。可应用于汽车辅助驾驶、无线通信、视频、医疗、工业控制等。

然后选择next和finish

 2,从上方菜单蓝,选择 PSOC->From Vivado

3,添加vivado2018.3 生成的 system.bd 文件与 PS 的 IP 配置(.xci)文件

 Block Design 文件(.bd)的路径一般是:

{prj_name}\{prj_name}.srcs\sources_1\bd\{bd_name}\ {bd_name}.bd

vivado PS 的配置文件(.xci) 的路径一般是:

{prj_name}\{prj_name}.srcs\sources_1\bd\{bd_name}\ip\{bd_name}_processing_system7_0_0\ {bd_name}_processing_system7_0_0.xci

4,点击 OK ,选择需要的第三方开发平台模板工程,就到入到了IAR软件之中,类似于SDK软件

四,IAR开发或库导入

1,点击 OK,Procise 将启动 IAR_SDK。在左侧工程目录下打开 empty.c 文件,写入代码

#include "fmsh_gpio_public.h" #include "fmsh_ps_parameters.h" int main() { FMSH_WriteReg(FPS_SLCR_BASEADDR, 0x008, 0xDF0D767BU); //unlock FMSH_WriteReg(FPS_SLCR_BASEADDR, 0x838, 0xf); //Open USER_LVL_SHFTR_EN_A and USER_LVL_SHFTR_EN_5 FMSH_WriteReg(FPS_SLCR_BASEADDR, 0x004, 0xDF0D767BU); //lock FGpioPs_T* gpios; FGpioPs_Config* gpio_cfgPpr; gpio_cfgPpr = FGpioPs_LookupConfig(FPAR_GPIOPS_2_DEVICE_ID); FGpioPs_init(gpios,gpio_cfgPpr); FGpioPs_setDirection(gpios, 0xf); while(1) { FGpioPs_writeData(gpios, FMSH_BIT0); delay_ms(500); FGpioPs_writeData(gpios, FMSH_BIT1); delay_ms(500); FGpioPs_writeData(gpios, FMSH_BIT2); delay_ms(500); FGpioPs_writeData(gpios, FMSH_BIT3); delay_ms(500); } return 0; }

2,点击了绿色下箭头进行编译,绿色播放箭头进行下载

 五,下载方式

编程下载有三种方法:下面介绍通过 Procise 走 J-link 仿真器的方法

通过 Procise 走 J-link 仿真器 通过 Procise 走 Mini USB 下载线 通过 Vivado 走 Mini USB 下载线

1,J-link 仿真器连接到PC机上,复旦微上电。Procise 中选择 Tools->Configure Device

 2,双击 Connect to board,连上复旦微

3,右键单击 jfm7z045,选择 Assign New Configuration File

4,添加 vivado2018.3 生成的 bit 文件

5,点击 Yes

 6,右键单击 fm7z045,点击 Program 下载位流。PL 部分设置成功

7,从任务管理器中结束procise_jtag.exe进程 ,否则 IAR_SDK 会识别不到 JTAG

8,在 IAR_SDK 中,点击上方的绿色小箭头,Download and Debug,弹出提示,点击 OK

,

9, 选择 Cortex-A7,点击 OK



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3