Difference between revisions of "Firmware file format (.gdf)"
[checked revision] | [checked revision] |
(→Header) |
|||
Line 1: | Line 1: | ||
− | |||
==File format byte by byte== | ==File format byte by byte== | ||
All multibyte integers are stored LSB first. | All multibyte integers are stored LSB first. | ||
+ | ==GDF version 300== | ||
===Header=== | ===Header=== | ||
IDString - 4 bytes, always="GDFW" | IDString - 4 bytes, always="GDFW" | ||
− | BLFileVersion - 2 bytes, | + | BLFileVersion - 2 bytes, value=300 |
TargetDriveType - 2 bytes, Argon=4000, Ion=11000, Atomi=14000 | TargetDriveType - 2 bytes, Argon=4000, Ion=11000, Atomi=14000 | ||
Line 20: | Line 20: | ||
===File checksum=== | ===File checksum=== | ||
FileCksum - 4 bytes calculated from the current file. Simply sum of all unsigned bytes in file except CKSum itself | FileCksum - 4 bytes calculated from the current file. Simply sum of all unsigned bytes in file except CKSum itself | ||
+ | |||
+ | |||
+ | ==GDF version 310 - draft== | ||
+ | ===Header=== | ||
+ | IDString - 4 bytes, always="GDFW" | ||
+ | |||
+ | BLFileVersion - 2 bytes, value=310 | ||
+ | |||
+ | TargetDriveType - 2 bytes, Argon=4000, Ion=11000, Atomi=14000 | ||
+ | |||
+ | HostFWbytes - 4 bytes, number of bytes for STM32 CPU | ||
+ | |||
+ | GCFWbytes - 4 bytes, number of bytes for GraniteCore CPU or 0xffffffff if not included | ||
+ | |||
+ | BLBackwardsCompatibilityVersion - 2 bytes. Value indicates if file is backwards comaptible with older versions (i.e. BLFileVersion may be >310 but if BLBackwardsCompatibilityVersion==310, then software supporting only up to 310 will be able to use this file) | ||
+ | |||
+ | AdditionalHeaderVariabalesAmount - 4 bytes, number of following structures in the header | ||
+ | |||
+ | ''Following items are optional - following ValueID & Value pairs repeats AdditionalHeaderVariabalesAmount times'' | ||
+ | |||
+ | ValueID - 2 bytes, specifies type of data | ||
+ | |||
+ | Value - 4 bytes | ||
+ | |||
+ | ''List of currently supported ValueIDs'' | ||
+ | * ValueID=100: Value contains unique binary file ID used by SimpleMotion deployment tool API | ||
+ | |||
+ | ===Data=== | ||
+ | Data of HostFW begins. Amount of bytes is HostFWbytes | ||
+ | |||
+ | Data of GCFW begins. Amount of bytes is GCFWbytes | ||
+ | |||
+ | ===File checksum=== | ||
+ | FileCksum - 4 bytes calculated from the current file. Simply sum of all unsigned bytes in file except CKSum itself | ||
+ | |||
+ | [[Category:Development]] | ||
[[Category:Development]] | [[Category:Development]] |
Revision as of 12:01, 9 June 2017
Contents
File format byte by byte
All multibyte integers are stored LSB first.
GDF version 300
Header
IDString - 4 bytes, always="GDFW"
BLFileVersion - 2 bytes, value=300
TargetDriveType - 2 bytes, Argon=4000, Ion=11000, Atomi=14000
HostFWbytes - 4 bytes, number of bytes for STM32 CPU
GCFWbytes - 4 bytes, number of bytes for GraniteCore CPU or 0xffffffff if not included
Data
Data of HostFW begins. Amount of bytes is HostFWbytes
Data of GCFW begins. Amount of bytes is GCFWbytes
File checksum
FileCksum - 4 bytes calculated from the current file. Simply sum of all unsigned bytes in file except CKSum itself
GDF version 310 - draft
Header
IDString - 4 bytes, always="GDFW"
BLFileVersion - 2 bytes, value=310
TargetDriveType - 2 bytes, Argon=4000, Ion=11000, Atomi=14000
HostFWbytes - 4 bytes, number of bytes for STM32 CPU
GCFWbytes - 4 bytes, number of bytes for GraniteCore CPU or 0xffffffff if not included
BLBackwardsCompatibilityVersion - 2 bytes. Value indicates if file is backwards comaptible with older versions (i.e. BLFileVersion may be >310 but if BLBackwardsCompatibilityVersion==310, then software supporting only up to 310 will be able to use this file)
AdditionalHeaderVariabalesAmount - 4 bytes, number of following structures in the header
Following items are optional - following ValueID & Value pairs repeats AdditionalHeaderVariabalesAmount times
ValueID - 2 bytes, specifies type of data
Value - 4 bytes
List of currently supported ValueIDs
- ValueID=100: Value contains unique binary file ID used by SimpleMotion deployment tool API
Data
Data of HostFW begins. Amount of bytes is HostFWbytes
Data of GCFW begins. Amount of bytes is GCFWbytes
File checksum
FileCksum - 4 bytes calculated from the current file. Simply sum of all unsigned bytes in file except CKSum itself