FPGA里面的可执行文件都涉及到  *.bit, *.mcs, *.bin 和 *.elf,到底都有什么用,应该怎么用呢,这篇文章小编会简单介绍下这几种文件。

bin_bit_mcs

从上图可以看出,bit是带有头信息的配置文件,bin文件是不带头信息的的配置文件,MCS是ASCII文件,包含地址和校验和信息。

bit文件

bit 文件一般用于JTAG在线进行调试的时候,是把bit文件是烧写到FPGA中进行在线调试。

bin文件

bin 文件是二进制文件,按顺序只包含原始字节流,烧写进flash,上电加载自动加载。FPGA一般默认生成的是bit文件,bin文件生成是在ISE里property里勾选的,如下图所示。

image

而VIVADO中是可以在settings->Bitstream->-bin_file勾选即可。

image

bit 和 bin 区别

UltraEdit 查看 bin 和 bit 文件区别(UltraEdit下载地址:后台回复【UltraEdit】即可领取)

可以看到bit文件比bin文件多了文件信息:比如工程名,User_ID,工具的版本信息(下图给的是vivado 2015.4),FPGA芯片型号(下图为7k325tffg900),bit生成日期(下图为2019/10/09)等信息。

只要删除这些头信息,其实bin文件和bit文件是一模一样的。

bit_bin

mcs文件

mcs也是烧写到flash中的,上电后会自动加载到FPGA里,因此烧写进flash,需要断电重启。mcs文件是其中两个ASCII字符用于表示数据的每个字节HEX文件。mcs文件除了包含头部信息外还有地址信息以及校验码。

因此,MCS文件的效率似乎较低,因为它需要2个字节来表示1个字节。但是它有两个优点:

在每行的末尾都有一个校验和以确保完整性。

每行包括该行应位于内存中的地址。

如下图所示,VIVADO 中生成mcs文件,需要注意:

Memory Part:所使用的Flash芯片型号

Filename:生成的mcs文件名字,如果ila,还会生成prm文件

Interface:选择flash加载模式

Load Bitstream files:加载bit文件

Start Address:下载flash的文件起始地址

Write checksum,Disable bit swapping,Overwrite:小编一般都不勾选

Command:Tcl指令,老鸟可以用tcl直接完成

image

elf文件

如果FPGA中用到 microblaze 或者 ZYNQ 的结构,还会有一个 elf 文件,这是因为其继承了 ARM 的可执行文件。

ARM 体系中,所有文件均采用的 ELF 文件格式。ARM 中的各种源文件(包括汇编文件,C 语言程序及 C++ 程序等)经过 ARM 编译器编译后生成 ELF 格式的对象文件(Object File)(.o文件)。这些对象文件(Object File)和相应的 C/C++ 运行时用到的库经过 ARM 连接器处理后,生成 ELF 格式的镜像文件(image),这种ELF 格式的映像文件是一种可执行文件,可被写入嵌入式设备的 ROM 中。

image

fpga烧写bin文件_FPGA中可执行文件:bit/bin/mcs/elf相关推荐

  1. fpga烧写bin文件_Altera FPGA烧写步骤及注意事项_骏龙科技

    Altera FPGA烧写步骤及注意事项 作者:Altera中国区代理――骏龙科技 由于Fiberhome在一些比较老的项目中使用了EPC1或者EPC1441一次性编程器件,不能进行重复编程,如果烧写 ...

  2. Altera的FPGA用烧写器烧写POF文件,烧写成功,显示100%,但是逻辑做的点灯没亮,一般会是哪的问题呀?烧写sof,灯亮。

    Altera的FPGA用烧写器烧写POF文件,烧写成功,显示100%,但是逻辑做的点灯没亮,一般会是哪的问题呀?烧写sof,灯亮. 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markd ...

  3. MAPLAP开发环境中release模式和debug模式烧写.hex文件的不同之处

    昨天看了齐工的报告才知道release模式和debug模式烧写.hex文件的不同. 三:问题分析 1. PIC系列的仿真器和集成开发环境的情况: Ø Release模式和Debug模式是有区别的:Re ...

  4. FPGA烧写SPI FLASH

    作者:ShownSun 工作室:时沿科技 文章目录 FPGA烧写SPI FLASH 方法一 方法二 SPI flash的约束 BPI FLASH的约束 FPGA烧写SPI FLASH 方法一 1.点击 ...

  5. vivado常规操作之烧写bit文件_固化mcs文件_调试界面debug之ila与vio的操作

    目录 1 概述 2 烧写bit程序 3 Vivado 常用的调试界面 3.1 ila界面 3.1.1 添加需要查看的信号 3.1.2 添加条件触发信号 3.1.3 运行与停止ila界面,查看信号 3. ...

  6. otg烧写linux内核,Linux——OTG方式烧写镜像文件步骤总结

    目录 0 前言 在使用开发板开发时,时常需要把编译好的镜像文件烧写至开发板,通常我们使用OTG在线烧写方式,开发阶段调试效率很高,也可以使用TF卡烧录,就需要先把TF卡做成类似启动盘,像Windows ...

  7. 交叉编译飞思卡尔imx6烧写工具MFGtools脚本中的sfdisk小软件

    原文链接:(5条消息) 交叉编译飞思卡尔imx6烧写工具MFGtools脚本中的sfdisk小软件_bxf0817的专栏-CSDN博客 MFGtools中的脚本中有如此一段 sfdisk --forc ...

  8. eop如何烧写程序文件到开发板?

    eop烧写开发板步骤 第一, 确保你的eop相关驱动文件以及烧写软件安装完毕,在终端输入oflash确认是否安装成功 第二,选择需要烧写的文件如(电灯实验),进入文件所在目录进行oflash 涉及的命 ...

  9. ESP32 bin文件生成及多个bin文件合并指南

    文章目录 1. 前言 2. 硬件及分区表 3. 编译 4. 烧录 4.1 使用 idf flash 命令烧录 4.2 使用 Flash Download Tools 工具烧录 4.3 Flash Do ...

  10. FPGA加载bit文件可以工作,加载mcs不能工作的原因

    FPGA加载bit文件可以工作,加载mcs不能工作的原因 1: 使用ISE的MPACT用bit文件生成mcs的时候设置错了应该,检查一下FLASH型号,容量,位宽都有没有选对. 2: mcs文件的大小 ...

最新文章

  1. 工作231:给input动态赋值
  2. 目前市场上的电脑一体机从计算机种类,电脑一体机发展方向是什么?
  3. 【操作系统】系统引导
  4. mysql 数据约束条件_mysql基本数据类型和约束条件
  5. sql server 监视_使用SQL Server Reporting Services进行快速,肮脏的服务器监视
  6. Eclipse中配置约束(DTD,XSD)
  7. 算法笔记_面试题_9.解码方法/数字字符串解码成字母的种类
  8. 柳氏管理学:自己不会,就要勤做笔记
  9. 手机号码归属地 mysql_最新手机号段归属地数据库 (2021年1月版) 471402行
  10. DirectX11学习笔记五 摄像机类
  11. 没有卑微的工作,只有卑微的工作态度
  12. Ruby on Rails 实践:更换 aloe 首页
  13. linux系统无法启动提示give root password for maintenance的多种解决方法
  14. 电脑端如何多开微信 如何用命令行打开程序(将快捷方式复制到C:\Windows\System32目录下)
  15. 基于lamp搭建Discuz论坛
  16. 手动可以执行脚本,crontab执行失败,可能和环境变量有关(如果涉及到环境变量)
  17. 如何打造一个抗住千万级流量短信服务(续)
  18. 时间序列分析之指数平滑法(holt-winters及代码)
  19. ZDMS0.8/30S-RS55/EX防爆型自动跟踪定位射流灭火装置
  20. 涉密计算机打印机共享案例分析,又碰到2个打印机无法共享的案例(打印机共享的四个步骤)...

热门文章

  1. Matlab数组及多项式运算
  2. 数据库模糊查询日期字段
  3. r语言与数据挖掘最佳实践和经典案例数据_R语言与数据挖掘最佳实践和经典案例...
  4. 什么是JavaScript异步编程?
  5. 航测无人机测绘地理信息免费资料
  6. html盒子颜色代码,css盒子(示例代码)
  7. MATLAB——imhist函数
  8. snmptrap发送消息到服务器,我试图通过snmptrap发送snmp消息
  9. 获取完整拼音中包含拼音的个数
  10. 量子加密_量子强化加密协议