Part Number: AM2434
Hi TI,
On the AM2434 Sitara processor: Which polynomials does the PRU_ICSSG CRC16/32 accelerator support? Is the polynomial programmable?
Thanks,
Mohan
Hello Mohan,
This thread was assigned to the correct engineer. Please allow some time for a response.
Hi Mohan,
Short answer: The PRU_ICSSG CRC accelerator supports three fixed polynomials, and the polynomial itself is not programmable.
| Mode | Polynomial |
|---|---|
| CRC32 | 0x04C11DB7 |
| CRC16 (standard) | 0x8005 |
| CRC16-CCITT | 0x1021 |
These three configurations are the only ones available 1.
Mode is chosen via the CRC configuration register, not by writing a polynomial value:
Seed behavior is determined by the selected mode. The polynomial coefficients are hardwired and cannot be modified by the user 1.
Implement the CRC in PRU firmware — a lookup-table-based routine on the PRU core is the suggested approach 1. Note the performance tradeoff: the hardware accelerator ingests a 32-byte XOUT 4 bytes at a time and completes in 20 clock cycles for CRC16 or 12 clock cycles for CRC32 2.