控制器程序格式——bin/hex/SREC
一、bin文件
(1)二进制文件
(2)Bin文件不带文件内容校验功能
二、hex文件
(1)Intel
(2)十六进制
a.Start code——1个ASCII字符 ’:’,用于标志一行Hex记录的开始。
b.Byte count——2个16进制的ASCII数字,定义Data域字节数目。
c.Address ——4个16进制的ASCII数字,用于表示数据的偏移地址,其数据格式为大端模式(即低地址为高字节数据)。
d.Record type——2个16进制的ASCII数字,其值范围为00 ~05,用于定义记录的类型。
行数 | 代码 | 含义 |
第一行 | : 020000040800F2 |
02:代表本行有2个字节数据 0000:本行数据的起始地址(偏移地址) 04:扩展线性地址标识,表面后面2个字节数据是后面数据的基地址 0800:是扩展地址 (0x0800 << 16) = 0x08000000后面的数据记录都以这个地址为基地址。 F2: 记录本行校验和 F2=0x100-(0x02+0x04+0x08) |
中间行 |
: 1000000048070020CD0100 081D0400089D030008DA |
10:本行有10个byte数据 0000:表示本行数据起始地址为0x08000000。下一行则是0x08000010依次类推 00:数据标识,表示后面字节为记录的数据 48070020CD0100081D0400089D030008:10个byte的数据 DA: 校验和 |
倒数第二行 | : 04000005080001CD21 |
04:表示本行有4个byte数据 0000:表示本行数据起始地址为0x00000000 05: 表示后面存放要执行的下一个指令的地址 080001CD:表示要执行的下一个指令的地址(main函数地址) 21;校验和 |
最后一行 | : 00000001FF | 01:标识hex文件结束 |
三、SREC
(1)Motorola(Motorola格式记录文件是ASCII格式的文件)
(2)格式:.s19 .s28 .s37 .s .s1 .s2 .s3 .sx .srec .mot
(3)带有程序的地址信息和数据校验功能
(4)结构
a.Record type ——2个字节ASCII字符,第一个字符为‘S’,第二个字符为ASCII数字的‘0’~‘9’
1)对16位宽度的地址而言,其使用S0、S1、S5、S9类型的数据记录;
2)对24位宽度的地址而言,其使用S0、S2、S5、S8类型的数据记录;
3)对32位宽度的地址而言,其使用 S0、S3、S5、S7类型的数据记录。
b.Byte count ——地址+数据+校验和的字节数 ——2个16进制的ASCII数字
c.Address ——大端地址——4/6/8个16进制的ASCII数字,取决于Record type的类型
d.Data ——数据 ——2*n个16进制的ASCII数字(n字节数据)
e.Checksum ——2个16进制的ASCII数字
四、格式文件对比
控制器程序格式——bin/hex/SREC相关推荐
- 痞子衡嵌入式:ARM Cortex-M文件那些事(8)- 镜像文件(.bin/.hex/.s19)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的image文件(.bin, .hex, .s19). 今天这节课是痞子衡<ARM Cortex-M文件那些事>主 ...
- bin hex 文件互相转换
bin hex 文件互相转换 参照KEIL官网的教程和工具. 这里说已经使用srec_cat.exe(下载链接)替代bin2hex了.使用方法. bin文件转hex文件 .\srec_cat.exe ...
- 在CCS上生成.bin .hex .txt文件并烧录到MSP430 使LCD灯亮
在CCS上生成.bin .hex .txt文件并烧录到MSP430 使LCD灯亮 摘自 https://www.cnblogs.com/binglmm/p/9629618.html ...
- ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet-3-06:不同格式固件的区别:bin/hex/s37/gbl
[ 源码. 文档. 软件. 硬件. 技术交流. 技术支持, 入口见 文末] [所有相关 IDE. SDK和 例程源码均可从群文件 免费获取, 免安装, 解压即用] 持续更新中,欢迎关注! 一.编译生成 ...
- ARM:ELF bin Hex axf
前言: PC平台流行的可执行文件格式(Executable File Format),主要是Windows下的PE(Portable Executable)和Linux的ELF(Executable ...
- 将FPGA MCS 文件转成BIN (HEX or EXO) 文件
使用TCL命令promgen,如: promgen -p bin -r test.mcs -o mytest.bin
- CANape导出标定数据Hex/S19等二进制文件
文章目录 前言 配置CANape工程 配置Memory Segments 配置Memory Flash 生成二进制文件 导出二进制文件并保存为par文件 通过par文件导入到二进制文件中 对比二进制文 ...
- 十六进制转八进制c++代码_如何将十六进制代码上传到微控制器?
十六进制转八进制c++代码 Read: 8051 Microcontroller programming using Keil Uvision IDE 阅读: 使用Keil Uvision IDE进行 ...
- BIN文件转dfu文件 进行刷机 问题
文章目录 1.DFU File Manager 选择Bin2DFU 2.选择Bin文件,根据是否有Bootloader设置地址 3 将boot0 置高 4 使用DfuSe Demo 下载 1.DFU ...
最新文章
- 《GPU高性能编程CUDA实战》中代码整理
- 平台篇-58 HBase 平台实践和应用
- c++11: less的用法
- div与span区别及用法
- python展开 c函数中的宏预处理_C中的预处理宏
- Maven生命周期和插件的那些事(2021版)
- java ui设计用什么_什么是UI设计?
- Java动态代理简述
- NodeJs之npm
- python古诗词生成_唐诗生成器
- 【Scratch案例实操】Scratch萌宠运动会 scratch编程案例教学 scratch创意编程 少儿编程教案
- 吴军,数学通识50讲
- 点歌机终端服务器停止服务怎么办,点歌机常见问题解析
- Optimization Week 5: Duality example
- 计算机发邮件试题,计算机考试题库:计算机网络模拟练习题(4)
- Python-Django毕业设计基于的餐厅管理系统(程序+Lw)
- Microsoft Edge安装扩展插件
- apktools使用
- 【求助】ipad远程桌面下vmware键盘布局错乱
- ORA-00257:archiver error.Connect internal only, until freed 问题解决