TI BLE-Stack for Bluetooth 4.2 API Documentation  3.02.03.00
Modules | Files | Macros
OAD Image Header

Structure definition for image header and segments, these are prepended to the over the air images. More...

Modules

 OAD Image Header offsets
 
 OAD image types
 
 OAD segment types in the image
 
 OAD wireless technology fields
 

Files

file  oad_image_header.h
 Structure definition for image header and segments, these are prepended to the over the air images.
 

Macros

#define HDR_LEN_WITH_SECURITY_INFO   offsetof(imgHdr_t, secInfoSeg.segTypeSecure) + sizeof(securityInfoSeg_t)
 
#define IMG_START_ADDR_OFFSET   offsetof(imgHdr_t, imgPayload.startAddr)
 
#define OAD_EXTFL_ID_VAL   {'O', 'A', 'D', ' ', 'N', 'V', 'M', '1'}
 OAD_IMG_ID_VAL Magic number to identify OAD image header. It is recommended that the customer adjust these to uniquely identify their device. More...
 
#define OAD_NUM_NV_PGS   1
 
#define SEC_VERIF_STAT_OFFSET   offsetof(imgHdr_t, secInfoSeg.verifStat)
 
#define SEG_SIGERINFO_OFFSET   offsetof(imgHdr_t, secInfoSeg.secSignerInfo)
 
#define SEG_SIGNR_OFFSET   offsetof(imgHdr_t, secInfoSeg.eccSign.sign_r)
 
#define SEG_SIGNS_OFFSET   offsetof(imgHdr_t, secInfoSeg.eccSign.sign_s)
 

Detailed Description

Structure definition for image header and segments, these are prepended to the over the air images.

============================================================================

Header Include

The OAD Image header file should be included in an OAD enabled application as follows:

#include <common/cc26xx/oad/oad_image_header.h>

Overview

The OAD image header is a combined structure that is intended to be prepdended to a binary image before sending over the air. This file defines the structures that are used to build up an image header. Additionally, this header file can be used by the application to read fields within an image header.

General Behavior

For code examples, see the use cases below.

Creating a header structure

Placing/Using a header structure

Macro Definition Documentation

§ HDR_LEN_WITH_SECURITY_INFO

#define HDR_LEN_WITH_SECURITY_INFO   offsetof(imgHdr_t, secInfoSeg.segTypeSecure) + sizeof(securityInfoSeg_t)

Offset in bytes of the sign_r field into the structure securityInfoSeg_t

§ IMG_START_ADDR_OFFSET

#define IMG_START_ADDR_OFFSET   offsetof(imgHdr_t, imgPayload.startAddr)

Offset in bytes of image start address field into the structure imgPayloadSeg_t

§ OAD_EXTFL_ID_VAL

#define OAD_EXTFL_ID_VAL   {'O', 'A', 'D', ' ', 'N', 'V', 'M', '1'}

OAD_IMG_ID_VAL Magic number to identify OAD image header. It is recommended that the customer adjust these to uniquely identify their device.

This define will be filled in conditionally based on DeviceFamily_*

  • DeviceFamily_CC26X2:
    {'C', 'C', '2', '6', 'x', '2', 'R', '1'}
  • DeviceFamily_CC13X2:
    {'C', 'C', '1', '3', 'x', '2', 'R', '1'}
  • DeviceFamily_CC26X0R2:
    {'O', 'A', 'D', ' ', 'I', 'M', 'G', ' '}
  • Else an error will be thrown

Magic number used by entries in the image header table at the beginning of external flash. Note this is different from OAD_IMG_ID_VAL so that the application can determine the difference between an entry in the header table and the start of an OAD image

Note
This is only used by off-chip OAD

§ OAD_NUM_NV_PGS

#define OAD_NUM_NV_PGS   1

NV Page Setting: This define is used ensure the stack is built with a compatible NV setting Note: this restriction does not apply to the stack library configuration for off-chip OAD

§ SEC_VERIF_STAT_OFFSET

#define SEC_VERIF_STAT_OFFSET   offsetof(imgHdr_t, secInfoSeg.verifStat)

Offset in bytes of the sign_r field into the structure securityInfoSeg_t

§ SEG_SIGERINFO_OFFSET

#define SEG_SIGERINFO_OFFSET   offsetof(imgHdr_t, secInfoSeg.secSignerInfo)

Offset in bytes of the signerInfo field into the structure securityInfoSeg_t

§ SEG_SIGNR_OFFSET

#define SEG_SIGNR_OFFSET   offsetof(imgHdr_t, secInfoSeg.eccSign.sign_r)

Offset in bytes of the sign_r field into the structure securityInfoSeg_t

§ SEG_SIGNS_OFFSET

#define SEG_SIGNS_OFFSET   offsetof(imgHdr_t, secInfoSeg.eccSign.sign_s)

Offset in bytes of the sign_r field into the structure securityInfoSeg_t

© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale