使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载

简介: 使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载

Xilinx FPGA支持bit和mcs格式程序文件,bit文件通常用于调试,会下载到片上RAM,掉电数据丢失,mcs文件会下载到外挂的SPI Flash,掉电数据不丢失,启动时,FPGA芯片先读取SPI Flash数据,然后将数据转移至RAM中运行。


bit文件可以转换为mcs文件,通常使用ISE自带的iMPACT软件实现,选择存储大小、指定存储路径、文件名、指定bit文件等系列操作:

640.jpg


iMPACT还支持运行脚本文件,关于命令参数的介绍,可以查看iMPACT自带的帮助文档。

640.jpg


下面我们介绍如何使用命令行脚本,一键bit转换mcs,一键bit文件下载,一键mcs文件下载


准备工作

1.把iMPACT添加到环境变量,impact.exe文件路径为:

your_path:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\impact.exe


命令行输入:impact -v,查看是否添加成功:

640.jpg

2.新建文件夹flash,把需要转换的bit文件放进去,比如top.bit


一、iMPACT命令行实现bit转mcs

flash文件夹下新建bit_to_mcs.cmd文件,内容如下:

setMode -pff
setSubmode -pffspi
addDesign -version 0 -name "0"
addPromDevice -p 1 -size 2048
addDeviceChain -index 0
addDevice -p 1 -file ./top.bit
generate -format mcs -fillvalue FF -output ./top.mcs
quit


表示将当前目录下的top.bit文件转换为top.mcs文件,2048表示存储器大小为2048KB,我这里使用的是M25P16,容量大小16Mbit=2048KByte。

可以在终端输入命令执行这个脚本文件:

impact -batch ./bit_to_mcs.cmd

640.jpg


当然也可以再写一个文件执行这个脚本,新建run_bit_to_mcs.cmd文件,内容如下:

impact.exe -batch bit_to_mcs.cmd
echo "bit to mcs convert complete!"
pause


这样以后就只需要双击这个run_bit_to_mcs.cmd文件就一键实现bit转mcs了。

640.gif


二、iMPACT命令行实现bit文件下载

我们还可以实现一键下载bit文件的功能,新建program_bit.cmd文件,内容如下:

setmode -bscan
setcable -p auto
adddevice -p 1 -file top.bit
program -p 1
quit


表示将当前目录下的top.bit文件下载到FPGA内部RAM。


新建run_program_bit.cmd

impact.exe -batch program_bit.cmd
echo "bit file program success!"
pause


这样只要双击这个run_program_bit.cmd文件就可以实现一键下载bit文件了。

640.jpg


三、iMPACT命令行实现mcs文件下载

同理,我们还可以实现一键下载mcs文件的功能,新建program_mcs.cmd文件,内容如下:

setMode -bscan
setCable -p auto
addDevice -p 1 -file "./top.bit"
attachflash -position 1 -spi "M25P16" 
assignfiletoattachedflash -position 1 -file "./top.mcs"
Program -p 1 -dataWidth 1 -spionly -e -v -loadfpga
quit


指定存储器型号为M25P16,bit文件为当前目录下的top.bit,mcs文件为当前目录下的top.mcs,数据位宽为1


新建run_program_mcs.cmd文件,内容如下:

impact.exe -batch program_mcs.cmd
echo "mcs file program success!"
pause


这样以后只需要双击这个run_program_mcs.cmd文件就可以实现mcs文件下载了。

640.jpg


关于以上脚本文件各参数的说明,可以查看iMPACT官方帮助文档

640.jpg


目录
相关文章
|
10月前
|
安全 Unix Linux
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
98267 65
|
Linux 虚拟化 Windows
完美解决:重新安装VMware Tools灰色。以及共享文件夹的创建(centos8)
这篇文章提供了解决VMware Tools无法重新安装(显示为灰色)问题的步骤,并介绍了如何在CentOS 8上创建和配置VMware共享文件夹。
完美解决:重新安装VMware Tools灰色。以及共享文件夹的创建(centos8)
|
开发者 Windows
.NET 开源扁平化、美观的 C/S 控件库
【10月更文挑战第23天】介绍了三款适用于 .NET 平台的开源扁平化、美观的 C/S 控件库:MaterialSkin 采用 Google Material Design 风格,适合现代感界面;Krypton Toolkit 提供丰富控件,界面易于定制;Fluent Ribbon Control Suite 模仿 Office 界面,适合复杂功能应用。每款控件库均附有示例代码及 GitHub 链接。
697 0
|
消息中间件 缓存 Shell
跟我一起来学OpenStack部署
跟我一起来学OpenStack部署
872 0
|
前端开发 芯片
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
1084 0
|
SQL JSON JavaScript
什么是JSON PATH?
**JSON Path 概述** JSON Path 是一种查询JSON对象的语言,类似于XML的XPath。在JavaScript或PostgreSQL中,它简化了深层属性的访问。在PG中,传统的链式引用操作符如`->`可能繁琐,而JSON Path通过字符串路径表达式提供更简洁的访问方式。例如,`$.track.segments[0].HR`来获取心率数据。SQL/JSON Path Language允许通过`jsonb_path_query`等函数执行路径查询,支持通配符、条件检查和参数化路径。
316 2
|
Linux 开发工具 异构计算
【ZYNQ】QSPI Flash 固化程序全攻略
【ZYNQ】QSPI Flash 固化程序全攻略
4197 0
|
算法 Windows
Windows压缩工具 “ Bandizip 与 7-zip ”
一、什么是压缩 压缩是一种通过特定的算法来减小计算机文件大小的机制,因为它可以减小文件的字节总数,使文件能够通过较慢的互联网连接实现更快传输,此外还可以减少文件的磁盘占用空间。 二、Bandizip的简介 1、大概介绍 Bandizip 是一款压缩软件,它拥有非常快速的压缩和解压缩的算法,适用于多核心压缩、快速拖放、高速压缩等功能。 2、详细介绍 百度百科-验证
529 1
|
存储 Linux Android开发
Ext3、Ext4、FAT、FAT32、NTFS、exFAT、Sparse、Raw
Ext3、Ext4、FAT、FAT32、NTFS、exFAT、Sparse、Raw
1209 0
|
程序员
程序员必备:解密MATLAB P文件的方法!
你是否也曾遇到过要编辑或使用一份MATLAB P文件却因为解密不了而束手无策的情况?如今,有了这个MATLAB文件解密工具,你再也不必为此烦恼了!
1659 0