Vivado程序固化到Flash

Vivado将程序固化到Xilinx的FPGA开发板的flash芯片中 Vivado将程序固化到Xilinx的FPGA开发板准备工作开始准备.mcs文件在HardWare Manager界面操作固化程序到flash中对开发板进行操作另外 准备工作 Vivado 2020.2 Xilinx VC709 FPGA开发板 开始 工程写好后,先生成bit文件。 准备.mcs文件 上图点击OK后,就会在你指定的位置,生成一个命名好的.mcs文件。当然你可以更改文件格式,也可以是.bin .hex文件格式,这点在上图中的Format中修改。 在HardWare Manager界面操作 阅读详情
AI摘要

本文介绍了Vivado程序固化到Flash的相关内容。FPGA掉电会丢失程序,可将程序加载到Flash等非易失性存储器。Vivado固化有.bin和.mcs两种文件格式,各有特点和适用场景。还详细说明了使用MCS文件固化程序的步骤,最后提及可能出现的报错及解决参考文章。

在上板调试FPGA时,通常使用JTAG接口下载程序到FPGA芯片中,FPGA本身是基于RAM工艺的器件,因此掉电后会丢失芯片内的程序,需要重新烧写程序。但是当程序需要投入使用时不能每一次都使用JTAG接口下载程序,一般FPGA的外围会有非易失性存储器:Flash或SD卡等,可以将程序加载进去,这样下次上电后可以直接从该存储器中读取程序并启动配置。

在使用Vivado固化程序时,通常有两种文件格式可以进行固化:

文件生成方式:

  • .bin文件‌:.bin文件是纯二进制文件,按顺序只包含原始字节流,用于烧写进flash中。在Vivado中,生成.bin文件需要在设置中勾选“-bin_file”选项‌。
  • ‌.mcs文件‌:.mcs文件是ASCII格式的文本文件,由行组成,每一行包含起始码、字节长度、地址、记录类型、数据和校验码。Vivado中生成.mcs文件需要通过“Generate Memory Configuration File”选项,并选择相应的flash型号和bit文件‌。

存储方式和用途:

  • .bin文件‌:烧写到flash中后,上电加载会自动加载到FPGA中。由于.bin文件是二进制格式,不需要解析,直接读取后写入即可,因此适用于不需要解析的场景‌。
  • ‌.mcs文件‌:同样烧写到flash中,上电后会自动加载到FPGA中。由于.mcs文件包含头部信息和校验码,写入速度相对较慢,但每行末尾的校验和确保了数据的完整性‌。

适用情况:

  • .bin文件‌:适用于不需要解析的场景,如通过其他方式更新FLASH内容时使用‌。
  • ‌.mcs文件‌:适用于需要校验和确保数据完整性的场景,特别是在JTAG烧录时使用‌。

下面介绍使用MCS文件固化程序的方法:

1、确保工程能正常工作并生成Bit流文件
在这里插入图片描述
2、生成Bit流文件后连接硬件
在这里插入图片描述
点击Open Target>Auto Connect:
在这里插入图片描述
在这里插入图片描述
启动配置生成的比特流文件以及进行 debug 的 ltx 文件,一般来说软件会自动选择的
在这里插入图片描述
3、连接好目标器件后,接下来生成存储配置文件.mcs文件和.prm文件,点击菜单栏Tools>Generate Memory Configuration File…。

  • .mcs文件:内存配置文件,主要用于将设计下载到FPGA或SoC设备上。
  • .prm文件:项目链接文件,主要用于定义芯片的内存布局和初始化变量。

在这里插入图片描述
进入配置界面:
在这里插入图片描述
等待文件生成完成
在这里插入图片描述
对应路径下生成的文件:
在这里插入图片描述
4、确保下载器和目标器件已经连接好,打开硬件连接,选中目标器件添加配置存储设备
在这里插入图片描述
在这里插入图片描述
5、点击OK直接进入固化配置界面:
在这里插入图片描述
在这里插入图片描述
等待固化完成:
在这里插入图片描述
固化完成后重新将开发板上电,FPGA芯片就会从Flash读取程序进行配置了。

程序固化过程中可能会出现报错:[Labtools 27-3347] Flash Programming Unsuccessful: Byte 169320 does not match (00 != B2)
解决方法参考这篇文章:Vivado程序固化到Flash时报错:[Labtools 27-3347] Flash Programming Unsuccessful: Byte 169320 does not match

Vivado中程序固化教程 对于FPGA开发者,都会遇到这样的一种情况,就是下载到板子中的FPGA程序会随着板子掉电而消失再次上电,又要重新编译下载程序。在程序调试阶段还可以接受,但在程序版本固定后使用起来就会非常不方便。这就需要用到固化程序这一操作,就是将FPGA的配置文件烧写到板载Flash中,实现上电自启动。具体固化步骤(纯verilog工程,不涉及SDK)请往下看啦! 阅读详情

相关推荐

VIVADO固化程序步骤

10.9、烧录完成如果程序中有ILA调试模块会弹出如下所示,不需要关心,点击OK即可。烧录完成后关掉电源,退出vivado烧录界面,重新上电即可,即程序烧写完成。9.3、烧录完成如果程序中有ILA调试模块会弹出如下所示,不需要关心,点击OK即可。8、文件选择完成后点击Program即可,等待软件下载完成,下载完成后就可以进行下一步调试。10.3、如果程序中有ILA调试模块会弹出如下所示,不需要关心,点击OK即可。9.2、添加完成后点击OK即可,等待烧录完成即可。

Me sl ·的博客 6685

FPGA 学习笔记:Vivado 程序固化并烧写到 SPI Flash

FPGA 学习笔记:Vivado 程序固化并烧写到 SPI Flash

坚韧与专注 1万+

Vivado中如何将配置程序固化到FLASH?

这里介绍用BPI FLASH,也就是并行FLASH,具体类型看自己的具体工程,例如: Micron Flash芯片识别心得 这里以固化到FLASH中的配置程序为bin类型的。bin类型配置程序的具体生成方案是: 新建一个具体的VIvado工程,综合实现后,打开tools,找到Generate Memory Configuration file,打开: 从上到下依次为1、2、3、4,1选择...

Reborn Lee 1万+

vivado固化程序到flash、生成bin文件、生成mcs文件详细教程

vivado固化程序到flash、生成bin文件、生成mcs文件详细教程

weixin_62432906的博客 3万+

Vivado平台下程序固化的Flash烧写方法详解

深入讲解在Vivado平台下将程序固化至Flash的关键流程,涵盖vivado固化程序烧写步骤中的配置、生成比特流及实际烧录操作,帮助开发者稳定部署FPGA设计。

weixin_35414484的博客 1444

Vivado固化程序与Flash型号添加实战指南

本文详细介绍了Vivado程序固化到Flash芯片的完整流程,包括基础操作、Flash型号添加方法及疑难问题排查。针对Vivado官方支持列表缺失的Flash型号,提供了手动添加配置的详细步骤和参数说明,并分享了高级技巧与安全操作建议,帮助开发者高效完成FPGA程序固化。

weixin_29291573的博客 566

在 Vivado 将程序烧写固化到 flash

什么是程序的固化?通常对FPGA下载程序时,会采用JTAG口下载,完成好HDL设计,并且验证无误后,对设计文件进行综合,布局布线以及生成比特流文件,而FPGA开发板要想工作,需要将该文件烧写进FPGA芯片中。但是FPGA是基于RAM工艺(如LUT的实质就是RAM),因此会掉电丢失,再次上电后需要重新加载bit流。一般FPGA的外围会有一个非易失性存储器:Flash或SD卡等。可以将程序加载进去,这样的话,下次上电后可以直接从该存储器中加载程序,这就是固化的过程。在之前的一篇文章中,描述了如何进行在 SDK

记录学习历程 1万+

Vivado固化程序烧写步骤图解说明(Flash篇)

详细介绍Vivado环境下FPGA程序固化到Flash的完整流程,涵盖烧写模式配置、文件生成与下载操作,帮助开发者掌握vivado固化程序烧写步骤的关键技术要点。

weixin_42599558的博客 988

vivado固化程序到flash

1989年东芝公司发表,非线性宏单元模式与垂直排列半导体单元提升存储密度,写入与擦除的速度快,应用NAND的困难在于flash的管理需要特殊的系统接口,适合大量数据的存储,如嵌入式产品中包括数码相机,MP3记忆卡,U盘等。NAND(一摞书)的全部存储单元分为若干块(一本书),每块分为若干页(书里的一页,每页512byte(512行(位线)每行8个字(bit),一个byte由8个bit组成);NOR FLASH带有SRAM接口,有足够的地址引脚来寻址,可以很容易的存取其内部的每一个字节。

weixin_54866794的博客 987

Vivado固化程序烧写步骤中JTAG与Flash配置深度剖析

深入解析vivado固化程序烧写步骤中的关键环节,重点探讨JTAG调试与Flash存储配置的实际操作与常见问题,帮助开发者提升烧写效率与稳定性。

weixin_31163455的博客 1021

多器件兼容的Vivado固化程序Flash烧写方案

分享适用于多种FPGA器件的vivado固化程序烧写步骤,解决不同型号间Flash编程不兼容问题,提升开发效率与部署灵活性。

weixin_35835018的博客 982

Vivado+Vitis将程序固化的Flash的操作流程

ZYNQ 的程序固化是指将程序代码永久存储到非易失性存储器中,使系统上电后能自动加载运行的过程。主要固化方式:**QSPI Flash固化:**最常用方式,容量小,如启动代码、FPGA 配置。**NAND Flash固化:**适合大容量程序存储,如文件系统。**SD卡固化:**方便更新,适合开发阶段。

drycarys的博客 820

Vivado程序固化全流程:从SDK配置到Flash烧录的保姆级教程

本文详细介绍了Vivado环境下程序固化的全流程,从SDK配置到Flash烧录的实战指南。特别针对Xilinx Zynq系列芯片,涵盖SD卡启动和Flash烧录两种常用方式,帮助开发者快速掌握FPGA程序固化技术,提升产品化部署效率。

alice7model的博客 1052

基于Flash的Vivado程序固化烧写实战应用

深入讲解基于Flash的Vivado程序固化与烧写全过程,涵盖关键配置与常见问题处理,帮助开发者掌握vivado固化程序烧写步骤的核心技巧,提升开发效率。

weixin_36213081的博客 658

Vivado固化程序到Flash:超详细版烧写教程

深入讲解如何使用Vivado将程序固化到Flash中,涵盖烧写全过程的关键操作与常见问题。掌握vivado固化程序烧写步骤,提升开发效率,确保配置数据稳定存储。

weixin_30951515的博客 1088

Vivado FPGA程序固化实战:从比特流生成到Flash烧录全解析

本文详细解析了Vivado FPGA程序固化的全流程,从比特流生成到Flash烧录的实战操作。通过具体案例和TCL脚本示例,帮助开发者解决FPGA断电丢失配置的问题,实现程序永久保存。重点介绍了MCS文件转换、Flash烧录技巧及常见问题排查方法,提升FPGA开发效率。

rose2的博客 971

详细教程:vivado2019.2 & vitis2019.2下,zynq7000系列FPGA固化PL程序到外挂flash和SD卡

详细教程:vivado2019.2 & vitis2019.2下,zynq7000系列FPGA固化PL程序到外挂flash和SD卡 0.简介 xilinx的zynq系列FPGA既包含了传统的FPGA部分,又嵌入了arm的硬核,分别称为PL(Programmable Logic)和PS (Processing System)。PL部分以前在ISE,现在在vivado上编程配置,包括通用的组合逻辑资源、软IP、硬IP核(包括arm核的基本配置与调用在内),使用语言就是硬件描述语言、原理图文件、IP配置;

qq_40011737的博客 1万+

Vivado固化程序烧写步骤:Flash烧写完整指南

掌握FPGA开发中vivado固化程序烧写步骤是关键环节,本文详细解析Flash烧写的完整流程,帮助开发者实现稳定持久的程序部署,提升项目可靠性与启动效率。

weixin_33375360的博客 1037
上一篇: Xilinx System Generator多速率系统(Multi-Rate Systems)的使用
下一篇: 【Vivado错误日志】程序固化报错:[Labtools 27-3347] Flash Programming Unsuccessful: Byte 169320 does not match
白码王子小张
博客等级 码龄7年 6665粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值