Kinetis Bootloader  2.0.0
Common bootloader for Kinetis devices
Application CRC Check

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

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.