一,复旦微和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\ 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 仿真器 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 |
|