实现STM32烧写程序-(4) BIN文件结构

简介

BIN文件是一种二进制文件格式,用于存储和传输二进制数据。它包含了计算机或设备可以直接读取和执行的原始二进制数据。BIN文件通常用于存储程序、固件或其他二进制数据,例如嵌入式系统的固件、操作系统的映像文件等。
BIN文件的起源可以追溯到计算机科学的早期阶段。它是作为一种简单的二进制数据存储格式而被发明的,用于将二进制数据直接写入到计算机的存储介质中。由于BIN文件只包含原始的二进制数据,没有额外的元数据或结构信息,因此它通常比其他格式更紧凑和高效。
关于BIN文件的发明者并没有一个具体的人物或团体可以被明确指定。它是在计算机发展的早期阶段由多个人和组织共同发展和使用的。随着计算机技术的进步,BIN文件成为了一种通用的二进制数据存储格式,并被广泛应用于不同的领域和应用中。
需要注意的是,BIN文件并没有一个统一的标准或规范,不同的应用和系统可能会对BIN文件的格式和用途有所差异。因此,在处理BIN文件时,需要根据具体的应用和需求来理解和解析其中的二进制数据。

资料

Notepad++ Hex插件

方式一 : 虽然官方的安装方式, 但是我无法安装, 看到此直接到方式二就好
在这里插入图片描述
参考 Notepad++在线文档 - 插件

方式二:

  1. 先到如下地方下载最新版本的插件:
    Hex Editor Github Release下载

不知道自己的Notepad++ 32bit还是64bit的可以看下Notepad Help, 如下
在这里插入图片描述

  1. 打开插件的安装目录
    在这里插入图片描述

  2. 放入插件
    自己创建一个目录HexEditor, 然后将下载的插件放进去

  3. 重启Notepad++
    看到如下的icon就表示正常加载了, 文件需要以十六进制显示, 直接点击该图标进行启用/禁用
    在这里插入图片描述

bin文件结构

我试过了, 将同一个程序在Keil上进行编译, 编译后bin、hex文件比对如下

开始部分

BIN 文件 的开始部分 和 HEX文件的开始数据部分是一样的
在这里插入图片描述

中间部分

随机抽取行数, 数据部分也是一样的, 如下图:
在这里插入图片描述

结尾部分

BIN 文件 的结尾部分 和 HEX文件的结尾数据部分是一样的
在这里插入图片描述

结论

BIN文件只包含原始的二进制数据,没有额外的元数据或结构信息

参考

实现STM32烧写程序-(3) Hex文件结构

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

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

相关文章

获取本地IP网卡信息

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、获取本地IP,以及全部网卡信息总结 前言 一、获取本地IP,以及全部网卡信息 const os require(node:os) function getIPAdress(){/…

node-red实现ModBus-RTU 通信协议(RS485信号输出)的数据交互

node-red实现485型 - 温湿度变表数据转换 一、介绍二、 通讯协议2.1 通讯基本参数2.2 数据帧格式定义2.3 寄存器地址2.4 通讯协议示例以及解释 三、 node-red实现数据交互3.1 node-red读取数据3.2 node-red写回数据 本文参考《86 壳液晶温湿度变送器使用说明书(485 …

html5+css3+bootstrap+js 新闻网页

新闻网页练习打卡! 一、首页 二、社会 三、财经 四、视频展示 简易新闻网站(期末作业)

Cuda与Torch配置(For 集群服务器)超详细步骤

每次配置模型环境,无论是在windows,linux,集群服务器上都会在这里卡一段,为了未来配置方便,记录下配置注意事项 配置cuda和torch主要有几个要点,分别是: 显卡与驱动(NIVIADA drive…

一刀切转为精细化,门店如何进行「体检式」巡查(一)

在品牌经营过程中,无论是直营店还是加盟商,都需要做好统一的品牌门店管理。比如总部对门店环境卫生、员工服务质量、货品质量等进行定期或不定期的巡检抽查,以确保各门店保持统一标准。 以往,传统巡店只能通过有纸质表格或微信汇报…

前端react入门day03-react获取dom与组件通信

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 受控表单绑定 React中获取DOM 组件通信 父传子 父传子-基础实现 父传子-props说明 父传子 - 特殊的…

unity-物体的基本操作笔记

unity-物体的基本操作笔记 公共属性左右移动跳 公共属性 private Rigidbody2D m_body2d;[SerializeField] float m_speed 4.0f;[SerializeField] float m_jumpForce 7.5f;左右移动 // Update is called once per framevoid Update(){float inputX Input.GetAxis("Horiz…

FFmpeg之AVFilter

文章目录 一、概述二、重要结构体2.1、AVFilterGraph2.2、AVFilter2.3、AVFilterContext 三、流程梳理3.1、FFmpeg AVFilter 使用整体流程3.2、过滤器构建流程3.2.1、分配AVFilterGraph3.2.2、创建过滤器源3.2.3、创建接收过滤器3.2.4、生成源和接收过滤器的输入输出3.2.5、通过…

Java开发+Intellij-idea+Maven+工程构建

Java开发Intellij-ideaMaven工程构建 Intellij-idea是一款流行的Java集成开发环境,它支持Maven作为项目管理和构建工具。Maven可以帮助开发者自动下载项目依赖的jar包,执行编译、测试、打包等生命周期任务。本资源将介绍如何在Intellij-idea中创建、导入…

MIT 6s081 lab 2:system calls

Lab2 : system calls 作业地址:Lab: System calls (mit.edu) Add $U/_trace to UPROGS in Makefileadd a prototype for the system call to user/user.h, a stub to user/usys.pl, and a syscall number to kernel/syscall.h. The Makefile invokes the perl scr…

2024年1月上旬值得一读的技术文档精选

2024年1月上旬值得一读的技术文档精选 2024.1.15版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 1、RISC-V开放架构设计之道(v1.0.0) 2023 年 12 月 13 日发布的一本开源书,这本恰逢其时的书简明扼要地介绍了简洁、免费、开放…

力扣刷题第一天 删除排序链表中的重复元素 II

各位小伙伴们好,2024年到来了,我突然发现我好像错过了很多,我的才华和能力远不足以支撑我的梦想,我下定决心要开始为自己努力了!希望明天的我是一个更好的我!希望小伙伴都有一个美好的明天哦! 示…

chrome 307状态码

问题:不知道什么原因导致http请求chrome始终307跳转到https,这个307的跳转非常恶心的地方是客户端缓存行为,并且非普通的f12下面清除缓存可以去掉 解决办法:使用chrome的清除浏览数据,通过这个方式清除,才能解决。 问…

精品基于Uniapp+springboot车辆充电桩缴费管理系统管理系统App-地图

《[含文档PPT源码等]精品基于Uniappspringboot充电桩管理系统App》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 软件开发环境及开发工具: 开发语言:Java 后台框架:springboot、ssm 安…

element + table 每两行对比相同值列合并

在开始之前先要明确几个概念&#xff1a; 保持不变&#xff1a;{ rowspan: 1, colspan: 1 } 删除一个单元格&#xff1a;{ rowspan: 0, colspan: 0 } 合并一个单元格&#xff1a;{ rowspan: 2, colspan: 1 } <template><div><el-table:data"tableData&quo…

Appium 自动化测试

1.Appium介绍 1&#xff0c;appium是开源的移动端自动化测试框架&#xff1b; 2&#xff0c;appium可以测试原生的、混合的、以及移动端的web项目&#xff1b; 3&#xff0c;appium可以测试ios&#xff0c;android应用&#xff08;当然了&#xff0c;还有firefoxos&#xff09;…

web自动化实现登录的几种方式

目录 前言 一、pythonunittest框架实现登录功能 二、pythonselenium实现登录功能 三、pythonrequests库实现登录功能 前言 今天主要想介绍python语言不同的自动化测试框架的结合方式来模拟登录功能。想了解自动化测试框架的同学不要错过哦&#xff01; 一、pythonunittest框…

Windows 下 QT开发环境的搭建:

下载QT:Index of /archive/qt/5.14 下载Cmake :CMake - Upgrade Your Software Build System (1)QT在windows,C, 打包exe&#xff1a; step1:window上安装QT软件&#xff1a; Windows下的QT系统开发环境搭建_qt windows-CSDN博客. step2:新建一个界面工程&#xff1a; (1)打…

【css】渐变效果

css渐变效果 使用 CSS 渐变可以在两种颜色间制造出平滑的渐变效果。 用它代替图片&#xff0c;可以加快页面的载入时间、减小带宽占用。同时&#xff0c;因为渐变是由浏览器直接生成的&#xff0c;它在页面缩放时的效果比图片更好&#xff0c;因此你可以更加灵活、便捷的调整页…

postgresql16 物理复制与逻辑复制的实现和对比

本文面向想要练习 PostgreSQL 中数据库复制基础知识但可能无法访问远程服务器的初学者。我认为学习新技术时&#xff0c;在自己的机器上运行示例以巩固概念是至关重要的。对于副本来说&#xff0c;这可能很困难&#xff0c;因为许多可用的资源假设用户具有一定的 PostgreSQL 经…