Byte-Level Bit Reversal And Byte Reordering - Silicon Laboratories EFR32xG14 Wireless Gecko Reference Manual

Table of Contents

Advertisement

29.3.5 Byte-Level Bit Reversal and Byte Reordering

The byte-level bit reversal and byte reordering operations occur before the data is used in the CRC calculation. Byte reordering can
occur on words or half words. The hardware ignores the BYTEREVERSE field with any byte writes or operations with byte mode ena-
bled (BYTEMODE = 1), but the bit reversal settings (BITREVERSE) are still applied to the byte. 32-bit little endian MSB-first data can
be treated like 32-bit little endian LSB-first data, as shown in
1002. In this example, 32-bit data is written to GPCRC_INPUTDATA, BYTEREVERSE is set for byte ordering, and BITREVERSE is set
for byte-level bit reversal.
Input data is big endian, MSB-
first
BYTEREVERSE = 1
BITREVERSE = 1
Data is now little endian, LSB-
first for CRC calculation
When handling 16-bit data, the byte reordering function only swap the two lowest bytes and clear the two highest bytes, as shown in
Figure 29.4 Data Ordering Example - 16-bit MSB -first to LSB-first on page
PUTDATAHWORD, BYTEREVERSE is set for byte ordering, and BITREVERSE is set for byte-level bit reversal.
silabs.com | Building a more connected world.
Figure 29.3 Data Ordering Example - 32-bit MSB -first to LSB-first on page
Byte 3
Byte 0
Byte 0
Figure 29.3. Data Ordering Example - 32-bit MSB -first to LSB-first
GPCRC - General Purpose Cyclic Redundancy Check
Byte 2
Byte 1
Byte 1
Byte 2
Byte 1
Byte 2
1003. In this example, 16-bit data is written to GPCRC_IN-
Reference Manual
Byte 0
Byte 3
Byte 3
Rev. 1.1 | 1002

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the EFR32xG14 Wireless Gecko and is the answer not in the manual?

Questions and answers

Table of Contents