Difference between revisions of "Firmware file format (.gdf)"

From Granite Devices Knowledge Wiki
Jump to: navigation, search
[checked revision][checked revision]
(Header)
Line 1: Line 1:
GD motor drive firmware file format with file extension .gdf contains embedded software for most of devices based on {{G2.0}} and later. Firmware file is generated by makefirmware utily.
 
 
==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, current=300
+
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

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