如何固化ZYNQ PL端程序到FLASH?

这篇具有很好参考价值的文章主要介绍了如何固化ZYNQ PL端程序到FLASH?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FPGA程序固化说明

前言
本操作分享基于广州星嵌电子科技有限公司设计研发的Zynq7015平台。

FLASH型号
板载QSPI FLASH一颗,具体型号为:MT25QL256ABA1EW9-0SIT。

增加Block Design设计文件
首先,打开已经完成的Vivado设计例程,点击Project Manager下面的IP Integrator -> Create Block Design,创建Block Design设计文件:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

在弹出的对话框中,点击OK:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

在Diagram窗口,点击中间加号按钮,添加IP:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

在弹出的IP添加窗口的搜索栏中,输入zynq字样,然后双击选中ZYNQ7 Processing System:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

添加好ZYNQ7 Processing System IP核后,双击该IP核,对此IP核进行配置:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

设置ZYNQ7 Processing System IP核的外设IO:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

设置ZYNQ7 Processing System IP核的DDR内存,然后点击OK,完成IP核配置:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

点击Run Block Automation,运行模块自动化,并在弹出的对话框中直接点击OK:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

使用鼠标左键,单击FCLK_CLK0,并拖动鼠标至M_AXI_GP0_ACLK,将这两个管脚短接起来:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

在Sources窗口,右键点击design_1.bd文件,在弹出的菜单中,选择Generate Output Products…,并在随后弹出的对话框中点击Generate:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

输出文件生成完毕后,点击OK:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

在Sources窗口,右键点击design_1.bd文件,在弹出的菜单中,选择Create HDL Wrapper…,并在随后弹出的对话框中点击Generate:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

在弹出的对话框中直接点击OK:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

修改顶层文件
在Sources窗口,双击打开刚刚生成的design_1_wrapper.v文件:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

将Vivado之前的工程顶层模块例化到design_1_wrapper.v设计文件中:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

整理design_1_wrapper.v模块的输入、输出管脚,并将Vivado例程顶层模块的管脚添加进来:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

生成下载bit流文件
点击Generate Bitsteam,生成bit流文件,在弹出的对话框中选择Yes:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

如果在生成bit流文件过程中,产生了如下错误,则按照错误提示,添加时钟约束,如下示例红框中所示,将红框里面的内容复制到约束文件中:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

双击Constraints -> constrs_1下面的xdc约束文件,xdc约束文件打开后,将错误提示内容复制到xdc约束文件中,然后点击保存:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

然后,再次点击Generate Bitsteam,生成bit流文件,在弹出的对话框中选择Yes。
bit流文件生成完成后,在弹出的窗口中点击Cancel:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

导出硬件设计文件
点击File -> Export -> Export Hardware…:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

在弹出的对话框中,选中Include bitstream,然后点击OK:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

打开Xilinx SDK软件界面
点击File -> Launch SDK,并在弹出的对话框中点击OK:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

随后,SDK软件被打开:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

生成FSBL文件
在Xilinx SDK软件界面,点击File -> New -> Application Project:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

用户自定义fsbl工程名,如下示例fsbl,然后点击Next:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

选择Zynq FSBL模板,并点击Finish:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

等待Build进度条完成:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

fsbl工程Build进度条完成后,在fsbl -> Binaries目录下面会生成一个fsbl.elf文件:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

生成下载镜像文件BOOT.bin
点击Xilinx Tools -> Create Zynq Boot Image:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

指定bif文件存放路径,用户自定义位置:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

添加FSBL文件,将刚刚生成的fsbl.elf文件添加到Boot image partitions中:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

添加bit流文件,将bit流文件添加到Boot image partitions中:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

最后,点击Create Image,生成镜像文件BOOT.bin:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

烧写FLASH
烧写FLASH前,需确保下载模式配置为JTAG模式,即开发板SW2拨码开关的2位拨码均需要拨到ON的位置,如下图红框所示:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

开发板上电,然后点击Xilinx Tools -> Program Flash:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

点击Browse,选择刚刚生成的镜像文件BOOT.bin,然后点击Program:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

等待烧写完成:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

FLASH烧写完成后,在控制台输出Flash Operation Successful信息:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

程序固化检验
烧写完FLASH后,给实验箱断电,并将SW2拨码开关设置为QSPI FLASH启动模式,即1号拨码位拨到ON位置,2号拨码位拨到ON的对立面,如下图红色箭头所示:
zynq固化程序到flash,fpga开发,嵌入式硬件,硬件架构,c语言,开发语言

开发板上电,查看实验箱程序是否运行起来。文章来源地址https://www.toymoban.com/news/detail-721314.html

到了这里,关于如何固化ZYNQ PL端程序到FLASH?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Xilinx FPGA固化QSPI FLash程序

    本文以流水灯代码为例,需要已经成功生成bitstream文件。 FPGA型号:X7A200T,板载FLASH型号:MT25QL128,开发环境:Vivado 2020.2。 注意需要根据实际情况,选择自己板载的FLASH芯片。 首先,点击 进度条跑完后显示生成成功,点击OK即可。 然后在FPGA芯片处右击,选择“Add Configurati

    2024年02月15日
    浏览(42)
  • FPGA vitis实现固化程序到flash

    之前有实现PL端的数据固化,仅对A、K系列的板子有效。需要的可以参考 FPGA VIVADO 实现FLASH固化操作步骤_fpga固化程序-CSDN博客 再者ZYNQ的开发板上一般都是要通过SDK固化的,所以本期讲解一下vitis怎么固化程序。 由于ZYNQ有好几种固化方式,我们先讲一下最简单的固化到flash,以

    2024年04月10日
    浏览(41)
  • ZYNQ7045从flash启动linux

    自行安装linux版本的vivado,和xilinx开发环境。linux版本我选择的是Ubuntu18.04,ubuntu系统下xilinx开发环境我安装的是vivado 2018.3(安装时候要记得勾选SDK),安装好vivado后也就包含了xilinx的ARM部分交叉编译器。 petalinux 并不是一个特殊 Linux 内核,而是一套开发环境配置的工具,降低 ubo

    2023年04月12日
    浏览(32)
  • FPGA 固化 烧写进Flash!

    1、Generate Programming File  生成bit 流文件; 2、生成.msc文件: 双击Manage Configuration Project,弹出烧程序界面(同RAM); 双击Create PROM File (PROM File……),弹出新界面,分3个步骤; 根据芯片型号进行配置: 选择Xilinx Flash/PROM类型的设备 选择PROM family (为platform Flash);选择具体型

    2024年02月07日
    浏览(42)
  • FPGA VIVADO 实现FLASH固化操作步骤

    2.1  按顺序选择ToolsGenerate Memory Configuration File    2.2 生成MCS  2.3 对选择的spi总线进行约束 默认是spi x1,如果在上一步选择了其他的模式,可以直接在xdc文件中直接添加约束语句(举例spi x4如下:选择了其他spi总线只需更改第五句代码中的总线数。 或者直接在vivado中选择  

    2024年02月05日
    浏览(49)
  • zynq 烧写W25Q256FV Flash步骤

    zynq中flash设置: QSPI时钟默认200MHz; 生成bit文件后导出到vitis中,修改fsbbl_debug.h文件,添加#define FSBL_DEBUG_INFO,目的为了在烧写过程中打印烧写信息,生成fsbl.elf文件; 打包BOOT.bin文件:Xilinx-Create BOOT Image,配置如下: 其中fsbl.elf文件信息: bit文件信息: 点击Create Image; 下载

    2024年02月07日
    浏览(33)
  • petalinux-2021.1在zynq7020的flash上启动linux

    一、 前言 在电脑上安装虚拟机或者找一个电脑安装linux,用于编译petalinux工程; 安装与vivado对应的petalinux-tool; 版本信息: 1)linux:ubuntu16.04.06; 2)vivado:v2021.1; 3)petalinux:v2021.1; 4)petalinux工程参考bsp:xilinx-zc702-v2021.1-final.bsp; vivado可以在linux中,也可在windows中; 离

    2024年02月07日
    浏览(42)
  • ZYNQ之路--程序固化教程

             我们刚开始使用ZYNQ时,习惯使用JTAG在线将ZYNQ的PS和PL部分的配置文件烧录进ZYNQ,这样方便我们进行调试,但是却带来了掉电配置文件丢失的问题,因此,在我们学习ZYNQ的路上,必须要学会如何把配置文件保存进非易失的存储器件当中去。         ZYNQ的配置信

    2024年02月02日
    浏览(37)
  • FPGAC程序固化——ZYNQ7020

            刚开始学习FPGA的小伙伴们,想必都会遇见到一个问题就是程序固化。在FPGA开发过程中,我们不仅需要编写代码实现所需功能,还需要将这些代码固定在FPGA芯片上,以确保其稳定运行并符合项目需求。尽管此过程听起来可能有些复杂,但它却是使得FPGA成为如此强大工

    2024年02月21日
    浏览(34)
  • FPGA - ZYNQ 基于EMIO的PS和PL交互

    Xilinx ZYNQ 系列的芯片,GPIO分为 MIO 、 EMIO 、 AXI_GPIO 三种方式。 MIO    :固定管脚,属于PS端,也就是ARM端。 EMIO   :通过PL扩展,使用时需要分配 PL ( FPGA ) 管脚,消耗PL端资源。 AXI_GPIO :封装好的IP核,PS通过M_AXI总线可以控制PL的IO接口,使用时,消耗管脚资源和逻辑资源。

    2024年04月26日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包