【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

这篇具有很好参考价值的文章主要介绍了【嵌入式烧录/刷写文件】-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

binbinary的缩写,译为二进制binary file二进制文件是一个非text file文本文件的计算机文件binary file是一种计算机文件格式,它以二进制编码表示文件的内容,见图1-1。这些文件通常包含计算机程序或数据,例如软件/固件、操作系统、文档、图像、音频和视频等。

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

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

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

2-1

在嵌入式软件编译过程中,源代码被编译器翻译成机器码,然后以二进制形式存储在可执行文件中。因此,可执行文件包含的二进制代码就是计算机执行的机器码。这些机器码可以直接被MCU解释和执行,从而实现程序的功能。

因此,binary file机器码的关系可以用简单的公式表示binary file = 机器码 + 数据机器码binary file中最重要的部分,它决定了程序的行为和功能。binary file只有代码+数据,没有地址信息,所以在使用Binary file烧录/刷写时,需要指定地址,这一过程一般在烧录/刷写在上位机工具上完成

binary file中的内容,相当于S19/Hex文件中的Data,见图2-2。

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

2-2

在其它应用领域中,一些Binary file包含计算机程序用来解释文件中数据的metadataheaderblockheader通常包含一个可以识别格式的signaturemagic number。例如,一个GIF文件可以包含多个图像,header用于识别和描述每个图像数据blockheader的头部字节将包含类似GIF87aGIF89a这样的文本,可以识别Binary file一个GIF文件。如果一个Binary file不包含任何header,则它可能被称为flat binary file

3 如何打开bin文件

Bin文件不是一个文本文件,使用常用的文本编辑工具打开会出现乱码的情况,见图3-1

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-1

3.1 使用Vector HexView工具打开

在HexView中打开bin文件,见图3-2

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-2

3.2 使用Notepad++工具打开

在Notepad++工具的菜单栏中,依次选择Plugins – > 插件管理,见图3-3;

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-3

在弹出的插件管理对话框中,选择HEX-Editor插件,单击安装,见图3-4;

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-4

在弹出对话框中,选择,单击安装,见图3-5;

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-5

接着等待插件下载,并安装完成,见图3-6;

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-6

在Notepad++工具的菜单栏Plugins下,你会看到安装后的HEX-Editor插件,和工具栏中多出一个H图标,见图3-7;

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-7

单击工具栏中H图标前后的变化,见图3-8和图3-9。

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-8

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-9

3.3 使用Binary Viewer工具打开

在Binary Viewer中打开bin文件,见图3-10和图3-11。

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-10

【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件

3-11

部分内容摘自:

Binary_file_维基百科https://en.wikipedia.org/wiki/Binary_file

结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注CSDN博客“汽车电子助手”,做您的好助手。文章来源地址https://www.toymoban.com/news/detail-479390.html

到了这里,关于【嵌入式烧录/刷写文件】-3.1-详解二进制Bin格式文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Xilinx Bit文件格式详解及嵌入式应用

    Bit文件是Xilinx FPGA(可编程逻辑门阵列)设备上的配置文件,用于定义硬件逻辑和电路的功能。本文将详细介绍Xilinx Bit文件的格式以及在嵌入式系统中的应用。 一、Bit文件格式 Bit文件是一种二进制文件,包含了FPGA设备的配置信息。它由多个不同类型的数据块组成,每个数据

    2024年02月02日
    浏览(46)
  • 【ARM 嵌入式 编译系列 3.1 -- GCC __attribute__((used)) 使用】

    请阅读 【ARM GCC 编译专栏导读】 上篇文章:ARM 嵌入式 编译系列 3 – GCC attribute ((weak)) 弱符号使用 下篇文章:ARM 嵌入式 编译系列 3.2 – glibc 学习 在普通的 C/C++ 程序中,有的时候为了调试,我们会特别地注释掉某个函数的调用。然而在编译时,编译器会发现,代码中实现了

    2024年02月12日
    浏览(43)
  • 嵌入式IDE(1):IAR中ICF链接文件详解和实例分析

    最近在使用NXP提供的MCUXPresso IDE,除了Eclipse固有的优点外,我觉得它最大的优点就是在链接脚本的生成上,提供了非常直观的GUI配置界面,而且生成的链接脚本也是GCC规范的连接脚本。但这个IDE仅仅支持NXP相关的产品,而且调试的性能在某些情况下并不理想。而我们用得比较

    2024年02月10日
    浏览(54)
  • 嵌入式IDE(2):KEIL中SCF分散加载链接文件详解和实例分析

    在上一篇文章IAR中ICF链接文件详解和实例分析中,我通过I.MX RT1170的SDK中的内存映射关系,分析了IAR中的ICF链接文件的语法。对于MCU编程所使用的IDE来说,IAR和Keil用得比较多,所以这一篇文章就来分析一下Keil的分散文件 .scf ( scatter file )。 和上一篇文章一样,同样使用I.MX R

    2024年02月09日
    浏览(47)
  • PWM详解(嵌入式学习)

    在STM32微控制器中,PWM代表脉冲宽度调制(Pulse Width Modulation)。PWM是一种用于控制电子设备的技术,通过调整信号的脉冲宽度和周期,可以模拟出不同的电压或功率级别。 在STM32中,PWM功能常用于控制电机速度、调节LED亮度、产生音频信号等应用。通过调整PWM的占空比(高电

    2024年02月07日
    浏览(41)
  • 【嵌入式——QT】QStyledItemDelegate用法详解

    QStyledItemDelegate是所有Qt item视图的默认委托,在创建它们时就会被安装在它们上面。 QStyledItemDelegate类是模型/视图类之一,是Qt模型/视图框架的一部分。委托允许项目的显示和编辑独立于模型和视图进行开发。 模型中数据项的数据被赋值为ItemDataRole;每个物品可以为每个角色存

    2024年01月23日
    浏览(47)
  • DMA详解及应用(嵌入式学习)

    DMA(Direct Memory Access,直接内存访问)是一种计算机系统中用于高效地实现数据传输的技术。它允许数据在外设和内存之间直接传输,而无需CPU的干预和数据复制。 传统上,在计算机系统中,外设(如硬盘、网络适配器、音频设备等)与内存之间的数据传输通常需要通过CPU进

    2024年02月04日
    浏览(40)
  • 嵌入式五大通信协议详解 (一) UART

    GUN C编译器拓展语法学习笔记(一)GNU C特殊语法部分详解 GUN C编译器拓展语法学习笔记(二)属性声明 GUN C编译器拓展语法学习笔记(三)内联函数、内建函数与可变参数宏 数组存储与指针学习笔记(一)数据类型与存储、数据对齐、数据移植、typedef   通用异步收发传输器

    2024年02月05日
    浏览(53)
  • STM32串口通信详解(嵌入式学习)

    时钟信号在电子领域中是指用于同步和定时电路操作的周期性信号。它在数字系统和通信系统中起着至关重要的作用,用于协调各个组件之间的数据传输和操作。 时钟信号有以下几个重要的方面: 频率:时钟信号的频率是指单位时间内信号周期的数量。它通常以赫兹(Hz)为

    2024年02月09日
    浏览(67)
  • STM32的中断系统详解(嵌入式学习)

    中断是处理器中的一种机制,用于响应和处理突发事件或紧急事件。当发生中断时,当前正在执行的程序会被暂时中止,处理器会跳转到中断处理程序(也称为中断服务例程),对中断事件进行处理。处理完中断后,处理器再返回到被中断的程序继续执行。 中断可以分为内部

    2024年02月12日
    浏览(69)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包