This is a tool that creates HPM.1 firmware update files to be used by a HPM.1 updater such as ipmitool hpm upgrade
.
It can be used with MMC-STAMP based AMC boards, such as the DAMC-FMC2ZUP and DAMC-FMC1Z7IO, to facilitate in-system-upgrade of various components (MMC, CPLDs, FPGAs) over IPMI.
- Converts from binary file to firmware update file according to HPM.1 spec
- Creates a sequence of two HPM.1 actions; first Prepare component, then Upload image
- Embeds metadata according to HPM.1 spec:
- IANA manufacturer / product ID
- Target device / component
- Version information
- Auxillary metadata
- Parses Xilinx bitstream file (optional)
- Performs RLE compression (optional / DESY MMC proprietary)
By default, Xilinx bitfile mode is determined from the input file name. If it ends on .bit
, the bitfile mode is selected. Bitfile mode can also be forced (-b
) or suppressed (-n
) independent of file name.
$ bin2hpm --help
usage: bin2hpm [-h] [--version] [-o OUTFILE] [-v FILE_VERSION] [-a AUXILLARY] [-c COMPONENT] [-d DEVICE] [-m MANUFACTURER] [-p PRODUCT] [-r] [-s DESCRIPTION] [-b | -n] infile
HPM.1 update file converter
positional arguments:
infile Input file
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
-o OUTFILE, --outfile OUTFILE
output file (derived from input file if not set)
-v FILE_VERSION, --file-version FILE_VERSION
file version information (format major.minor, e.g. 1.2)
-a AUXILLARY, --auxillary AUXILLARY
additional metadata, hex format, 4 bytes
-c COMPONENT, --component COMPONENT
HPM component ID (default 1)
-d DEVICE, --device DEVICE
HPM device ID (hex, default 0)
-m MANUFACTURER, --manufacturer MANUFACTURER
IANA manufacturer ID (hex, 6 bytes max)
-p PRODUCT, --product PRODUCT
IANA product ID (hex, 4 bytes max)
-r, --compress Enable RLE compression (requires DESY MMC)
-s DESCRIPTION, --description DESCRIPTION
Additional description string (max. 21 chars)
-b, --bitfile Force bitfile mode
-n, --binfile Force binfile mode