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

news2024/11/18 15:44:17

简介

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.coloradmin.cn/o/1384894.html

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

相关文章

学习Vue配置代理总结

今天学习了Vue的配置代理,当我们想要向服务器取回来数据时就先要向服务器发送请求,但前端发送请求的方式也有很多种,首先是发送请求的鼻祖JS的XMLHttpRequest(xhr),它操作起来相对麻烦,开发中也…

mysql5.7之从入门到放弃

系列文章目录 第一章 MySQL5.7之从入门到放弃 第二章 MySQL从入门到放弃之数据库体系结构与管理 第三章 MySQL基础应用之DDL、DCL、DML、DQL 第四章 MySQL之多表连接查询、AS别名、扩展内容 文章目录 系列文章目录前言一、Mysql的介绍和安装?1、什么是数据&#xf…

SqlAlchemy使用教程(二) 入门示例及编程步骤

SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解 二、入门示例与基本编程步骤 在第一章中提到,Sqlalchemy提供了两套方法来访问数据库,由于Sqlalchemy 官方文档结构有些乱,对于ORM的使用步骤的描…

【生存技能】git操作

先下载git https://git-scm.com/downloads 我这里是win64,下载了相应的直接安装版本 64-bit Git for Windows Setup 打开git bash 设置用户名和邮箱 查看设置的配置信息 获取本地仓库 在git bash或powershell执行git init,初始化当前目录成为git仓库…

【Unity】【VRTK】【Pico】如何快速在VRTK中引入带动画的PICO控制器

【背景】 之前的VRTK篇章中,我只介绍了Oculus,Open VR,SImulator这三种Rig的配置方法,那么Pico如何融合VRTK进行开发呢? 【需要的开发包】 先像一个正常PICO项目那样导入PICO的SDK到Unity。VRTK 4的Package导入器中搜Pico,可以导入一个Pico的Integration,导入后Projec…

NLP论文阅读记录 - 2021 | WOS 智能树提取文本摘要深度学习

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.前提三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 An Intelligent Tree Extractive Text Summarization Deep Learning …

NAT技术的原理、和实现方式介绍

目 录 一、关于内外网的网络问题 1、内网 2、外网 3、如何实现内网访问外网 4、外网如何访问公司内部的一个服务器? 二、NAT技术简介 三、NAT技术的基本原理。 四、内部网实现NAT的常用方式 1.静态转换 2.动态转换 3.端口多路复用(Por…

人工智能主流技术详解

人工智能(Artificial Intelligence,简称AI)是当今科技领域发展最迅速、最令人振奋的分支之一。本文将带您深入了解人工智能的主流技术,探索AI如何影响我们的生活、工作以及未来的发展。 一、什么是人工智能? 人工智能&…

SpringBoot+SSM项目实战 苍穹外卖(11) Apache ECharts

继续上一节的内容,本节学习Apache ECharts,实现营业额统计、用户统计、订单统计和销量排名Top10功能。 数据统计效果图: 目录 Apache ECharts入门案例 营业额统计用户统计订单统计销量排名Top10 Apache ECharts Apache ECharts 是一款基于 …

微信小程序(一)简单的结构及样式演示

注释很详细&#xff0c;直接上代码 涉及内容&#xff1a; view和text标签的使用类的使用flex布局水平方向上均匀分布子元素垂直居中对齐子元素字体大小文字颜色底部边框的宽和颜色 源码&#xff1a; index.wxml <view class"navs"><text class"active…

Leetcode3002. 移除后集合的最多元素数

Every day a Leetcode 题目来源&#xff1a;3002. 移除后集合的最多元素数 解法1&#xff1a;贪心 可以将数组去重后分为三个部分&#xff1a;nums1 独有的&#xff0c;nums2 独有的&#xff0c;nums1 与 nums2 共有的。 求集合 S 时&#xff1a; 先选择两个数组独有的。…

vcs makefile

主要参考&#xff1a; VCS使用Makefile教程_vcs makefile-CSDN博客https://blog.csdn.net/weixin_45243340/article/details/129255218?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170524049516800227431373%2522%252C%2522scm%2522%253A%252220140713.1301023…

强化学习应用(四):基于Q-learning的物流配送路径规划研究(提供Python代码)

一、Q-learning算法简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于马尔可夫决策过程&#xff08;MDP&#xff09;的问题。它通过学习一个值函数来指导智能体在环境中做出决策&#xff0c;以最大化累积奖励。 Q-learning算法的核心思想是使用一个Q值函数来估计每…

12AOP面向切面编程/GoF之代理模式

先看一个例子&#xff1a; 声明一个接口&#xff1a; // - * / 运算的标准接口! public interface Calculator {int add(int i, int j);int sub(int i, int j);int mul(int i, int j);int div(int i, int j); }实现该接口&#xff1a; package com.sunsplanter.prox…

c#异形窗体遮罩效果

c#异形窗体遮罩效果&#xff0c;移动&#xff0c;关闭&#xff0c;最大化&#xff0c;最小化&#xff0c;还原操作 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D…

Java 8 中的 Stream 轻松遍历树形结构

直接上代码 测试实体类 /*** Menu** author lcry*/ Data Builder public class Menu {/*** id*/public Integer id;/*** 名称*/public String name;/*** 父id &#xff0c;根节点为0*/public Integer parentId;/*** 子节点信息*/public List<Menu> childList;public Me…

浮点数的表示

文章目录 一、基本介绍二、IEEE 754标准浮点数三、浮点数的运算3.1 浮点数的加减法3.2 浮点数的乘法3.3 浮点数的除法 四、demo参考 一、基本介绍 浮点数是与定点数相对的概念&#xff0c;计算机中的定点数约定小数点的位置不变。 由于计算机字长的限制&#xff0c;当需要表示…

几种mq实现延迟队列的方式

文章目录 rocket mq&#xff1a;延时消息rabbit mq&#xff1a;死信队列kafka方案&#xff1a;多级分区举例优点 rocket mq&#xff1a;延时消息 rabbit mq&#xff1a;死信队列 消息设定一段时间未消费就进入死信队列&#xff0c;然后消费者监听死信交换机。 kafka kafka自身…

【MySQL】mysql集群

文章目录 一、mysql日志错误日志查询日志二进制日志慢查询日志redo log和undo log 二、mysql集群主从复制原理介绍配置命令 读写分离原理介绍配置命令 三、mysql分库分表垂直拆分水平拆分 一、mysql日志 MySQL日志 是记录 MySQL 数据库系统运行过程中不同事件和操作的信息的文件…

vue的element ui使用el-table组件实现懒加载树、默认自动展开层级(一层,二层)、并且解决新增、删除、修改之后树节点不刷新问题

1.整体思路 问题&#xff1a;数据量太大了&#xff0c;导致接口返回数据时间较长。解决: 将ElementUi中Table组件加载改为懒加载&#xff08;查看文档&#xff09;。思路&#xff1a;初始化打开页面时只显示第一级菜单,用户点击展开菜单之后往后端发送请求,然后加载出一级子菜…