【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件
目录
1 什么是bin
2 bin文件的结构
3 如何打开bin文件
3.1 使用Vector HexView工具打开
3.2 使用Notepad++工具打开
3.3 使用Binary Viewer工具打开
结尾
优质博文推荐阅读(单击下方链接,即可跳转):
点击返回「《Autosar从入门到精通-实战篇》总目录」
点击返回「《Autosar_BSW高阶配置》总目录」
点击返回《嵌入式硬件/软件开发刷写/烧录文件》专栏
1 什么是bin
bin是binary的缩写,译为“二进制”。binary file二进制文件是一个非text file文本文件的计算机文件。binary file是一种计算机文件格式,它以二进制编码表示文件的内容,见图1-1。这些文件通常包含计算机程序或数据,例如软件/固件、操作系统、文档、图像、音频和视频等。
图1-1
在嵌入式软件开发中,binary file通常是软件固件或操作系统的映像文件,binary file通常用于将代码和数据加载到嵌入式系统的nonvolatile memory非易失性存储器(如flash memory)或其他存储器中。此外,binary file还可以用于将数据从一个嵌入式系统传输到另一个嵌入式系统。
- 程序代码的存储和加载:binary file通常用于将嵌入式系统的程序代码存储在flash memory或其他存储器中,并在系统启动时加载到RAM中。这样可以将程序代码与嵌入式系统的其他部分(如操作系统和应用程序)分离开来,从而提高代码的可移植性和维护性。
- 软件/固件升级:binary file还常常用于升级嵌入式系统的软件/固件。嵌入式系统通常包含一个Bootloader程序,它负责从flash memory中加载软件/固件文件并将其烧写到系统中。这个软件/固件文件通常是以二进制格式存储的。
- 数据存储和加载:在许多嵌入式系统中,binary file也用于存储和加载数据。例如,嵌入式系统可能需要加载图像、声音或视频等多媒体文件。这些文件通常以二进制格式存储,并通过嵌入式系统的应用程序加载到RAM中进行处理。
在操作系统中,可执行文件和库文件通常以二进制格式存储。
在网络通信中,binary file可以被用作数据传输的格式,如HTTP请求和响应、SMTP邮件等。
2 bin文件的结构
Binary file通常被认为是若干个字节序列,这意味着二进制数字(bit)以八位分组,见图1-1,将其用十六进制格式显示,见图2-1。
图2-1
在嵌入式软件编译过程中,源代码被编译器翻译成机器码,然后以二进制形式存储在可执行文件中。因此,可执行文件包含的二进制代码就是计算机执行的机器码。这些机器码可以直接被MCU解释和执行,从而实现程序的功能。
因此,binary file和机器码的关系可以用简单的公式表示:binary file = 机器码 + 数据。机器码是binary file中最重要的部分,它决定了程序的行为和功能。binary file中只有代码+数据,没有地址信息,所以在使用Binary file烧录/刷写时,需要指定地址,这一过程一般在烧录/刷写在上位机工具上完成。
binary file中的内容,相当于S19/Hex文件中的Data段,见图2-2。
图2-2
在其它应用领域中,一些Binary file包含计算机程序用来解释文件中数据的metadata的header和block。header通常包含一个可以识别格式的signature或magic number。例如,一个GIF文件可以包含多个图像,header用于识别和描述每个图像数据block。header的头部字节将包含类似GIF87a或GIF89a这样的文本,可以识别Binary file是一个GIF文件。如果一个Binary file不包含任何header,则它可能被称为flat binary file。
3 如何打开bin文件
Bin文件不是一个文本文件,使用常用的文本编辑工具打开会出现乱码的情况,见图3-1。
图3-1
3.1 使用Vector HexView工具打开
在HexView中打开bin文件,见图3-2。
图3-2
3.2 使用Notepad++工具打开
在Notepad++工具的菜单栏中,依次选择Plugins – > 插件管理,见图3-3;
图3-3
在弹出的插件管理对话框中,选择HEX-Editor插件,单击安装,见图3-4;
图3-4
在弹出对话框中,选择是,单击安装,见图3-5;
图3-5
接着等待插件下载,并安装完成,见图3-6;
图3-6
在Notepad++工具的菜单栏Plugins下,你会看到安装后的HEX-Editor插件,和工具栏中多出一个H图标,见图3-7;
图3-7
单击工具栏中H图标前后的变化,见图3-8和图3-9。
图3-8
图3-9
3.3 使用Binary Viewer工具打开
在Binary Viewer中打开bin文件,见图3-10和图3-11。
图3-10
图3-11
部分内容摘自:
Binary_file_维基百科https://en.wikipedia.org/wiki/Binary_file
结尾
获取更多“汽车电子资讯”和“工具链使用”,
请关注CSDN博客“汽车电子助手”,做您的好助手。
【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件相关推荐
- java对文件的操作详解_Java 对 Properties 文件的操作详解及简单实例
Java 对 Properties 文件的操作详解及简单实例 发布于 2020-8-7| 复制链接 摘记: Java 对 Properties 文件的操作简介在 Java 中,我们常用 java.ut ...
- 服务器如何解压zip文件,ECS Linux 服务器解压zip格式文件操作方法
Linux 系统服务器用unzip命令解压操作,方法如下所示: 如压缩文件是test.zip,而压缩包中的文件是testzip.png [root@machine 0318test]# ll drwx ...
- 【嵌入式烧录/刷写文件】-2.1-详解Intel Hex格式文件
目录 1 什么是Intel Hex 2 Intel Hex的格式 2.1 Intel Hex的Record结构 2.1.1 "Record type记录类型"的说明 2.1.2 & ...
- java对文件的操作详解,java对各种文件的操作详解
java中提供了io类库,可以轻松的用java实现对文件的各种操作.下面就来说一下如何用java来实现这些操作. 新建目录 //String URL = request.getRequestURI() ...
- gff文件转入mysql_详解GFF转换为GTF文件
欢迎关注"生信修炼手册"! 存储基因和转录本的结构信息,gtf和gff3两种格式都可以.在实际分析时,会需要转换两种格式.比如,NCBI 只提供了GFF格式的下载文件,我们需要转换 ...
- 计算机快捷方式后缀名,电脑快捷键-文件扩展名详解.doc
电脑快捷键-文件扩展名详解 移张匪奶爪辣缔观爵恃国炉拂遗阻掌香纶笨艇躬块件部桑畜妒初贞坊乾貌怠渴汾牵敦滑柒页言旺抓估勺斯邓锚鹊山溶担岭椭碟蕉政粒恳法桅汹湛鱼巢睦痹堑冷牟歼丰顾江疤泰罢旁杏传英命痢纺康蛇 ...
- 嵌入式c语言为什么变量定义在前面,嵌入式C语言数据类型和变量详解
原标题:嵌入式C语言数据类型和变量详解 一般来讲,标准的C语言类型在嵌入式编译器中是合法的.但由于嵌入式控制器的受限环境.嵌入式c语言的变量和数据类型具有新的特征,这些特征体现在如下方面. 嵌入式C语 ...
- FT2232作为JTAG烧录器的使用步骤详解
FT2232作为JTAG烧录器的使用步骤详解 FT2232作为JTAG烧录器的使用步骤详解 配置OpenOCD环境(已经配置好的可以跳过) [步骤 1]安装 FT2232HL 芯片的驱动,安装文件为 ...
- LD 文件:规则详解
LD 文件:规则详解 概论 基本概念 脚本格式 简单例子 简单脚本命令 对符号的赋值 SECTIONS命令 MEMORY命令 PHDRS命令 VERSION命令 脚本内的表达式 暗含的连接脚本 1. ...
最新文章
- matlab 填充 多边形,algorithm – 如何在MATLAB中从无序边数据创建填充多边形?
- nodejs与npm版本对应表
- Remoting系列(二)----建立第一个入门程序
- At least one JPA metamodel must be present!
- Swagger Learing - Spring Boot 整合swagger
- Windows跟Linux的不同处理
- 以下构成python循环结构的方法中_《Python程序设计与案例教程》课件chap5循环结构程序设计.ppt...
- Communicator可以多点同时Logon
- 【前端】ACE Editor(代码编辑器) 简易使用示例
- LetNet5卷积参数理解
- 酒店opera系统服务器故障,【干货】酒店人必学的Opera系统中英讲解(值得收藏)...
- 通用crt更新不适用计算机,Office2016安装提示需要通用补丁CRT(KB2999226)
- vue 刷新、重新加载app
- Unity Shader-Ambient Occlusion环境光遮蔽(AO贴图,GPU AO贴图烘焙,SSAO,HBAO)
- 微信小程序_在当前页面刷新数据 / 重载当前页面
- leetcode#66. Plus One
- 【前端学习】------学习准备
- 00后南航大二学生自制火箭,成功发射后回收
- Linux源码研究-用户管理员手册-内核命令行参数
- C/C++ HOOK 全局 API
热门文章
- 算法工程师,个人优缺点
- 小米手机关闭自带服务器,小米手机耗电大?关闭这两个设置,小米手机能更省电!...
- GiantPandaCV 2021年度总结
- 以太网/串口连接开发板
- against造句 react_大学英语四级常用短语 react against
- 程序员的自我修养——学习笔记1
- 论文翻译:Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition
- 全球与中国磁滞式电缆卷筒市场深度研究分析报告
- ImageCombiner图片合成工具
- 基于Web的校园跑腿管理系统的设计与实现