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