Last updated:
0 purchases
intel hex
Intel HEX library #
A dart library that reads and writes Intel HEX files.
Intel HEX is a file format that is used to store binary data as ASCII text. It is often used
to program microcontrollers. The file format comprises of record blocks. Each record block is represented as a line in
the text file. A record starts with a ":" character and ends at the end of the line. The last
byte of a record block is the checksum of all other bytes in this block.
A record has six fields:
Start code. Usually ":".
Byte count
Address
Record type
Data. May be empty.
Checksum.
Features #
This library supports both reading and writing Intel HEX files.
Any comments in the files (or leading characters, empty lines) are ignored.
Line lengths from 1 to 255 bytes are supported.
The following record types can be parsed:
Record type
Id
Description
Data
00
A data field with the contents of the file.
End Of File
01
The parser stops once an End Of File record is found.
Extended Segment Address
02
A data field with an extended address that is added to the address all following data records. Allows addressing up to 1 MB.
Start Segment Address
03
A data field that holds the initial intruction pointer for 80x86 CPUs.
Extended Linear Address
04
A data field that contains the upper 16 bits of the addresses for all subsequent data fields. Allows using up to 4 GB.
Start Linear Address
05
Starting execution address for CPUs that support it.
Getting started #
To use the package, simply add it to your pupspec.yaml:
dependencies:
intel_hex: ^1.1.0
copied to clipboard
And you are good to go!
Usage #
Here is a simple example showing how to read a file:
import 'package:intel_hex/intel_hex.dart';
// example reading a file ...
final file = File(path).readAsStringSync();
var hex = IntelHexFile.fromString(file);
copied to clipboard
Converting binary data to an Intel HEX string can be done with the following code:
import 'package:intel_hex/intel_hex.dart';
Uint8List data = /* get binary data */;
var hex = IntelHexFile.fromData(data);
var hexString = hex.toFileContents();
copied to clipboard
See also the examples in the examples directory.
There is also an up to date documentation on pub.dev that explains the API of the library.
Additional information #
If there are any bugs or you need an additional feature, please report them in the issue tracker.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.