Common#
Common bootloader interface defines and functions.
See bootloader-interface.h for source code.
Bootloader Numerical Definitions#
These are numerical definitions for the possible bootloader types and a typedef of the bootloader base type.
Numerical definition for a bootloader type.
Numerical definition for a bootloader type.
Numerical definition for a bootloader type.
Numerical definition for a bootloader type.
Numerical definition for a bootloader type.
Bootloader type definitions#
These are the type definitions for the bootloader.
Define the bootloader base type.
Define the bootloader extended type.
Functions#
Returns the bootloader base type the application was built for.
Returns the extended bootloader type of the bootloader that is present on the chip.
Returns the version of the installed bootloader, regardless of its type.
Return extended bootloader version information, if supported. This API is not supported for EM2XX chips and only returns extra information on bootloaders built on or after the 4.7 release.
Macros#
Macro returning the base type of a bootloader when given an extended type.
Macro returning the extended type of a bootloader when given a base type and extendedSpecifier.
Macro defining the extended NULL bootloader type.
Macro defining the extended standalone unknown bootloader type.
Macro defining the extended standalone UART bootloader type.
Macro defining the extended standalone OTA and UART bootloader type.
Macro defining the extended standalone USB bootloader type.
Macro defining the extended standalone OTA and USB bootloader type.
Macro defining the extended application unknown bootloader type.
Macro defining the extended application SPI bootloader type.
Macro defining the extended application I2C bootloader type.
Macro defining a type for the local storage app bootloader.
Define an invalid bootloader version.
Macro defining the customer application version stored in the ApplicationProperties_t struct.
Macro defining the customer application capabilities stored in the ApplicationProperties_t struct.
Macro defining the customer application product ID stored in the ApplicationProperties_t struct.
Macro defining the support for the MPSI protocol stored in the capabilities field of the ApplicationProperties_t struct.
Macro defining the bit position that corresponds to MPSI support in the capabilities field of the ApplicationProperties_t struct.
Macro defining the capabilities that this application has. This value is set in the capabilities field of the ApplicationProperties_t struct.
Bootloader Numerical Definitions Documentation#
BL_TYPE_NULL#
#define BL_TYPE_NULLValue:
(0)
Numerical definition for a bootloader type.
43
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_TYPE_STANDALONE#
#define BL_TYPE_STANDALONEValue:
(1)
Numerical definition for a bootloader type.
44
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_TYPE_APPLICATION#
#define BL_TYPE_APPLICATIONValue:
(2)
Numerical definition for a bootloader type.
45
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_TYPE_BOOTLOADER#
#define BL_TYPE_BOOTLOADERValue:
(3)
Numerical definition for a bootloader type.
46
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_TYPE_SMALL_BOOTLOADER#
#define BL_TYPE_SMALL_BOOTLOADERValue:
(4)
Numerical definition for a bootloader type.
47
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
Bootloader type definitions Documentation#
BlBaseType#
typedef uint8_t BlBaseType
Define the bootloader base type.
58
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BlExtendedType#
typedef uint16_t BlExtendedType
Define the bootloader extended type.
62
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
Function Documentation#
halBootloaderGetType#
BlBaseType halBootloaderGetType (void )
Returns the bootloader base type the application was built for.
N/A |
Returns
81
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
halBootloaderGetInstalledType#
BlExtendedType halBootloaderGetInstalledType (void )
Returns the extended bootloader type of the bootloader that is present on the chip.
N/A |
143
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
halGetBootloaderVersion#
uint16_t halGetBootloaderVersion (void )
Returns the version of the installed bootloader, regardless of its type.
N/A |
Returns
Version if bootloader installed, or BOOTLOADER_INVALID_VERSION. A returned version of 0x1234U would indicate version 1.2 build 34
155
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
halGetExtendedBootloaderVersion#
void halGetExtendedBootloaderVersion (uint32_t * getEmberVersion, uint32_t * customerVersion)
Return extended bootloader version information, if supported. This API is not supported for EM2XX chips and only returns extra information on bootloaders built on or after the 4.7 release.
N/A | getEmberVersion | If specified, we will return the full 32bit ember version for this bootloader. Format is major, minor, patch, doc (4bit nibbles) followed by a 16bit build number. |
N/A | customerVersion | This will return the 32bit value specified in CUSTOMER_BOOTLOADER_VERSION at build time. |
167
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
Macro Definition Documentation#
BOOTLOADER_BASE_TYPE#
#define BOOTLOADER_BASE_TYPEValue:
(extendedType)
Macro returning the base type of a bootloader when given an extended type.
86
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BOOTLOADER_MAKE_EXTENDED_TYPE#
#define BOOTLOADER_MAKE_EXTENDED_TYPEValue:
(baseType, extendedSpecifier)
Macro returning the extended type of a bootloader when given a base type and extendedSpecifier.
92
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_NULL#
#define BL_EXT_TYPE_NULLValue:
((BL_TYPE_NULL << 8U) | 0x00U)
Macro defining the extended NULL bootloader type.
97
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_STANDALONE_UNKNOWN#
#define BL_EXT_TYPE_STANDALONE_UNKNOWNValue:
((BL_TYPE_STANDALONE << 8U) | 0x00U)
Macro defining the extended standalone unknown bootloader type.
101
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_SERIAL_UART#
#define BL_EXT_TYPE_SERIAL_UARTValue:
((BL_TYPE_STANDALONE << 8U) | 0x01U)
Macro defining the extended standalone UART bootloader type.
105
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_SERIAL_UART_OTA#
#define BL_EXT_TYPE_SERIAL_UART_OTAValue:
((BL_TYPE_STANDALONE << 8U) | 0x03U)
Macro defining the extended standalone OTA and UART bootloader type.
112
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_EZSP_SPI#
#define BL_EXT_TYPE_EZSP_SPIValue:
((BL_TYPE_STANDALONE << 8U) | 0x04U)
113
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_EZSP_SPI_OTA#
#define BL_EXT_TYPE_EZSP_SPI_OTAValue:
((BL_TYPE_STANDALONE << 8U) | 0x06U)
114
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_SERIAL_USB#
#define BL_EXT_TYPE_SERIAL_USBValue:
((BL_TYPE_STANDALONE << 8U) | 0x07U)
Macro defining the extended standalone USB bootloader type.
118
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_SERIAL_USB_OTA#
#define BL_EXT_TYPE_SERIAL_USB_OTAValue:
((BL_TYPE_STANDALONE << 8U) | 0x08U)
Macro defining the extended standalone OTA and USB bootloader type.
122
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_APP_UNKNOWN#
#define BL_EXT_TYPE_APP_UNKNOWNValue:
((BL_TYPE_APPLICATION << 8U) | 0x00U)
Macro defining the extended application unknown bootloader type.
126
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_APP_SPI#
#define BL_EXT_TYPE_APP_SPIValue:
((BL_TYPE_APPLICATION << 8U) | 0x01U)
Macro defining the extended application SPI bootloader type.
130
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_APP_I2C#
#define BL_EXT_TYPE_APP_I2CValue:
((BL_TYPE_APPLICATION << 8U) | 0x02U)
Macro defining the extended application I2C bootloader type.
134
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BL_EXT_TYPE_APP_LOCAL_STORAGE#
#define BL_EXT_TYPE_APP_LOCAL_STORAGEValue:
((BL_TYPE_APPLICATION << 8U) | 0x03U)
Macro defining a type for the local storage app bootloader.
138
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
BOOTLOADER_INVALID_VERSION#
#define BOOTLOADER_INVALID_VERSIONValue:
0xFFFF
Define an invalid bootloader version.
147
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
CUSTOMER_APPLICATION_VERSION#
#define CUSTOMER_APPLICATION_VERSIONValue:
0
Macro defining the customer application version stored in the ApplicationProperties_t struct.
173
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
CUSTOMER_APPLICATION_CAPABILITIES#
#define CUSTOMER_APPLICATION_CAPABILITIESValue:
0
Macro defining the customer application capabilities stored in the ApplicationProperties_t struct.
Note
The capabilities field in the ApplicationProperties_t struct is shared with other values.
182
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
CUSTOMER_APPLICATION_PRODUCT_ID#
#define CUSTOMER_APPLICATION_PRODUCT_IDValue:
{ 0 }
Macro defining the customer application product ID stored in the ApplicationProperties_t struct.
189
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
MPSI_PLUGIN_SUPPORT#
#define MPSI_PLUGIN_SUPPORTValue:
0
Macro defining the support for the MPSI protocol stored in the capabilities field of the ApplicationProperties_t struct.
198
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
APPLICATION_PROPERTIES_CAPABILITIES_MPSI_SUPPORT_BIT#
#define APPLICATION_PROPERTIES_CAPABILITIES_MPSI_SUPPORT_BITValue:
31
Macro defining the bit position that corresponds to MPSI support in the capabilities field of the ApplicationProperties_t struct.
212
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h
APPLICATION_PROPERTIES_CAPABILITIES#
#define APPLICATION_PROPERTIES_CAPABILITIESValue:
Macro defining the capabilities that this application has. This value is set in the capabilities field of the ApplicationProperties_t struct.
218
of file /Users/vihuszar/Git/EmbeddedSoftware/super/platform/base/hal/micro/bootloader-interface.h