Data Structures | |
| struct | platform_dct_bt_config_t |
| struct | platform_dct_ota2_config_t |
| struct | platform_dct_p2p_config_t |
Defines Device Configuration Table (DCT) structures
Instructions for adding to the DCT
1) Basic Rules:
--> Fill to end platform_data_dct_t on an 8-byte boundary so that app_dct is 8-byte aligned <–
WE CANNOT CHANGE THE LAYOUT OF platform_dct_header_t FROM THE SDK VERSION THE BOOTLOADER WAS BUILT WITH DO NOT ADD OR REMOVE ANY FIELDS OR STRUCTURES BETWEEN platform_dct_header_t AND platform_dct_version_t !!!
The Bootloader only knows about platform_dct_header_t for the SDK it was built upon. The Bootloader is not upgrade-able, so platform_dct_header_t MUST match the platform_dct_header_t and all fields be used in the same manner as the Bootloader's SDK.
--> DO NOT ADD OR REMOVE ANY FIELDS OR STRUCTURES BETWEEN platform_dct_header_t AND platform_dct_version_t !!! <–
If you need to add something that you believe should be in platform_dct_header_t. see if it makes sense to put the field into platform_dct_version_h. Doing this will make maintenance much much simpler.
---> ONLY ADD DATA TO THE END of platform_dct_data_t after platform_dct_version_h !!! <—
Changing fields in existing structures (or new structures to the end of platform_dct_data_t) will require code to update from the previous version of the DCT to the new version you are creating.
All sub-structures MUST be a multiple of 4 bytes in size.
All previously optional sub-structures are always defined. This simplifies updating SDKs in the future.
If you are adding an "optional" structure, see how bt, p2p, and ota2 are handled below using flags to indicate if the structures are in use or not. WICED_DCT_INCLUDE_BT_CONFIG WICED_DCT_INCLUDE_P2P_CONFIG WICED_DCT_INCLUDE_OTA2_CONFIG
---> ONLY ADD DATA TO THE END of platform_dct_data_t after platform_dct_version_h !!! <—
2) Steps to ADD data to the end of platform_dct_data_t
3) If you are deprecating a field in an existing structure
4) If you must change fields in an existing DCT structure
Instructions for an application that is going to be upgraded on a system built with an older SDK.