Application CRC Check
Bootloader

Application CRC check API. More...

Collaboration diagram for Application CRC Check:

## Data Structures

struct | crc_checksum_header_t
| CRC Checksum Header. More...

## Enumerations

enum | _crc_check_status { kStatus_AppCrcCheckPassed = MAKE_STATUS(kStatusGroup_AppCrcCheck, 0), kStatus_AppCrcCheckFailed = MAKE_STATUS(kStatusGroup_AppCrcCheck, 1), kStatus_AppCrcCheckInactive, kStatus_AppCrcCheckInvalid, kStatus_AppCrcCheckOutOfRange }
| Application crc check status codes. More...

## Crc check

void | restore_crc_check_failure_pin (void)
| Restore crc check failure pin to default state.
void | init_crc_check_status (property_store_t *propertyStore)
| Initialize crc check status property based on BCA related fields.
bool | is_application_crc_check_pass (void)
| Compare the CRC on a range of flash(specified in BCA) against a precomputed CRC value(stored in the BCA).
uint32_t | calculate_application_crc32 (crc_checksum_header_t *header, uint32_t crcHeaderStart)
| Calculate CRC checksum according to specified checksum header. More...

## Usage Information

Application CRC check API.

## Data Structure Documentation

struct crc_checksum_header_t

CRC Checksum Header.

Data Fields
uint32_t | crcByteCount | [08:0b]
uint32_t | crcExpectedValue | [0c:0f]
uint32_t | crcStartAddress | [04:07]
uint32_t | tag | [00:03] Tag value used to validate the bootloader configuration data. Must be set to 'kcfg'.

## Enumeration Type Documentation

enum _crc_check_status

Application crc check status codes.

Enumerator
kStatus_AppCrcCheckPassed | Crc check is valid and passed.
kStatus_AppCrcCheckFailed | Crc check is valid but failed.
kStatus_AppCrcCheckInactive | Crc check is inactive, Needs to be verified.
kStatus_AppCrcCheckInvalid | Crc check is invalid, As the BCA is invalid or crc parameters are unset (all 0xff bytes).
kStatus_AppCrcCheckOutOfRange | Crc check is valid but addresses are out of range.

## Function Documentation

uint32_t calculate_application_crc32 | ( | crc_checksum_header_t * | header,
|  | uint32_t | crcHeaderStart
| ) |  |

Calculate CRC checksum according to specified checksum header.

Calculate CRC checksum according to specified checksum header.