35
calculated CRC must be transmitted in order from
highest-order term to lowest-order term. UARTs
transmit characters in order from LSB to MSB. By
storing the CRC this way we hand it to the UART
in the order low-byte to high-byte; the UART
sends each low-bit to hight-bit; and the result is
transmission bit by bit from highest- to lowest-
order term without requiring any bit shuffling on
our part. Reception works similarly
The feedback terms table consists of 256, 32-bit
entries. Notes
The table can be generated at runtime if desired;
code to do so is shown later. It might not be
obvious, but the feedback terms simply represent
the results of eight shift/xor operations for all
combinations of data and CRC register values
The values must be right-shifted by eight bits by
the "updcrc logic; the shift must be unsigned (bring
in zeroes). On some hardware you could probably
optimize the shift in assembler by using byte-swap
instructions polynomial $edb88320
CRC32 code derived from work by Gary S. Brown.
--------------------------------------------------------------------
About Open Source Software included in the
viewer software
This viewer software includes certain open source
or other software
originating from third parties that is subject to the
GNU General Public
License version 3 (GPLv3) and different copyright
licensees, disclaimers and notices. The source code
of software licensed under GPLv3 and different
copyright licenses, disclaimers and notices are
distributed at the website below,
http://www.kenwood.com/gpl
DRV-430_B5A-0959-01_EU_EN.indd 35 2017/12/21 12:13