TI BLE5-Stack API Documentation  1.01.01.00
Modules | Files | Data Structures | 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 lengths
 
 OAD image types
 
 OAD segment op codes
 
 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.
 

Data Structures

struct  boundarySeg_t
 
struct  imgFixedHdr_t
 
struct  imgHdr_t
 
struct  imgPayloadSeg_t
 

Macros

#define BIM_VER   0x3
 
#define COPY_DONE   0xFC
 
#define CRC_INVALID   0xFC
 
#define CRC_VALID   0xFE
 
#define DEFAULT_CRC   0xFFFFFFFF
 
#define DEFAULT_STATE   0xFF
 
#define EFL_MATADATA_HDR_LEN   OAD_IMG_HDR_LEN + 8
 
#define INVALID_ADDR   0xFFFFFFFF
 
#define INVALID_LEN   INVALID_ADDR
 
#define META_VER   0x1
 
#define NEED_COPY   0xFE
 
#define OAD_EXTFL_ID_VAL   {'O', 'A', 'D', ' ', 'N', 'V', 'M', '1'}
 
#define OAD_IMG_ID_VAL
 

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:

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

§ BIM_VER

#define BIM_VER   0x3

Version of BIM this image is intended to work with

Warning
This is not intended to be changed

§ COPY_DONE

#define COPY_DONE   0xFC

FlagimgCpStat indicating the image is already copied

§ CRC_INVALID

#define CRC_INVALID   0xFC

Flag for crcStat indicating the CRC of the image is invalid

§ CRC_VALID

#define CRC_VALID   0xFE

Flag for crcStat indicating the CRC of the image is valid

§ DEFAULT_CRC

#define DEFAULT_CRC   0xFFFFFFFF

An invalid address as shown by unprogrammed flash.

§ DEFAULT_STATE

#define DEFAULT_STATE   0xFF

Default state of unprogrammed flash in an image header field

§ EFL_MATADATA_HDR_LEN

#define EFL_MATADATA_HDR_LEN   OAD_IMG_HDR_LEN + 8

Length of image external flash image header

§ INVALID_ADDR

#define INVALID_ADDR   0xFFFFFFFF

An invalid address as shown by unprogrammed flash

§ INVALID_LEN

#define INVALID_LEN   INVALID_ADDR

An invalid length as shown by unprogrammed flash.

§ META_VER

#define META_VER   0x1

Version of metadata that defined this image header

Warning
This is not intended to be changed

§ NEED_COPY

#define NEED_COPY   0xFE

FlagimgCpStat indicating the image should be copied

§ OAD_EXTFL_ID_VAL

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

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_IMG_ID_VAL

#define 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
Copyright 2018, Texas Instruments Incorporated