92 #ifndef OAD_IMAGE_HEADER_H 93 #define OAD_IMAGE_HEADER_H 127 #define BIM_VAR_ADDR 0x20000400 134 extern uint32_t _bim_var;
148 #define OAD_IMG_TYPE_PERSISTENT_APP 0 155 #define OAD_IMG_TYPE_APP 1 162 #define OAD_IMG_TYPE_STACK 2 170 #define OAD_IMG_TYPE_APP_STACK 3 178 #define OAD_IMG_TYPE_NP 4 186 #define OAD_IMG_TYPE_FACTORY 5 194 #define OAD_IMG_TYPE_BIM 6 204 #define OAD_IMG_TYPE_APPSTACKLIB 7 212 #define OAD_IMG_TYPE_USR_BEGIN 16 220 #define OAD_IMG_TYPE_USR_END 31 227 #define OAD_IMG_TYPE_HOST_BEGIN 32 234 #define OAD_IMG_TYPE_HOST_END 63 241 #define OAD_IMG_TYPE_RSVD_BEGIN 64 248 #define OAD_IMG_TYPE_RSVD_END 255 260 #define OAD_WIRELESS_TECH_BLE 0xFFFE 265 #define OAD_WIRELESS_TECH_TIMAC_SUBG 0xFFFD 270 #define OAD_WIRELESS_TECH_TIMAC_2_4G 0xFFFB 275 #define OAD_WIRELESS_TECH_ZIGBEE 0xFFF7 280 #define OAD_WIRELESS_TECH_RF4CE 0xFFEF 285 #define OAD_WIRELESS_TECH_THREAD 0xFFDF 290 #define OAD_WIRELESS_TECH_EASYLINK 0xFFBF 294 #ifdef DeviceFamily_CC26X2 295 #define OAD_IMG_ID_VAL {'C', 'C', '2', '6', 'x', '2', 'R', '1'} 296 #elif defined (DeviceFamily_CC13X2) 297 #define OAD_IMG_ID_VAL {'C', 'C', '1', '3', 'x', '2', 'R', '1'} 298 #elif defined (DeviceFamily_CC26X0R2) 299 #define OAD_IMG_ID_VAL {'O', 'A', 'D', ' ', 'I', 'M', 'G', ' '} 300 #elif defined (DOXYGEN) 311 #define OAD_IMG_ID_VAL 313 #error "Unknown Device Family" 314 #endif //DeviceFamily_CC26X2 324 #define OAD_EXTFL_ID_VAL {'O', 'A', 'D', ' ', 'N', 'V', 'M', '1'} 335 #define CRC_OFFSET offsetof(imgHdr_t, fixedHdr.crc32) 340 #define BIM_VER_OFFSET offsetof(imgHdr_t, fixedHdr.bimVer) 346 #define IMG_DATA_OFFSET BIM_VER_OFFSET 351 #define IMG_INFO_OFFSET offsetof(imgHdr_t, fixedHdr.imgCpStat) 356 #define IMG_COPY_STAT_OFFSET IMG_INFO_OFFSET 361 #define CRC_STAT_OFFSET offsetof(imgHdr_t, fixedHdr.crcStat) 366 #define IMG_TYPE_OFFSET offsetof(imgHdr_t, fixedHdr.imgType) 371 #define BOUNDARY_SEG_OFFSET offsetof(imgHdr_t, fixedHdr.segTypeBd) 377 #define SEG_LEN_OFFSET 4 389 #define SEG_HDR_LEN 12 395 #define OAD_IMG_ID_LEN 8 400 #define OAD_SW_VER_LEN 4 405 #define OAD_IMG_HDR_LEN sizeof(imgFixedHdr_t) 418 #define IMG_BOUNDARY_SEG_ID 0x00 423 #define IMG_PAYLOAD_SEG_ID 0x01 429 #define IMG_NONCOUNT_SEG_ID 0x02 434 #define IMG_SECURITY_SEG_ID 0x03 455 #define DEFAULT_STATE 0xFF 461 #define CRC_VALID 0xFE 467 #define CRC_INVALID 0xFC 472 #define NEED_COPY 0xFE 477 #define COPY_DONE 0xFC 482 #define EFL_MATADATA_HDR_LEN OAD_IMG_HDR_LEN + 8 487 #define INVALID_ADDR 0xFFFFFFFF 492 #define INVALID_LEN INVALID_ADDR 497 #define DEFAULT_CRC 0xFFFFFFFF 504 #if defined (__IAR_SYSTEMS_ICC__) 505 #define TYPEDEF_STRUCT_PACKED __packed typedef struct 506 #elif defined __TI_COMPILER_VERSION || defined __TI_COMPILER_VERSION__ 507 #define TYPEDEF_STRUCT_PACKED typedef struct __attribute__((packed)) 508 #elif defined (__GNUC__) 509 #define TYPEDEF_STRUCT_PACKED typedef struct __attribute__((__packed__)) 517 TYPEDEF_STRUCT_PACKED
543 TYPEDEF_STRUCT_PACKED
561 TYPEDEF_STRUCT_PACKED
581 TYPEDEF_STRUCT_PACKED
584 #if (!defined(STACK_LIBRARY) && (defined(SPLIT_APP_STACK_IMAGE))) uint16_t hdrLen
Total length of the image header.
Definition: oad_image_header.h:533
uint32_t imgVld
This field is RFU.
Definition: oad_image_header.h:528
uint16_t techType
Wireless protocol type BLE/TI-MAC/ZIGBEE etc.
Definition: oad_image_header.h:523
uint32_t ram0StartAddr
RAM entry start address.
Definition: oad_image_header.h:569
uint32_t startAddr
Start address of image on internal flash.
Definition: oad_image_header.h:549
uint32_t prgEntry
Program entry address.
Definition: oad_image_header.h:530
uint16_t wirelessTech
Wireless technology type.
Definition: oad_image_header.h:546
uint32_t crc32
Image's 32-bit CRC value.
Definition: oad_image_header.h:520
uint32_t ram0EndAddr
RAM entry end address.
Definition: oad_image_header.h:570
uint16_t rfu
Reserved bytes.
Definition: oad_image_header.h:534
uint8_t metaVer
Metadata version.
Definition: oad_image_header.h:522
uint8_t imgNo
Image number of 'image type'.
Definition: oad_image_header.h:527
uint16_t wirelessTech
Wireless technology type.
Definition: oad_image_header.h:564
uint8_t segTypeBd
Segment type - for boundary segment.
Definition: oad_image_header.h:563
uint32_t len
Image length in bytes.
Definition: oad_image_header.h:529
uint32_t boundarySegLen
Boundary segment length.
Definition: oad_image_header.h:566
uint8_t bimVer
BIM version.
Definition: oad_image_header.h:521
uint32_t stackStartAddr
Start address of stack image on internal flash.
Definition: oad_image_header.h:567
uint8_t crcStat
CRC status.
Definition: oad_image_header.h:525
uint8_t segTypeImg
Segment type - for Contiguous image payload.
Definition: oad_image_header.h:545
uint32_t stackEntryAddr
Stack start address.
Definition: oad_image_header.h:568
uint8_t imgType
Image Type.
Definition: oad_image_header.h:526
Definition: oad_image_header.h:561
imgPayloadSeg_t imgPayload
Required contiguous image segment.
Definition: oad_image_header.h:587
imgFixedHdr_t fixedHdr
Required core image header.
Definition: oad_image_header.h:583
uint32_t imgSegLen
Payload segment length.
Definition: oad_image_header.h:548
uint8_t imgCpStat
Image copy status.
Definition: oad_image_header.h:524
Definition: oad_image_header.h:581
Definition: oad_image_header.h:517
uint32_t imgEndAddr
Address of the last byte of a contiguous image.
Definition: oad_image_header.h:532
uint8_t rfu
Reserved byte.
Definition: oad_image_header.h:565
uint8_t rfu
Reserved byte.
Definition: oad_image_header.h:547
Definition: oad_image_header.h:543