赞
踩
Step1:在生成hdf文件之前需要生成bit文件,左下角Gennerate Bitstream生成bit文件,用于存储程序和硬件信息;
Step2:File > Export > Export Hardware,勾选包括bit文件,位置可以自定义或者放置在默认位置;
Step3:打开SDK,File > Launch SDK;
打开SDK后可以看到生成的hdf文件,在1部分包括了SOC的硬件信息;在2部分包括了各部分硬件分配的地址。
Step1:创建helloworld例程,File -> new ->Application projects输入工程名字后next,然后选择helloworld例程就好了,创建好后可以看到多了两个文件。
Step2:生成链路脚本,选中helloworld右键点击 > Generate linker Script,可以看到所有可用内存的情况,代码、数据、堆栈运行所在内存的情况,本实验不做改动。
Step3:开始进行debug调试,进入调试前,需要给开发板通电,连接好开发板上的串口(可通过设备管理器查看是否接好),查看串口号(设备管理器中查看),连接好下载器。选中helloworld,右击 HelloWorld > Debug As > Debug Configurations,双击 Xilinx C/C++ application(System Debugger) 这个位置新建,生成 HelloWorld 的调试文件;可以看到加载的bit文件和tcl文件,勾选方框中的选项,可以复位一下系统并且下载到FPGA中(bit文件掉电丢失)。
Step4:进入 SDK 调试界面:
Step5:启用系统自带的串口调试助手,进行相关的设置,单击运行,查看输出结果。
通过自带的串口助手也能进行接收。
程序调试完成后可以看到我们设计的流水灯闪烁,这样下载还是下载到了FPGA中,掉电后程序会丢失,因此我们还需要将程序固化到SD或者flash当中,便于从SD或者QSPI FLASH启动时调用程序。
如果需要板卡中程序掉电不消失,则需要对程序进行固化,现在最常用的是固化到SD卡或者FLASH当中,固化后上电就会从SD卡或者FLASH中启动(和拨码开关关联),并加载程序。
启动模式 | 开关状态 |
SD卡启动/JATG调试模式 | 开关1-OFF,开关2-OFF |
QSPI FLASH启动/JATG调试模式 | 开关1-ON,开关2-OFF |
2.1 固化前准备
如果要固化一个 ZYNQ 的程序,首先得制作一个镜像文件BOOT.bin。制作一个镜像文件需要三个文件:FSBL.elf、.bit、.elf,最后可以通过SDK生成.bin文件)(BOOT.bin = FSBL.elf+该工程.bit+该工程.elf)。
2.2 生成镜像文件BOOT.bin
生成BOOT.bin前,先生成FSBL.elf文件。直接File > new > application project,填写文件名,位置默认位置,选择Zynq FSBL点击Finish即可生成FSBL.elf文件。
生成BOOT.bin过程:选中HelloWorld文件,右键单击Create Boot Image,可以看到需要的三个文件FSBL.elf、.bit、.elf 文件,点击Create Image即可生成BOOT.bin镜像文件。
完成后,可以看到在 helloworld 工程(要做固化的工程)的文件夹中出现 bootimage 文件夹,展开后可以看到生成的 BOOT.bin 文件。这个 BOOT.bin 文件用于 SD 或 QSPI 固化。
选中HelloWorld(带镜像文件BOOT.bin),点击正上面图标,下载程序至FLASH,在Image File中选择镜像文件,在FSBL中选择elf文件,勾选Blank check after erase 和Verify after flash,然后开始下载。
下面控制台是下载完成信息,断电重新上电后则发现LED灯闪烁,满足自己设计,代码烧录成功;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。