当前位置:   article > 正文

ZYNQ详细设计之SDK相关操作_xsa文件

xsa文件

一、SDK工程创建

1.1 生成硬件信息文件hdf(2019.2版本以后叫xsa)

        Step1:在生成hdf文件之前需要生成bit文件,左下角Gennerate  Bitstream生成bit文件,用于存储程序和硬件信息;

        Step2:File > Export > Export Hardware,勾选包括bit文件,位置可以自定义或者放置在默认位置;

 

 

        Step3:打开SDK,File > Launch SDK;

1.2 helloworld实验

        打开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 调试界面:

  1. 控制区,控制调试过程;
  2. 可以查看正在运行的CPU(ARM);
  3. 可以添加变量并且查看变量变化;
  4. 代码区,可以修改代码并调试;
  5. 可以看到代码所调用的函数;
  6. 控制台,可以进行输入输出调试;
  7. 可以看到相关内存的使用;

        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灯闪烁,满足自己设计,代码烧录成功;

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/604163
推荐阅读
相关标签
  

闽ICP备14008679号