Texas Instruments 180 to 100 Pin DIMM Adapter TMDSADAP180TO100 TMDSADAP180TO100 데이터 시트

제품 코드
TMDSADAP180TO100
다운로드
페이지 253
SPRS825C – OCTOBER 2012 – REVISED FEBRUARY 2014
3.19 µCRC Module
The µCRC module is part of the master subsystem. This module can be used by Cortex-M3 software to
compute CRC on data and program, which are stored at memory locations that are addressable by
Cortex-M3. On this device, the Cortex-M3 Flash Bank and ROM are mapped to the code space that is
only accessed by the ICODE/DCODE bus of Cortex-M3; and RAMs are mapped on the SRAM space that
is accessible by the SYSTEM bus. Hence, the µCRC module snoops both the DCODE and SYSTEM
buses to support CRC calculation for data and program.
3.19.1 Functional Description
The µCRC module snoops both the DCODE and SYSTEM buses to support CRC calculation for data and
program. To allow interrupts execution in between CRC calculations for a block of data and to discard the
Cortex-M3 literal pool accesses in between executions of the program (which reads data for CRC
calculation), the Cortex-M3 ROM, Flash, and RAMs are mapped to a mirrored memory location. The
µCRC module grabs data from the bus to calculate CRC only if the address of the read data belongs to
mirrored memory space. After grabbing, the µCRC module performs the CRC calculation on the grabbed
data and updates the µCRC Result Register (µCRCRES). This register can be read at any time to get the
calculated CRC for all the previous read data. The µCRC module only supports CRC calculation for byte
accesses. So, in order to calculate the CRC on a block of data, software must perform byte accesses to
all the data. For half-word and word accesses, the µCRC module discards the data and does not update
the µCRCRES register.
NOTE
If a read to a mirrored address space is thrown from the debugger (Code Composer Studio
or any other debug platform), the µCRC module ignores the read data and does not update
the CRC result for that particular read.
3.19.2 CRC Polynomials
The following are the CRC polynomials that are supported by the µCRC module:
CRC8 Polynomial = 0x07
CRC16 Polynomial-1 = 0x8005
CRC16 Polynomial-2 = 0x1021
CRC32 Polynomial = 0x04C11DB7
3.19.3 CRC Calculation Procedure
The software procedure for calculating CRC for a set of data that is stored in Cortex-M3 addressable
memory space is as follows:
1. Save the current value of the µCRC Result Register (µCRCRES) into the stack to allow calculation of
CRC in nested interrupt
2. Clear the µCRC Result Register (µCRCRES) by setting the CLEAR field of the µCRC Control Register
(µCRCCONTROL) to "1"
3. Configure the µCRC polynomials (CRC8, CRC16-P1, CRC16-P2, or CRC32) in the µCRC
Configuration Register (µCRCCONFIG)
4. Read the data from memory locations for which CRC needs to be calculated using mirrored address
5. Read the µCRCRES register to get the calculated CRC value. Pop the last saved value of the CRC
from the stack and store this value into the µCRC Result Register (uCRCRES)
Copyright © 2012–2014, Texas Instruments Incorporated
Device Overview
89
Product Folder Links: