Parses the binary header of an SMM firmware image and extracts structured metadata.
This function automatically detects and supports both LW1 and LW2 firmware header versions.
It unpacks the corresponding fields and returns an object containing detailed header information,
including hardware/software versions, header length, binary lengths, CRCs, and other custom fields.
Header version detection:
LW1: header version < 1.0.0
LW2: header version >= 1.0.0
Extracted fields include:
headerVersion: Encoded numeric header version.
swVersion: Encoded software version.
lengthBinaryA / lengthBinaryB: Lengths of the binary parts.
crcA / crcB: Checksums of the binary parts (hexadecimal string).
headerVersionSemver / swVersionSemver: Semantic version strings (used in OBLAC Drives UI).
Returns
An SmmBinaryHeader object containing the parsed header fields.
Throws
If the binary header cannot be parsed or is invalid.
Parameters
smmFirmwareBinary: Uint8Array
Raw binary data of the SMM firmware as a Uint8Array.
Parses the binary header of an SMM firmware image and extracts structured metadata.
This function automatically detects and supports both LW1 and LW2 firmware header versions. It unpacks the corresponding fields and returns an object containing detailed header information, including hardware/software versions, header length, binary lengths, CRCs, and other custom fields.
Header version detection:
Extracted fields include:
headerVersion: Encoded numeric header version.swVersion: Encoded software version.lengthBinaryA/lengthBinaryB: Lengths of the binary parts.crcA/crcB: Checksums of the binary parts (hexadecimal string).headerVersionSemver/swVersionSemver: Semantic version strings (used in OBLAC Drives UI).Returns
An
SmmBinaryHeaderobject containing the parsed header fields.Throws
If the binary header cannot be parsed or is invalid.