通过生成mcs、bin文件将程序固化到FPGA

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

通过将程序固化到FPGA,可以做到断电不丢失程序,上电之后就自动启动程序的作用,整个固化步骤主要分为3步,一是修改约束文件,二是生成mcs或bin文件,三是将程序固化到开发板flash

1.修改约束文件

生成固化文件之前,首先需要在约束文件内添加一段原语,添加这段原语的目的主要是为了生成的 bit 流文件转换成固化文件后能够适用于 4bit 位宽 SPI 通信的flash 器件(这里的4位宽以及SPI通信都是根据板载flash决定的)。

set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property BITSTREAM.GENERAL.COMPRESS true [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]

将这段代码直接添加到约束文件最下方即可。

2.生成mcs或bin文件

生成mcs文件

生成mcs文件有两种方法

方法1

通过生成mcs、bin文件将程序固化到FPGA,fpga开发

Tools栏位内点击 Generate Memory Configuration File

通过生成mcs、bin文件将程序固化到FPGA,fpga开发

 format用于选择生成文件的类型,这里我们选择mcs

custom memory size(MB)选择flash的容量,根据自己的开发板确定,这里读说明书的时候要注意MB(MByte)和Mb(Mbit)的区别,MB与Mb相差8倍,MB * 8 = Mb

filename这里选择保存文件位置,注意这里选择文件夹是不行的,需要选择一个mcs文件或是手动添加一个/filename用于生成mcs文件

interface用于选择接口类型,也是根据自己的开发板flash说明书决定

load bitstream file勾选上后可以选择比特流文件

write checksum表示写校验

disable bit swapping表示禁止位交换

overwrite表示覆盖原文件

点击ok即可生成mcs文件。

方法2

直接在tcl命令行内输入以下内容

write_cfgmem -format mcs -size 16 -interface SPIx4 -loadbit {up 0x00000000 "C:/Software/Vivado2019.1/project/project_1/project_1.runs/impl_1/ctr.bit" } -checksum -force -disablebitswap -file "C:/Software/Vivado2019.1/project/project_1/project_1.runs/impl_1/ctr1."

实现的功能和方法1一样,不过是通过指令进行控制

通过生成mcs、bin文件将程序固化到FPGA,fpga开发

成功之后会显示信息 

现在回过头来看方法1,我们会发现配置界面最下方有个command栏后面跟的就是我们直接在tcl输入的内容,也就是说Generate Memory Configuration File的作用就是辅助我们生成命令行指令

生成bin文件

生成bin文件也有两种方法

方法1

同生成mcs文件的方法1,在format栏内选择bin文件类型即可

方法2

点击setting

通过生成mcs、bin文件将程序固化到FPGA,fpga开发

在bitstream页面勾选bin_file选项,点击apply后点击ok

通过生成mcs、bin文件将程序固化到FPGA,fpga开发

勾选上之后,我们在生成bitstream的同时会生成bin文件,这里我们重新生成bitstream既可

 

3.将程序固化到flash

固化程序需要我们先将开发板连接到电脑

通过生成mcs、bin文件将程序固化到FPGA,fpga开发

 如图,右击我们的芯片型号后选择add configuration memory device

通过生成mcs、bin文件将程序固化到FPGA,fpga开发

 这里需要根据自己开发板上的flash型号选择对应的,添加完flash后即可选择文件写入flash

通过生成mcs、bin文件将程序固化到FPGA,fpga开发

然后添加mcs文件以及prm文件(prm文件随mcs文件同时生成,是一种日志文件)既可

bin文件的使用与mcs相同,只是不需要选择prm文件

至此,程序固化完成,断电后重新上电即可进行测试

通过生成mcs、bin文件将程序固化到FPGA,fpga开发

当我们选择flash型号之后,我们就可以在开发板连接页面看见芯片型号下面多了一个flash的名称,此时,我们通过直接右击flash名称进行程序的固化,减少了选择flash型号的步骤

通过生成mcs、bin文件将程序固化到FPGA,fpga开发

4.擦除固化程序

最后,如果我们想要擦除固化的程序,只需要在添加mcs/bin文件的页面内单独勾选erase即可

通过生成mcs、bin文件将程序固化到FPGA,fpga开发文章来源地址https://www.toymoban.com/news/detail-795946.html

到了这里,关于通过生成mcs、bin文件将程序固化到FPGA的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 高云FPGA系列教程(2):FPGA点灯工程创建、程序下载和固化

    本文是高云FPGA系列教程的第2

    2023年04月08日
    浏览(41)
  • FPGA vitis实现固化程序到flash

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

    2024年04月10日
    浏览(34)
  • Xilinx FPGA固化QSPI FLash程序

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

    2024年02月15日
    浏览(32)
  • Xilinx FPGA 程序固化重新上电程序不运行的问题

    FPGA直接下载bit文件,功能正常。 FPGA擦除FLASH,烧写FLASH,正常。 电源断电,重新上电,FALSH里面的程序没有启动,FPGA程序没有跑起来。–FLASH启动不正常。 在XDC约束文件里边增加约束:

    2024年02月04日
    浏览(53)
  • FPGA程序烧录方式:JTAG调试与SPI固化

    用JTAG方式烧写后,已经在FPGA中没有存储了,相当于这时候已经对FPGA做了编程,断电后FPGA需要重新烧写才能用。 按照严格来讲那个不是程序,可以说是在FPGA上直接编程,可以说存在整个芯片中。 在用JTAG烧录的时候下载进去的是二进制文件bit类型的,而在vivado中bit文件可能

    2024年02月08日
    浏览(44)
  • bit、bin 、mcs文件区别

     FPGA里面的可执行文件都涉及到 *.bit , *.mcs , *.bin 和 *.elf 。 bit 文件一般用于JTAG在线进行调试的时候,是把bit文件是烧写到FPGA中进行在线调试。 bin 文件是二进制文件,按顺序只包含原始字节流,烧写进flash,上电加载自动加载。FPGA一般默认生成的是bit文件,bin文件生成是

    2024年02月09日
    浏览(26)
  • “FPGA开发中Vivado生成bit文件遇到的错误解决方案“

    “FPGA开发中Vivado生成bit文件遇到的错误解决方案” FPGA开发是现在工业界中越来越广泛使用的技术,但是在开发过程中难免会出现一些问题。其中,Vivado生成bit文件报错是一个比较常见的问题。下面,我将详细介绍这个问题以及如何彻底解决。 一、问题描述 当我们进行FPGA项

    2024年02月04日
    浏览(50)
  • 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日
    浏览(34)
  • 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日
    浏览(40)
  • FPGA 固化 硬件底层和软件hex代码 基于vivado和keil

    首先参考这篇博客完成FPGA的硬件固化 参考arm官方文档发现直接导入hex不能使用,开始转向文档中提到的第二个方法 发现这篇博客满足要求 下面进行第二篇博客的细节补充 修改mmi文件 找到元件名字 打开FPGA工程的实现 融合bit文件 生成完 mcs文件后 直接打开 然后就完成软件和

    2024年02月11日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包