从keil中导出数据save

命令窗口导出数据

save <filespec> <start address>,<end address>

save E:\Desktop\Data.txt 0x0003E6,0x0003E6+0x24

地址前选择加入以下字母来导出目标区域的数据。

  • D直接寻址的片内RAM
  • I间接寻址的片内RAM
  • X扩展的外部RAM
  • C代表ROM
    导出数组或者变量的数据。
save E:\Desktop\Data.txt &var,&var+4

存在问题???

float var[30];
// &var = 0x000000;
// &var+25 = 0x001964
save E:\Desktop\Data.txt X:0x000000,X:0x000064

目标文件:路径
数据来源:存储类型、存储范围、起始地址、结束地址(起始地址+数据的长度-1)

数据解析

Data.txt是以HEX386格式保存的自定义文件名的文件。每行有4+4×4+1=21字节数据。前4个字节和最后一个字节为无效数据。中间的4x4=16个字节为有效数据。
Step 1. 去除无效数据
文件的第一行、最后两行,每行前的“:”和前4个字节、后1个字节与数据无关。
Step 2. 排版有效数据
去除无效数据后,对剩余的有效数据,间隔4字节插入空格。
Step 3. 转为十进制
数据长度,1字节 数据地址,2字节 数据类型,1字节 数据内容,n字节 数据校验和,1字节 \fcolorbox{red}{aqua}{数据长度,1字节}\fcolorbox{red}{aqua}{数据地址,2字节}\fcolorbox{red}{aqua}{数据类型,1字节}\fcolorbox{red}{aqua}{数据内容,n字节}\fcolorbox{red}{aqua}{数据校验和,1字节} 121n1

:10246200464C5549442050524F46494C4500464C33

在这里插入图片描述

数据长度

数据起始地址

记录类型

  • 00 – 数据 记录(Data Record)
  • 01 – 文件结束 记录(End of FileRecord)
  • 02 – 扩展段地址 记录(ExtendedSegment Address Record)
  • 03 – 开始段地址 记录(Start Segment Address Record)
  • 04 – 扩展线性地址 记录(Extended Linear Address Record)
  • 05 – 开始线性地址 记录(Extended Segment Address Record)

数据域

数据个数=数据/sizeof(数据)

校验和的计算

0x10+0x24+0x62+0x00+0x46+0x4C+0x55+0x49+0x44+0x20+0x50+0x52+0x4F+0x46+0x49+0x4C+0x45+0x00+0x46+0x4C=0x04CD
0x4CD % 0x0100=0x00CD
0x0100-0x00CD=0x33

其他

参考

HEX386格式解析
HEX文件格式详解
Hex386toBin
uVision/Keil如何将数据导出到文件
从keil中导出内存数据到matlab中分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值