Clarification Required on ECC Support for External Memory Interfaces in MIMXRT1170 and MIMXRT1180 Hello NXP Team, We are evaluating the MIMXRT1170 and MIMXRT1180 for a critical application where memory integrity is a key requirement. As a result, understanding the exact ECC coverage on these devices is very important for our architecture and device selection process. After reviewing the available documentation, we were unable to find a clear summary of which external memory interfaces provide ECC protection and how that ECC is implemented. 1. External Interface ECC Coverage For both MIMXRT1170 and MIMXRT1180, which of the following interfaces support ECC? FlexSPI NOR Flash FlexSPI HyperFlash FlexSPI HyperRAM SEMC SDRAM SEMC SRAM/PSRAM eMMC SD Card Interface Other external memory interfaces (if applicable) 2. ECC Implementation For each supported interface: Is ECC provided natively by the hardware controller? Is ECC automatically active in hardware, or does it require software configuration? 3. XECC Usage (RT1170) The Reference Manual discusses the XECC module; however, it is not completely clear how it relates to external memories. Could you clarify: Which memories/interfaces can be protected through XECC? Is XECC intended only for internal memories, or can it also protect data stored in external SDRAM, SRAM, HyperRAM, Flash, etc.? Are there any usage examples or application notes demonstrating XECC protection for external memory interfaces? Regards, Pooja Re: Clarification Required on ECC Support for External Memory Interfaces in MIMXRT1170 and MIMXRT118 i.MX RT1170 ECC Application You can refer to the AN13204 for ECC enablement. ECC mainly for internal memory, For external memory, ECC is mainly for NAND device both parallel and serial. You can check UM for detailed information. What kind of memory do you want to use for ECC? Re: Clarification Required on ECC Support for External Memory Interfaces in MIMXRT1170 and MIMXRT118 Hi @Pooja_04 ,
Thank you for your questions!
1. External Interface ECC Coverage
MIMXRT1170 The FlexSPI and SEMC controllers do not themselves provide generic native ECC for the external memory data path. However, the RT1170 integrates three independent External ECC Controller (XECC) instances, associated respectively with FlexSPI1, FlexSPI2, and SEMC. eMMC and SD Card (via uSDHC) have no MCU-side ECC.
MIMXRT1180 The currently available product documentation explicitly specifies hardware ECC for the SEMC Raw NAND interface. It does not specify generic controller-side ECC for SEMC SDRAM/SRAM, FlexSPI NOR/HyperFlash/HyperRAM, or SD/eMMC, and the RT1180 documentation does not identify the RT1170-style XECC_FLEXSPI / XECC_SEMC modules. eMMC/SD devices may implement internal media ECC, and the SD/eMMC protocol uses CRC for transfer-error detection, but these mechanisms should not be treated as MCU-side end-to-end ECC protection.
2. ECC Implementation
MIMXRT1170 — XECC (external memories):
ECC is not provided natively by the FlexSPI/SEMC controllers; it is provided by the dedicated XECC modules.
ECC is not enabled automatically. Software (or the applicable ROM/fuse flow, via fuse) must configure the ECC address regions and enable read/write ECC processing.
Each XECC instance supports four configurable protected address windows, and it expands each 32-bit data word with 32 bits of ECC.
The complete region must be initialized (preloaded) before it is read; otherwise reads will raise ECC errors.
MIMXRT1180 — SEMC NAND hardware ECC:
Provided natively by the SEMC controller hardware for the Raw NAND interface (8/16-bit).
3. XECC Usage (RT1170)
XECC is intended for external memories. It is not for internal memories — internal TCM/Cache/OCRAM use separate ECC mechanisms (core-built-in ECC and the FlexRAM/MECC controllers).
XECC can protect data in external SDRAM, SRAM/PSRAM (behind SEMC) and NOR Flash / HyperFlash / HyperRAM (behind FlexSPI1/FlexSPI2).
Usage examples / documentation:
AN13204 — "i.MX RT1170 ECC Application" (covers XECC for external memory, fuse/software configuration, ROM preload, error injection): https://www.nxp.com/docs/en/application-note/AN13204.pdf (companion code: AN13204SW)
MCUXpresso SDK XECC examples (RT1170/RT1160 only)
i.MX RT1170 Reference Manual (IMXRT1170RM) — dedicated XECC chapter.
Thus, if ECC protection of external SDRAM/SRAM or FlexSPI Flash/HyperRAM is a hard requirement for your critical application, the RT1170 (via XECC) meets this, whereas the RT1180 does not provide an equivalent external-ECC controller — on the RT1180, controller-side external ECC is limited to the SEMC Raw NAND interface.
Best regards, Gavin
記事全体を表示