AM263P4-Q1: About Memory Cyclic Redundancy Check (MCRC)

Part Number: AM263P4-Q1


Questions about Memory Cyclic Redundancy Check (MCRC):

https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/09_02_00_56/exports/docs/api_guide_am263px/SDL_MCRC_PAGE.html

  • The AM263Px MCU+ SDK 09.02.00 provides an example of using MCRC in Full-CPU mode. Could you provide examples (steps) for using it in Semi-CPU mode and Auto mode?
  • In Auto mode, it is explained that signature verification is performed automatically. If we want to check the verification result in software, is it sufficient to check the CRC Fail interrupt status?
  • What is the maximum sector size? Also, are there any restrictions on the target memory region (for example, alignment constraints for the placement, or limitations if the target memory region is non-contiguous)?
  • For Semi-CPU mode or Auto mode, please provide the formula for calculating the time required for MCRC processing. (For example, if there is one CRC for 2 MB, how should we calculate the processing time?)
  • Hi Imaoka,

    The SDK 11 has MCRC examples for full_cpu, auto_cpu, and semi_cpu.

  • Please provide not only sample code but also specifications for Semi-CPU mode and Auto mode, similar to the Full-CPU mode usage example described in AM263Px MCU+ SDK 09.02.00.

    Additionally, I would appreciate your guidance on the following three points:

    1. In Auto mode, it is explained that signature verification is performed automatically. To check the verification result in software, is it sufficient to check the CRC Fail interrupt status?
    2. What is the maximum sector size? Also, are there any constraints on the target memory region (for example, alignment restrictions for the placement, or limitations if the target memory region is non-contiguous)?
    3. For Semi-CPU mode or Auto mode, please provide the formula for calculating the time required for MCRC processing. For instance, how should we calculate the processing time when there is one CRC for 2 MB of data?
  • Hi Imaoka,

    The MCRC examples in SDK have similar descriptions for auto-mode and semi-cpu mode.

    Please refer to the detailed setup description in device TRM: 

    13.6.4.4 MCRC Programming Examples

    13.6.4.4.3 Example: Semi-CPU Mode

    https://www.ti.com/lit/ug/spruj55d/spruj55d.pdf

    In Auto mode, it is explained that signature verification is performed automatically. To check the verification result in software, is it sufficient to check the CRC Fail interrupt status?

    Yes, it is sufficient to check the CRC fail status for auto -mode.

    What is the maximum sector size? Also, are there any constraints on the target memory region (for example, alignment restrictions for the placement, or limitations if the target memory region is non-contiguous)?

    For 64-bit CRC, the data pattern should be 64-bit, and memory starting address and end address for CRC calculation need to be 64-bit aligned. The sector size is related to the number of data patterns. Both data pattern count and sector count registers must be greater than or equal to one for the counters to count.

    For Semi-CPU mode or Auto mode, please provide the formula for calculating the time required for MCRC processing. For instance, how should we calculate the processing time when there is one CRC for 2 MB of data?

    You can use PMU to measure the processing time for auto-mode and semi-cpu mode. Please refer to the PMU example in SDK.