8.2.1 Hexmate Uses

Hexmate can be used for a variety of tasks relating to Intel HEX files. These include the following.

  • Merging multiple Intel HEX files into one Intel HEX file.
  • Calculating and storing variable-length hash values, such as CRC or SHA.
  • Filling unused memory locations with known data sequences.
  • Converting Hex files to other INHX formats (e.g., INHX32).
  • Detecting specific or partial opcode sequences within a HEX file.
  • Finding/replacing specific or partial opcode sequences.
  • Providing a map of addresses used in a HEX file.
  • Changing or standardizing the length of data records in a HEX file.
  • Validating record checksums within Intel HEX files.

Typical applications for Hexmate might include:

  • Merging a bootloader or debug module into a main application at build time.
  • Creating a hash value that can be used to ensure programmed code has not become corrupted.
  • Placing instructions at unused locations to handle the wayward execution of crashed programs.
  • Storing serial numbers or strings such as time stamps at a fixed address.
  • Storing initial values at a particular memory address (e.g., initialize EEPROM).
  • Detecting the occurrence of a buggy or restricted instructions.
  • Adjusting HEX files to meet the particular requirements of bootloaders or debug tools.