Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

AURIX™ MCU: Flexible CRC Engine (FCE) polynomials – KBA237885

AURIX™ MCU: Flexible CRC Engine (FCE) polynomials – KBA237885

50 replies posted 25 likes received 25 replies posted

Community Translated: AURIX™ MCU: フレキシブルCRCエンジン(FCE)多項式 - KBA237885

Question: Which polynomials are implemented by the AURIX™ Flexible CRC Engine (FCE)?


The FCE provides a parallel implementation of Cyclic Redundancy Check (CRC) algorithms. The current FCE version for the AURIX™ TC3xx platform implements the IEEE 802.3 Ethernet CRC32, the Autosar CRC32P4, the CCITT CRC16, and the SAE J1850 CRC8 polynomials. The primary target of FCE is to be used as a hardware acceleration engine for software applications or operating system services that use CRC signatures.

The FCE implements the following CRC polynomials:

  • CRC kernel 0: IEEE 802.3 CRC32 Ethernet polynomial:
    - (0x04C11DB7  - x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1)

  • CRC kernel 1: Autosar safety polynomial CRC32P4:
    - (0xF4ACFB13 - x32+x31+x30+x29+x28+x26+x23+x21+x19+x18+x15+x14+x13+x12+x11+x9+x8+x4+x+1)

  • CRC kernel 2: CCITT CRC16 polynomial:
    - (0x1021 - x16+x12+x5+1)

  • CRC kernel 3: SAE J1850 CRC8 polynomial:
    - (0x1D - x8+x4+x3+x2+1)

The polynomial hexadecimal representation covers the coefficients (degree - 1) down to 0.

Note: This KBA applies to the following series of AURIX MCUs:

  • AURIX™ TC3xx series