commit | 80e2c88f27ac3de911ca12a64e061526401a5be5 | [log] [tgz] |
---|---|---|
author | EWYan <yanerweiwei@gmail.com> | Sat Apr 16 12:19:14 2022 +0800 |
committer | EWYan <yanerweiwei@gmail.com> | Sat Apr 16 12:19:14 2022 +0800 |
tree | 65a79d3e8981e6f005dde2ec48947a645e9106d8 | |
parent | 1bed6512a0dd9017b5d23d5fdf3bb10ebdad9666 [diff] | |
parent | 71b3f17b2bbf7b1798bfda202b854fc23ffe4a43 [diff] |
Merge branch 'dev-02' # Conflicts: # vbf-tool/src/vbf_parser/parser.rs
try to imple vbf-tool by rust
ref. https://mk4-wiki.denkdose.de/artikel/vbf/start
The VBF format contains a readable part in ASCII format and a machine part in binary format.
vbf_version = 2.6; header { //********************************************************** //* //* Volvo Car Corporation //* //* This file is generated by VBF CONVERT ver. 5.10.0 //* //* DO NOT EDIT ! //* //********************************************************** // Volvo software part number sw_part_number = "8894084567"; // Software Version: sw_version = "A"; // Volvo software part type: Executable sw_part_type = EXE; // Data format identifier: 0x00 = Uncompressed, 0x10 = Compressed data_format_identifier = 0x00; // ECU Address: ecu_address = 0x1234; // Erase information // start, length erase = { { 0x0cc00000, 0x0004ef15 }, { 0xffffe800, 0x0000002c } }; // Start address of the hash table verification_block_start = 0xFFFFE800; // Length of the hash table verification_block_length = 0x0000002C; // Root hash value verification_block_root_hash = 0x3E263C8F66129C46B39D59E5964D7F3254FFA272AD3A3E70FC57ED95D73E1234; // Blocks sorted // Blocks grouped // Blocks: 2 // Bytes: 323476 file_checksum = 0x6A8DB4CC; }
Offset | LENGTH | BYTES | DATETYPE | FUNCTION | SAMPLE |
---|---|---|---|---|---|
0x0000 | 4 Bytes | DWORD | DATA_START | Start address on the target system | 0x000004F4 |
0x0003 | 4 Bytes | DWORD | DATA_LENGTH | Length of the following block | |
0x0007 | x Bytes | BYTE | DATA | data of the block | |
0x0007 + DATA_LENGTH | 2 Bytes | WORD | DATA_CRC | CRC-16 CCITT checksum of the DATA |
The verification block table, encoded with big endian, shall have the following format:
the description of vbf file parameters.
$ vbf-tool ./vbb_script.json