SRecordHelper 0.1.1.2
dotnet add package SRecordHelper --version 0.1.1.2
NuGet\Install-Package SRecordHelper -Version 0.1.1.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SRecordHelper" Version="0.1.1.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SRecordHelper --version 0.1.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SRecordHelper, 0.1.1.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SRecordHelper as a Cake Addin #addin nuget:?package=SRecordHelper&version=0.1.1.2 // Install SRecordHelper as a Cake Tool #tool nuget:?package=SRecordHelper&version=0.1.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
.s19,.s37 后缀文件的解析方法库
该后缀文件通常是 Motorola S-record 文件,其内容是记录地址和对应的字节数据。
SRecordHelper 库
使用 .NET 8.0 框架。
class SRecord
- 概述:表示 S-record 文件中的单条记录文本。
- 构造:
- 使用 S-record 文件中的单条记录文本进行构造,在构造时提取所有有效信息。
- 成员:
- 解析 S-record 行信息的详细内容,包括:
- 记录类型;
- 字节长度;
- 内存地址;
- 数据内容;
- 校验码。
- 附加额外的属性,包括:
- 计算实际的字节长度;
- 计算实际的校验码。
- 解析 S-record 行信息的详细内容,包括:
class SRecordFile
概述:表示完整的 S-record 格式文件。
构造:
- 使用 S-record 格式文件的所有行数据进行构造,在构造时提取所有有效信息。
成员:
- 标题
- 所有档案块:
class SRecordBlock
- 概述:具有起始地址的,一段地址连续的数据。
参考用例
string sample = """
S00F000068656C6C6F202020202000003C
S11F00007C0802A6900100049421FFF07C6C1B787C8C23783C6000003863000026
S11F001C4BFFFFE5398000007D83637880010014382100107C0803A64E800020E9
S111003848656C6C6F20776F726C642E0A0042
S5030003F9
S9030000FC
"""; // 示例文件
// string sample = File.ReadAllText(@"ECU.s37"); // 读取文件
string[] lines = sample.Replace("\r\n", "\n").Split("\n"); // 按照换行符分割为行序列
SRecordFile sRecordFile = new SRecordFile(lines); // 使用行序列创建 SRecordFile 对象(构造时会进行验证,验证不通过时会抛出异常)
SRecordBlock sRecordBlock = sRecordFile.SRecordBlocks[1]; // 获取第一个档案块对象
uint startAddress = sRecordBlock.StartAddressValue; // 档案块对象的地址
byte[] data = sRecordBlock.Data; // 获取档案块数据
var newLines = sRecordFile.ToSRecordTextLines(0x20); // 从 SRecordFile 对象导出行序列
var newSRecordFile = new SRecordFile([.. newLines]); // 使用导出的行序列重新创建 SRecordFile 对象验证比对
参考资料
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.