Bootloader Protocol


Firmware File Format

There are two primary types of entries in the .hex file format: data lines and comments.

  • Data lines start with a colon (:) and are comprised of binary data in hexadecimal format.
  • Comments begin with a semi-colon. (;) These should be ignored by the software doing the firmware upload.


Getting into the Bootloader

During the boot process the AlarmDecoder will present a !boot message. If an '=' is sent to the device before the boot process is finished it is halted and the device drops into firmware upload mode where you will be presented with a !load prompt. If a previous firmware upload failed you will automatically be dropped into the boot loader.

Uploading Firmware

After the !load prompt is received you may begin uploading firmware. This is done by sending the data lines from the firmware file, including the colon, to the device followed by a single carriage return.

There are a few responses you should expect from each line that's sent:

  • !0000:0000, !00FF:0000, and !ae - These are positive responses.
  • !no - Improperly formatted input. Make sure the colon is present.
  • !ce - Checksum error.
  • !ol - Invalid memory location.
  • !ok - The firmware upload completed successfully.

Example successful upload:

< !sn:ffffffff
< !boot...
> =
< !wait
< !load
> :10000000DDB4F6E10F4ED12382C4EE148E43CE8CC4
< !0000:0000
> :1000080039DAAB5279A08A5D82C4EE148E43CE8C65
< !0000:0000
> :10001000816CC9FB056D5FE26A8ECF031619661D00
< !0000:0000
> :1000200032008A3DAF0BC3742F809946F86CE50A05
< !0000:0000
> :108E20003B4775916570AA7DF9E341A7B05E13F3E6
< !0000:0000
> :108E30004881D6FE809BADA8CC8AAD1409E3097B9E
< !0000:0000
> :0200000400F00A
< !ae
> :02000000FF00FF
< !00FF:0000
> :00000001FF
< !ok