bit、bin 、mcs文件区别

news2024/11/25 12:49:01

 FPGA里面的可执行文件都涉及到 *.bit*.mcs*.bin*.elf

bit文件

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

bin文件

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

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

mcs文件

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

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

  • 在每行的末尾都有一个校验和以确保完整性。
  • 每行包括该行应位于内存中的地址。

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

  1. Memory Part:所使用的Flash芯片型号
  2. Filename:生成的mcs文件名字,如果ila,还会生成prm文件
  3. Interface:选择flash加载模式
  4. Load Bitstream files:加载bit文件
  5. Start Address:下载flash的文件起始地址
  6. Write checksum,Disable bit swapping,Overwrite:小编一般都不勾选
  7. Command:Tcl指令,老鸟可以用tcl直接完成

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 中。

mcs文件和bin文件的区别

    mcs文件里包含Bin文件的内容,但是mcs文件中,每行的开始有地址信息,最后一个byte是crc校验信息,所以mcs文件要比bin文件大。

    但是烧录器烧写的时候,只烧录mcs文件中包含bin文件的那部分信息,不会将地址和crc烧录到flash中。

    一般在烧写flash的时候,我们会用mcs文件,尤其是做multiboot和fallback的时候,因为mcs文件中包含有地址信息,会告诉烧录器,golden image放在哪里,multiboot image放在哪里

bit文件和bin文件的区别

bin文件不包含头部信息,bit为bin+头部信息(工程名称以及时间等信息)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/980533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

74HC595

简介 74HC595 是一个 8 位串行输入、并行输出的位移缓存器,其中并行输出为三 态输出(即高电平、低电平和高阻抗) 15 和 1 到 7 脚 QA--QH:并行数据输出 9 脚 QH 非:串行数据输出 10 脚 SCLK 非( MR&#…

【UE 材质】制作飘动的旗帜

效果 步骤 1. 首先在建模软件中创建一个平面,注意分段数一定要多 2. 在UE中创建一个材质,这里命名为“Mat_Flag” 打开“Mat_Flag”,先将旗帜纹理连接到基础颜色 先选中导入的模型然后点击根据选中的模型预览材质 创建如下节点可以看到此时模…

本地开发环境大小写不敏感引发的问题

推荐阅读 大小写敏感知多少[1] 文件大小写与文件系统有关,与操作系统无关。 血泪教训--拿到新移动硬盘该做的第一件事[2] MacOS 默认的文件系统APFS,如果没有手动更改,默认不区分大小写(可以在初始化时设置为大小写敏感)。 而公司测试/生产环…

AOSP和AAOS,向左走还是向右走?

Android Automotive OS(AAOS)和Android Open-Source Project(AOSP)之间存在很多混乱。这两个Android版本经常被混淆使用,但它们代表不同的平台和方法。为汽车In-Vehicle Infotainment(IVI)项目选…

2023CSP-S初赛复习整理

目录 逻辑运算常见运算运算规则运算优先级例题 进制转换十进制转二进制、八进制、十六进制二进制、八进制、十六进制转十进制例题 主定理编程语言概况具体分类 逻辑运算 常见运算 非: n o t not not 即 与: a n d and and 即 ∧ ∧ ∧ 或&#xf…

依赖项的处理与层的创建与注册

依赖项的处理与层的创建与注册 依赖项的处理与层的创建与注册 新问题什么是 layer?layer 的创建与注册 与函数同时创建和绑定单独上传 layer 再绑定函数(推荐) 真正的运行时依赖 注册包的约定与平台强关联的运行时 1. 云端安装依赖2. 本地构建 Amazon Linux 2 容器环境3. 利用…

Nginx__高级进阶篇

目录 Nginx Web服务器 Nginx Proxy服务器 Nginx 邮 件 Nginx Web服务器 Nginx Proxy服务器 代理原理 正向代理:内网客户机通过代理访问互联网。通常要设置代理服务器地址和端口。 反向代理:外网用户通过代理访问内网服务器。内…

解决VSCode下载速度特别慢

背景: 我们在vscode官网下载vocode的时候速度慢得离谱,而且下载会断开,这时候我们需要将下载镜像切换到国内! 解决方法 我是用chrome浏览器,点击右上角的三个点按钮,点击下载内容。 如果你是用其他浏览器,可能使用其他方式跳…

“深入理解SpringMVC的注解驱动开发“

目录 引言1. SpringMVC的常用注解2. SpringMVC的参数传递3. SpringMVC的返回值4. SpringMVC页面跳转总结 引言 在现代的Web开发中,SpringMVC已经成为了一个非常流行和强大的框架。它提供了许多注解来简化开发过程,使得我们能够更加专注于业务逻辑的实现…

设置windos电脑开机自动启动chrome浏览器,并且打开指定网页

需求 web项目设置windos电脑开机自动启动chrome浏览器,打开指定网页地址,并设置为全屏显示 解决 使用windos的bat脚本,设置为开机自启动,代码如下 echo off cd /d %~dp0 title Chrome tasklist|find /i "chrome.exe"…

Hadoop的第二个核心组件:MapReduce框架第三节

Hadoop的第二个核心组件:MapReduce框架 九、MR程序运行的核心阶段的细节性知识1、MR程序在运行过程中,涉及到的阶段和作用2、MR程序运行的的第一个组件:InputFormat3、MR程序的Job提交流程的源码分析4、MR程序运行中Mapper组件的作用5、MR程序…

【IC设计】Chisel开发环境搭建

首先安装一个Ubuntu的虚拟机 然后给Ubuntu换个镜像,方便下载 注意换源后使用apt-get update更新下 安装vim(可以不做) 这里安装Vim是我感觉Ubuntu自带的vi编辑器似乎有问题,因为我按i进入【插入模式】并没有提示,所以…

气象监测设备中一般包括哪些设备?

气象监测设备是指用于测量和记录气象数据的设备,这些设备通常被安装在各种气象站上,用于监测对应的气象参数。 气象监测设备主要包括以下几种: 温湿度传感器:用于测量空气温度和湿度,是气象监测设备中的重要组成部分…

Linux命令200例:who用于显示当前登录到系统的用户信息

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师&#xff0…

基于网络表示学习的 新闻推荐算法研究与系统实现

摘要 第1章绪论 新闻推荐通常是利用用户的阅读行为和习惯、阅读选择和爱好等信息,为 用户推荐新闻内容。新闻推荐能够减少用户在数量庞大数据信息中获取信息的 时间消耗,从而能够缓解“信息过载[7]”的难题。以文本为内容的新闻,和商品、 电影、短视频等推荐系统相比,新闻推…

vite搭建vue3项目

参考视频 1.使用npm搭建vite项目,会自动搭建vue3项目 npm create vitelatest yarn create vite2.手动搭建vue3项目 创建一个项目名称的文件夹执行命令:npm init -y 快速的创建一个默认的包信息安装vite: npm i vite -D -D开发环境的依赖 安装vue,现在默认是vue3.…

2023年最新 wechaty 框架开发微信机器人详细 API 教程说明(NodeJs 版本)

基本概述 wechaty 基础 在使用 wechaty 相关 api 之前,请大家先学习基础篇:如何使用 wechaty 框架开发微信机器人详细教程(NodeJs 版本) 设置 script 脚本执行 在 package.json 文件中,配置 "start": &qu…

OpenWrt的内核启动分析

u-boot从Flash分区中读取Linux内核到内存,然后跳转到内存(某个地址)执行Linux内核。Linux内核会进行一系列验证,根据设备树文件(见下图openwrt/target/linux/realtek/dts-5.15/XXX.dts,)注册相关…

gma 2 教程(二)数据操作:7.矢量数据操作简介

功能逻辑架构 gma矢量数据操作类主要包括数据资源(DataSource)、矢量图层(Layer)、矢量要素(Feature)(与ogr一致,内部与ogr差异巨大),三者的示意图如下&#…

ctfshow-web-红包一

0x00 前言 CTF 加解密合集CTF Web合集网络安全知识库 文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取 0x01 题目 0x02 Write Up 上来就丢了一个站,还有一个不怎么有用的图片。 按照常规流程,先扫目录,但是无果(工具…