![]() |
LPCOpen Platform
v1.03
LPCOpen Platform for NXP LPC Microcontrollers
|
Data Structures | |
| struct | IP_CRC_001_T |
| CRC register block structure. More... | |
Macros | |
| #define | CRC_MODE_POLY_BITMASK ((0x03)) /** CRC polynomial Bit mask */ |
| CRC MODE register description. | |
| #define | CRC_MODE_POLY_CCITT (0x00) /** Select CRC-CCITT polynomial */ |
| #define | CRC_MODE_POLY_CRC16 (0x01) /** Select CRC-16 polynomial */ |
| #define | CRC_MODE_POLY_CRC32 (0x02) /** Select CRC-32 polynomial */ |
| #define | CRC_MODE_WRDATA_BITMASK (0x03 << 2) /** CRC WR_Data Config Bit mask */ |
| #define | CRC_MODE_WRDATA_BIT_RVS (1 << 2) /** Select Bit order reverse for WR_DATA (per byte) */ |
| #define | CRC_MODE_WRDATA_CMPL (1 << 3) /** Select One's complement for WR_DATA */ |
| #define | CRC_MODE_SUM_BITMASK (0x03 << 4) /** CRC Sum Config Bit mask */ |
| #define | CRC_MODE_SUM_BIT_RVS (1 << 4) /** Select Bit order reverse for CRC_SUM */ |
| #define | CRC_MODE_SUM_CMPL (1 << 5) /** Select One's complement for CRC_SUM */ |
| #define | MODE_CFG_CCITT (0x00) /** Pre-defined mode word for default CCITT setup */ |
| #define | MODE_CFG_CRC16 (0x15) /** Pre-defined mode word for default CRC16 setup */ |
| #define | MODE_CFG_CRC32 (0x36) /** Pre-defined mode word for default CRC32 setup */ |
| #define | CRC_SEED_CCITT (0x0000FFFF)/** Initial seed value for CCITT mode */ |
| #define | CRC_SEED_CRC16 (0x00000000)/** Initial seed value for CRC16 mode */ |
| #define | CRC_SEED_CRC32 (0xFFFFFFFF)/** Initial seed value for CRC32 mode */ |
Enumerations | |
| enum | IP_CRC_001_POLY_T { CRC_POLY_CCITT = CRC_MODE_POLY_CCITT, CRC_POLY_CRC16 = CRC_MODE_POLY_CRC16, CRC_POLY_CRC32 = CRC_MODE_POLY_CRC32, CRC_POLY_LAST } |
Functions | |
| STATIC INLINE void | IP_CRC_Init (IP_CRC_001_T *pCRC) |
| Initializes the CRC Engine. | |
| STATIC INLINE void | IP_CRC_DeInit (IP_CRC_001_T *pCRC) |
| De-initializes the CRC Engine. | |
| STATIC INLINE void | IP_CRC_SetPoly (IP_CRC_001_T *pCRC, IP_CRC_001_POLY_T poly, uint32_t flags) |
| Select polynomial for CRC Engine. | |
| void | IP_CRC_UseDefaultConfig (IP_CRC_001_T *pCRC, IP_CRC_001_POLY_T poly) |
| Sets up the CRC engine with defaults based on the polynomial to be used. | |
| STATIC INLINE uint32_t | IP_CRC_GetMode (IP_CRC_001_T *pCRC) |
| Get mode register of CRC Engine. | |
| STATIC INLINE void | IP_CRC_SetMode (IP_CRC_001_T *pCRC, uint32_t mode) |
| Set mode register of CRC Engine. | |
| STATIC INLINE void | IP_CRC_SetSeed (IP_CRC_001_T *pCRC, uint32_t Seed) |
| Set Seed value. | |
| STATIC INLINE uint32_t | IP_CRC_GetSeed (IP_CRC_001_T *pCRC) |
| Get Seed value. | |
| STATIC INLINE void | IP_CRC_Write8 (IP_CRC_001_T *pCRC, uint8_t data) |
| Write 8-bit data to CRC WR Data register. | |
| STATIC INLINE void | IP_CRC_Write16 (IP_CRC_001_T *pCRC, uint16_t data) |
| Write 16-bit data to CRC WR Data register. | |
| STATIC INLINE void | IP_CRC_Write32 (IP_CRC_001_T *pCRC, uint32_t data) |
| Write 32-bit data to CRC WR Data register. | |
| STATIC INLINE uint32_t | IP_CRC_ReadSum (IP_CRC_001_T *pCRC) |
| Read current calculated checksum from CRC Engine. | |
| uint32_t | IP_CRC_CRC8 (IP_CRC_001_T *pCRC, const uint8_t *data, uint32_t bytes) |
| Convenience function for computing a standard CCITT checksum from an 8-bit data block. | |
| uint32_t | IP_CRC_CRC16 (IP_CRC_001_T *pCRC, const uint16_t *data, uint32_t hwords) |
| Convenience function for computing a standard CRC16 checksum from 16-bit data block. | |
| uint32_t | IP_CRC_CRC32 (IP_CRC_001_T *pCRC, const uint32_t *data, uint32_t words) |
| Convenience function for computing a standard CRC32 checksum from 32-bit data block. | |
| #define CRC_MODE_POLY_BITMASK ((0x03)) /** CRC polynomial Bit mask */ |
| #define CRC_MODE_POLY_CCITT (0x00) /** Select CRC-CCITT polynomial */ |
| #define CRC_MODE_POLY_CRC16 (0x01) /** Select CRC-16 polynomial */ |
| #define CRC_MODE_POLY_CRC32 (0x02) /** Select CRC-32 polynomial */ |
| #define CRC_MODE_SUM_BIT_RVS (1 << 4) /** Select Bit order reverse for CRC_SUM */ |
| #define CRC_MODE_SUM_BITMASK (0x03 << 4) /** CRC Sum Config Bit mask */ |
| #define CRC_MODE_SUM_CMPL (1 << 5) /** Select One's complement for CRC_SUM */ |
| #define CRC_MODE_WRDATA_BIT_RVS (1 << 2) /** Select Bit order reverse for WR_DATA (per byte) */ |
| #define CRC_MODE_WRDATA_BITMASK (0x03 << 2) /** CRC WR_Data Config Bit mask */ |
| #define CRC_MODE_WRDATA_CMPL (1 << 3) /** Select One's complement for WR_DATA */ |
| #define CRC_SEED_CCITT (0x0000FFFF)/** Initial seed value for CCITT mode */ |
| #define CRC_SEED_CRC16 (0x00000000)/** Initial seed value for CRC16 mode */ |
| #define CRC_SEED_CRC32 (0xFFFFFFFF)/** Initial seed value for CRC32 mode */ |
| #define MODE_CFG_CCITT (0x00) /** Pre-defined mode word for default CCITT setup */ |
| #define MODE_CFG_CRC16 (0x15) /** Pre-defined mode word for default CRC16 setup */ |
| #define MODE_CFG_CRC32 (0x36) /** Pre-defined mode word for default CRC32 setup */ |
| enum IP_CRC_001_POLY_T |
| uint32_t IP_CRC_CRC16 | ( | IP_CRC_001_T * | pCRC, |
| const uint16_t * | data, | ||
| uint32_t | hwords | ||
| ) |
Convenience function for computing a standard CRC16 checksum from 16-bit data block.
| pCRC | : Pointer to selected CRC Engine register block structure |
| data | : Pointer to the block of 16-bit data |
| hwords | : The number of halfword entries pointed to by data |
| uint32_t IP_CRC_CRC32 | ( | IP_CRC_001_T * | pCRC, |
| const uint32_t * | data, | ||
| uint32_t | words | ||
| ) |
Convenience function for computing a standard CRC32 checksum from 32-bit data block.
| pCRC | : Pointer to selected CRC Engine register block structure |
| data | : Pointer to the block of 32-bit data |
| words | : The number of 32-bit entries pointed to by data |
| uint32_t IP_CRC_CRC8 | ( | IP_CRC_001_T * | pCRC, |
| const uint8_t * | data, | ||
| uint32_t | bytes | ||
| ) |
Convenience function for computing a standard CCITT checksum from an 8-bit data block.
| pCRC | : Pointer to selected CRC Engine register block structure |
| data | : Pointer to the block of 8 bit data |
| bytes | : The number of bytes pointed to by data |
| STATIC INLINE void IP_CRC_DeInit | ( | IP_CRC_001_T * | pCRC | ) |
| STATIC INLINE uint32_t IP_CRC_GetMode | ( | IP_CRC_001_T * | pCRC | ) |
| STATIC INLINE uint32_t IP_CRC_GetSeed | ( | IP_CRC_001_T * | pCRC | ) |
| STATIC INLINE void IP_CRC_Init | ( | IP_CRC_001_T * | pCRC | ) |
| STATIC INLINE uint32_t IP_CRC_ReadSum | ( | IP_CRC_001_T * | pCRC | ) |
| STATIC INLINE void IP_CRC_SetMode | ( | IP_CRC_001_T * | pCRC, |
| uint32_t | mode | ||
| ) |
| STATIC INLINE void IP_CRC_SetPoly | ( | IP_CRC_001_T * | pCRC, |
| IP_CRC_001_POLY_T | poly, | ||
| uint32_t | flags | ||
| ) |
Select polynomial for CRC Engine.
| pCRC | : Pointer to selected CRC Engine register block structure |
| poly | : CRC polynomial selection |
| flags | : An Or'ed value of flags that setup the mode |
| STATIC INLINE void IP_CRC_SetSeed | ( | IP_CRC_001_T * | pCRC, |
| uint32_t | Seed | ||
| ) |
| void IP_CRC_UseDefaultConfig | ( | IP_CRC_001_T * | pCRC, |
| IP_CRC_001_POLY_T | poly | ||
| ) |
| STATIC INLINE void IP_CRC_Write16 | ( | IP_CRC_001_T * | pCRC, |
| uint16_t | data | ||
| ) |
| STATIC INLINE void IP_CRC_Write32 | ( | IP_CRC_001_T * | pCRC, |
| uint32_t | data | ||
| ) |
| STATIC INLINE void IP_CRC_Write8 | ( | IP_CRC_001_T * | pCRC, |
| uint8_t | data | ||
| ) |