Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Product List

The µCRC performs the memory check function on the M3 side of the Concerto™ device. Referring back to the Stellaris® boot ROM, it contains a CRC table look-up to perform memory checks while Concerto embeds a dedicated module on the M3 side, and on the control side, as well. This is a new module that can be used to calculate CRC values. The µCRC module is used by the M3 software to compute CRC on the M3 addressable memories to check memory integrity during application run-time. There are four fixed, pre-defined polynomials. Depending on the standards a developer’s application has to be compliant with, the CRC computation can generally be done with one of these four polynomials. Once the µCRC is configured using its configuration register which is named µCRCconfig in the specification, it snoops the AHB bus of the M3 core to detect the read memory locations and grabs the read data from the bus to compute CRC. The computed CRC is accumulated in the CRC results register, which is µCRCRes. The SEC-DATA, or the secured data strobe, indicates whether the data appearing on the HR data bus is actually originating from secured memory or not. In case data is coming from a secured area, then the µCRC clock register is used to give the µCRC module the ability to calculate CRC unsecured memories. This includes execute-only Flash sectors. The M3 ROM, Flash, and RAM are mapped to a mirrored memory location, meaning that memory blocks are physically the same but have two addresses. The CRC module in this can grab data from the AHB bus only if the data is coming from an address that matches the mirroring address.

PTM Published on: 2012-08-01