ZYNQ详细设计之SDK相关操作

这篇具有很好参考价值的文章主要介绍了ZYNQ详细设计之SDK相关操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、SDK工程创建

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

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

xsa文件和hdf文件,fpga开发,c语言,arm开发

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

xsa文件和hdf文件,fpga开发,c语言,arm开发

 文章来源地址https://www.toymoban.com/news/detail-586898.html

xsa文件和hdf文件,fpga开发,c语言,arm开发

 

        Step3:打开SDK,File > Launch SDK;

1.2 helloworld实验

        打开SDK后可以看到生成的hdf文件,在1部分包括了SOC的硬件信息;在2部分包括了各部分硬件分配的地址。

xsa文件和hdf文件,fpga开发,c语言,arm开发

        

        Step1:创建helloworld例程,File -> new ->Application projects输入工程名字后next,然后选择helloworld例程就好了,创建好后可以看到多了两个文件。

xsa文件和hdf文件,fpga开发,c语言,arm开发

 xsa文件和hdf文件,fpga开发,c语言,arm开发

 

        Step2:生成链路脚本,选中helloworld右键点击 > Generate linker Script,可以看到所有可用内存的情况,代码、数据、堆栈运行所在内存的情况,本实验不做改动。

xsa文件和hdf文件,fpga开发,c语言,arm开发

        Step3:开始进行debug调试,进入调试前,需要给开发板通电,连接好开发板上的串口(可通过设备管理器查看是否接好),查看串口号(设备管理器中查看),连接好下载器。选中helloworld,右击 HelloWorld > Debug As > Debug Configurations,双击 Xilinx C/C++ application(System Debugger) 这个位置新建,生成 HelloWorld 的调试文件;可以看到加载的bit文件和tcl文件,勾选方框中的选项,可以复位一下系统并且下载到FPGA中(bit文件掉电丢失)。

xsa文件和hdf文件,fpga开发,c语言,arm开发

        Step4:进入 SDK 调试界面:

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

xsa文件和hdf文件,fpga开发,c语言,arm开发

        Step5:启用系统自带的串口调试助手,进行相关的设置,单击运行,查看输出结果。

xsa文件和hdf文件,fpga开发,c语言,arm开发

        通过自带的串口助手也能进行接收。

xsa文件和hdf文件,fpga开发,c语言,arm开发

        程序调试完成后可以看到我们设计的流水灯闪烁,这样下载还是下载到了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文件。

xsa文件和hdf文件,fpga开发,c语言,arm开发

        生成BOOT.bin过程:选中HelloWorld文件,右键单击Create Boot Image,可以看到需要的三个文件FSBL.elf.bit.elf 文件,点击Create Image即可生成BOOT.bin镜像文件。

xsa文件和hdf文件,fpga开发,c语言,arm开发

        完成后,可以看到在 helloworld 工程(要做固化的工程)的文件夹中出现 bootimage 文件夹,展开后可以看到生成的 BOOT.bin 文件。这个 BOOT.bin 文件用于 SD QSPI 固化。

xsa文件和hdf文件,fpga开发,c语言,arm开发

 

        选中HelloWorld(带镜像文件BOOT.bin),点击正上面图标,下载程序至FLASH,在Image File中选择镜像文件,在FSBL中选择elf文件,勾选Blank check after erase 和Verify after flash,然后开始下载。  

xsa文件和hdf文件,fpga开发,c语言,arm开发

 

xsa文件和hdf文件,fpga开发,c语言,arm开发

        下面控制台是下载完成信息,断电重新上电后则发现LED灯闪烁,满足自己设计,代码烧录成功;

xsa文件和hdf文件,fpga开发,c语言,arm开发

 

到了这里,关于ZYNQ详细设计之SDK相关操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • ZYNQ ARM+FPGA双目立体视觉控制器设计与实现(一)

    ZYNQ ARM+FPGA双目立体视觉控制器设计与实现(一)

    通过 ZYNQ 板卡实现 FPGA+ARM 架构的双目立体视觉系统 本设计采用实验室自主开发的 Zynq-7020 板卡,提出了基于 FPGA+ARM 架构的双 目立体视觉的软硬件系统设计方案。根据对系统软硬件功能划分, PL(FPGA) 端主要实现 了双目摄像头图像的采集存储和 HDMI 显示, PS(ARM) 端主要实现了

    2024年02月10日
    浏览(17)
  • 5—基于FPGA(ZYNQ-Z2)的多功能小车—软件设计—蓝牙串口

    5—基于FPGA(ZYNQ-Z2)的多功能小车—软件设计—蓝牙串口

    目录 1.蓝牙模块介绍 2.UART介绍 3.Verilog代码: 3.1Uart_RX模块: 3.2 分频模块: 3.3 Uart驱动模块 3.4 Uart控制模块 4. 总览   我使用的是JDY-31蓝牙模块,在连线中,要注意RX-TX,TX-RX。   即FPGA约束的TX对应蓝牙模块的RX,约束的RX对应蓝牙模块的TX。 蓝牙模块使用UART串口通信协议,具体

    2024年02月05日
    浏览(18)
  • ZYNQ自带ARM核处理器的FPGA芯片烧写及最小系统搭建,bit文件烧写

    ZYNQ自带ARM核处理器的FPGA芯片烧写及最小系统搭建,bit文件烧写

    1. 烧写背景 FPGA芯片,如果是ZYNQ系列这种自带ARM处理核的器件,包含PS和PL处理部分,只是逻辑的debug可以只使用PL部分。但是如果要实现文件的烧写就必须通过PS部分进行烧写。因为与外部flash芯片相连的QSPI是通过PS部分连接的,且也需要PS部分对FPGA的boot进行配置。   Zynq700

    2024年02月08日
    浏览(10)
  • AD9361+zedboard(ZYNQ7020)的SDK工程(上)

    AD9361+zedboard(ZYNQ7020)的SDK工程(上)

    1.准备工具 vivado2018.3 HDL源码:https://wiki.analog.com/resources/fpga/docs/releases no_os:https://github.com/analogdevicesinc/no-OS 注意:HDL源码下载的版本要与vivado一致,我这里是2018.3 HDL版本选择 2.构建vivado工程 2.1编译源文件 解压下载的HDL文件的压缩包 进入该文件夹C:AD9361hdl-hdl_2019_r1project

    2024年02月13日
    浏览(13)
  • DS/ML:模型全流程优化之系统优化—替代Pandas库的大数据高效处理技术优化集合如HDF5技术(压缩文件)+vaex库(内存映射)+dask库(集群技术)替代pandas的各自骚操作实现代码

    DS/ML:模型全流程优化之系统优化—替代Pandas库的大数据高效处理技术优化集合如HDF5技术(压缩文件)+vaex库(内存映射)+dask库(集群技术)替代pandas的各自骚操作实现代码 目录

    2024年02月09日
    浏览(16)
  • Zynq和FPGA区别——快速认识Zynq开发

    Zynq和FPGA区别——快速认识Zynq开发

    ZYNQ包含了2个部分,双核的ARM和FPGA。根据Xilinx提供的手册,用ARM实现的模块被称为PS,而用FPGA实现的模块被称为PL。简单的说FPA更偏向于逻辑,不跑系统。 ZYNQ内部包含PS和PL两部分,ZYNQ开发有一下四种方式: ZYNQ是赛灵思公司(Xilinx)推出的新一代全可编程片上系统,它将处

    2024年02月16日
    浏览(13)
  • 【Tensorflow】模型如何加载HDF文件数据集?

    如果每个样本都被保存为一个单独的 HDF5 文件,可以使用 `tf.data.Dataset.list_files` 函数来创建一个文件名数据集,然后使用 `tf.data.Dataset.interleave` 函数来并行读取多个文件。 下面的示例展示了如何从多个 HDF5 文件中读取数据并创建一个 `tf.data.Dataset` 对象: import h5py import tenso

    2023年04月24日
    浏览(10)
  • 4实现中断异常相关指令-1【FPGA模型机课程设计】

    4实现中断异常相关指令-1【FPGA模型机课程设计】

    2023-5-23 16:43:50 以下内容源自《【FPGA模型机课程设计】》 仅供学习交流使用 0集中实践环节计划书【FPGA模型机课程设计】 修改于2023-5-26 14:45:16 此处SC功能实现有问题 SC的 rt-1 不能在EX中实现 需要放入到MEM中 需要知道操作是否成功 得到rt-1(成功)或者rt-0(失败) 而不是在

    2024年02月11日
    浏览(9)
  • 4实现中断异常相关指令-2【FPGA模型机课程设计】

    4实现中断异常相关指令-2【FPGA模型机课程设计】

    2023-5-23 16:43:50 以下内容源自《【FPGA模型机课程设计】》 仅供学习交流使用 2023-6-3 17:24:24 系统调用和异常返回的功能 不完善 需要在Mem中添加对 LLbit-0 的代码 并且新增测试 对原子指令的失败测试 0集中实践环节计划书【FPGA模型机课程设计】 第一周周四: 选择MIPS与中断异常

    2024年02月09日
    浏览(5)
  • 江山易改本性难移之ZYNQ SDK QSPI固化bug及其解决方法

    江山易改本性难移之ZYNQ SDK QSPI固化bug及其解决方法

             之前在Vivado2018.3通过QSPI方式固化程序时出现问题,显示flash擦除成功,但最后总是不能写入到flash中。         查资料发现从VIVADO 2017.3版本开始,Xilinx官方为了使Zynq-7000和Zynq UltraScale +实现流程相同,在QSPI FLASH使用上做了变化,即Zynq-7000编程flash需要“指定的fsbl”

    2024年02月02日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包