附录 —— 文件格式¶
可读取的格式¶
| 格式 | 扩展名 | 说明 |
|---|---|---|
| A2L / DAMOS | .a2l .dam .damos |
ASAM MCD-2 MC;最可靠的路径 |
| Intel HEX | .hex |
解析记录地址并保留空洞 |
| Motorola S-record | .s19 .s28 .s37 |
S0–S9 记录 |
| 原始 ROM | .bin .rom .ori .mpc |
不含标定图边界信息 |
| WinOLS | .ols |
ROM + 标定图 + 坐标轴 + 元数据 |
| KP 包 | .kp |
不含 ROM,需要已打开的工程 |
| TunerPro | .xdf |
定义文件 |
| VAG | .frf .sgo .odx .zip |
加密内容需要 AES 密钥文件 |
| CSV / JSON 清单 | .csv .json |
标定图地址清单 |
| 标定图包 | .mtrpack |
MRC 格式 |
| 补丁 | .mtrpatch |
MRC 格式 |
| Datalog | .csv |
通道列表与时间序列 |
可写出的格式¶
| 格式 | 扩展名 | 说明 |
|---|---|---|
| 工程 | .mtrp |
ROM + 标定图 + 历史 + 元数据(容器) |
| 原始 ROM | .bin .rom |
保留尺寸与字节序 |
| WinOLS | .ols |
工程导出 |
| TunerPro | .xdf |
定义导出 |
| 标定图包 | .mtrpack / .csv |
选中的标定图 |
| 标定图清单 | .csv .json |
名称、地址、尺寸 |
| 调校报告 | .html |
旧值/新值对比 |
| 主题 | .mtrtheme |
配色定义 |
工程容器格式(.mtrp)¶
.mtrp 是二进制容器:
- 头部 —— 魔数(
MTRP)、格式版本、总长度、TOC 偏移。 - TOC —— 每个区块的魔数、偏移与大小。
- 区块 —— ROM 数据、标定图定义、元数据、历史、样式。
- 正文校验和 —— 用于检测损坏。
各区块独立写入与读取;读取单个区块无需把整个文件载入内存。
补丁格式(.mtrpatch)¶
一个 JSON 文档:
{
"format": "mtrpatch",
"label": "Stage 1 — low RPM fuel maps",
"maps": [
{
"name": "KRKTE_FIX",
"address": "0x0012A340",
"ref": "0x0B0C0D0E",
"new": "0x0B0C1012"
}
],
"raw": []
}
ref—— 改动前的字节,用于校验。new—— 将要写入的字节。raw—— 标定图之外的原始字节补丁(仅对同一软件版本有效)。
标定图包格式(.mtrpack)¶
以名称 + 地址 + 缩放 + 数值的形式携带标定图。应用在目标 ROM 上分三步匹配: 显式地址、名称、包内记录的地址。
来自 A2L 的缩放¶
COMPU_METHOD 使用 COEFFS_LINEAR 形式的 f(x) = a·x + b。应用直接把这些
系数换算为标定图的系数与偏移。通过 COMPU_TAB_REF 定义的查表换算同样支持。
字节序¶
部分 A2L 文件声明 BYTE_ORDER MSB_LAST,表示单元格字节按反向存储。应用会
把它作为属性读取,但仍可用 视图 ▸ 字节序 手动更改。字节序读错会产生
"看似合理"的错误数值,而且很容易被忽略。