<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Fault Injection of ECC error on RAM in S32K</title>
    <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2325530#M57083</link>
    <description>&lt;P&gt;I want to inject the ECC error on RAM using our own function and a pseudocode or samplecode for reference.&lt;BR /&gt;&lt;BR /&gt;Also Could you mention more details on how to inject fault without using any module or drivers . or let me know if it is a feasible way to do that.&lt;/P&gt;</description>
    <pubDate>Tue, 03 Mar 2026 10:15:20 GMT</pubDate>
    <dc:creator>Bhumika_NL</dc:creator>
    <dc:date>2026-03-03T10:15:20Z</dc:date>
    <item>
      <title>Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2324120#M57025</link>
      <description>&lt;P&gt;I need to inject ECC errors on Different types of RAM on real Hardware.&lt;BR /&gt;Also I need to read them on all available types of RAM.&lt;BR /&gt;I Need a exact way on how to do this .&lt;BR /&gt;&lt;BR /&gt;Also i am using S32K3GHS Micro-controller .&lt;BR /&gt;please provide some kind of document or some methodology on how to do this.&lt;/P&gt;</description>
      <pubDate>Fri, 27 Feb 2026 05:58:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2324120#M57025</guid>
      <dc:creator>Bhumika_NL</dc:creator>
      <dc:date>2026-02-27T05:58:46Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2324325#M57028</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/260273"&gt;@Bhumika_NL&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;NXP provides Safety Peripheral Drivers (SPD) for the S32K3xx family.&lt;BR /&gt;The eMCEM driver controls the EIM module, which is used to inject ECC errors.&lt;BR /&gt;The SPD drivers are available free of charge as part of the S32K3xx Standard Software Package:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D" target="_blank"&gt;https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;NXP also offers the Safety Software Framework (SAF) as a paid premium solution, which includes SPD as part of its package.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The full SAF version is now also available for &lt;U&gt;evaluation and development purposes only&lt;/U&gt; under NDA free of charge.&lt;BR /&gt;If you are interested, please contact your assigned NXP FAE (if your company has one) or reach out through your local NXP distributors.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/design/design-center/software/functional-safety-software/s32-safety-software-framework-saf-and-safety-peripheral-drivers-spd:SAF" target="_blank"&gt;https://www.nxp.com/design/design-center/software/functional-safety-software/s32-safety-software-framework-saf-and-safety-peripheral-drivers-spd:SAF&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Daniel&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 27 Feb 2026 10:10:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2324325#M57028</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2026-02-27T10:10:27Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2325530#M57083</link>
      <description>&lt;P&gt;I want to inject the ECC error on RAM using our own function and a pseudocode or samplecode for reference.&lt;BR /&gt;&lt;BR /&gt;Also Could you mention more details on how to inject fault without using any module or drivers . or let me know if it is a feasible way to do that.&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2026 10:15:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2325530#M57083</guid>
      <dc:creator>Bhumika_NL</dc:creator>
      <dc:date>2026-03-03T10:15:20Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2325997#M57101</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/260273"&gt;@Bhumika_NL&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Have a look at this example:&lt;BR /&gt;&lt;A href="https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-EIM-ERM-DTCM-SRAM-Baremetal-v3-0-S32DS36/ta-p/2193534" target="_blank"&gt;https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-EIM-ERM-DTCM-SRAM-Baremetal-v3-0-S32DS36/ta-p/2193534&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Wed, 04 Mar 2026 07:06:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2325997#M57101</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2026-03-04T07:06:38Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2338196#M57484</link>
      <description>Hello Daniel ,&lt;BR /&gt;Thank you so much for your response &lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;BR /&gt;Apologies for not checking this response .&lt;BR /&gt;&lt;BR /&gt;I checked your example , I was more expecting like a kind of pseudocode which I could use it to develop my own function for detecting ECC errors</description>
      <pubDate>Tue, 24 Mar 2026 07:19:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2338196#M57484</guid>
      <dc:creator>Bhumika_NL</dc:creator>
      <dc:date>2026-03-24T07:19:43Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2338269#M57490</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/260273"&gt;@Bhumika_NL&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Unfortunately, we don't have such pseudo code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Daniel&lt;/P&gt;</description>
      <pubDate>Tue, 24 Mar 2026 08:57:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2338269#M57490</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2026-03-24T08:57:24Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2345021#M57710</link>
      <description>&lt;P&gt;Hello&amp;nbsp;danielmartynek&amp;nbsp;,&lt;BR /&gt;&lt;BR /&gt;I found out one of the module in reference manual where it is mentioned like we could inject ECC errors on different types of memories .&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;45.2&lt;BR /&gt;Overview&lt;BR /&gt;The Error Injection Module (EIM) is mainly used for diagnostic purposes. It provides a method to test the diagnostics (memory ECC, interconnect parity) by error injection in the field. See the chip-specific EIM information to determine which functional safety features are supported by this method.&lt;BR /&gt;EIM enables you to inject artificial errors on error-checking mechanisms of a system, such as ECC for RAM read data and parity bits. For each such mechanism that EIM supports on the chip, EIM can inject single-bit and multi-bit inversions on data in the applicable target bus. Injecting faults on memory accesses can be used to exercise the SEC-DED ECC function of the related system.&lt;BR /&gt;45.2.1&lt;BR /&gt;Features&lt;BR /&gt;The EIM includes these features:&lt;BR /&gt;•&lt;BR /&gt;Supports 19 error injection channels. See the chip-specific EIM information for channel assignment details.&lt;BR /&gt;•&lt;BR /&gt;Protection against accidental enable and reconfiguration error injection function via two-stage enable mechanism&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need some more information on which channel we could inject error and how using EIM module&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Also in the ERM module i saw in reference manual of s32k3 like there are different memories like memory 1 , memory 1 and so on ..&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;But it is nowhere mentioned which memory is memory0 , which memory is memory 1 and like so on ..&lt;BR /&gt;&lt;BR /&gt;Could you also give me some information on these .&lt;BR /&gt;&lt;BR /&gt;ENCIE0&lt;BR /&gt;ENCIE0&lt;BR /&gt;Enable Memory 0 Non-Correctable Interrupt Notification&lt;BR /&gt;This field is not supported in every instance. The following table includes only supported registers.&lt;BR /&gt;NOTE&lt;BR /&gt;Instance&lt;BR /&gt;Field supported in&lt;BR /&gt;Field not supported in&lt;BR /&gt;ERM_0&lt;BR /&gt;CR0&lt;BR /&gt;—&lt;BR /&gt;ERM_1&lt;BR /&gt;—&lt;BR /&gt;CR0&lt;BR /&gt;0b - Interrupt notification of Memory 0 non-correctable error events is disabled.&lt;BR /&gt;1b - Interrupt notification of Memory 0 non-correctable error events is enabled.&lt;BR /&gt;29-28&lt;BR /&gt;—&lt;BR /&gt;Reserved&lt;BR /&gt;27&lt;BR /&gt;ESCIE1&lt;BR /&gt;ESCIE1&lt;BR /&gt;Enable Memory 1 Single Correction Interrupt Notification&lt;BR /&gt;This field is not supported in every instance. The following table includes only supported registers.&lt;BR /&gt;NOTE&lt;BR /&gt;Instance&lt;BR /&gt;Field supported in&lt;BR /&gt;Field not supported in&lt;BR /&gt;ERM_0&lt;BR /&gt;CR0&lt;BR /&gt;—&lt;BR /&gt;ERM_1&lt;BR /&gt;—&lt;BR /&gt;CR0&lt;BR /&gt;0b - Interrupt notification of Memory 1 single-bit correction events is disabled.&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Apr 2026 09:26:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2345021#M57710</guid>
      <dc:creator>Bhumika_NL</dc:creator>
      <dc:date>2026-04-03T09:26:37Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2345587#M57723</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/160001"&gt;@danielmartynek&lt;/a&gt;&amp;nbsp;,&lt;BR /&gt;&lt;BR /&gt;can you please help us on this ?&lt;/P&gt;</description>
      <pubDate>Mon, 06 Apr 2026 06:43:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2345587#M57723</guid>
      <dc:creator>Bhumika_NL</dc:creator>
      <dc:date>2026-04-06T06:43:15Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2346115#M57751</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/260273"&gt;@Bhumika_NL&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;You can find the complete EIM channel assignment directly in the Reference Manual, Revision 12:&lt;/P&gt;
&lt;P&gt;Table 273 – EIM channel mapping – S32K3x1, S32K3x2, S32K344/S32K324/S32K314&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;For the ERM module, the memory‑to‑channel mapping is provided in:&lt;/P&gt;
&lt;P&gt;Table 291 – ERM_0 channel mapping for all devices except S32K389&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Tue, 07 Apr 2026 08:44:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2346115#M57751</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2026-04-07T08:44:37Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2346768#M57775</link>
      <description>&lt;P&gt;I am feeling it quite difficult to find out reference manual which is of revision 12 .&lt;BR /&gt;But right now I am using revision 4 , in that I could not find any info related to channel assignment to memories in Table 273 and Table 291 . I could see some other information there .&lt;BR /&gt;&lt;BR /&gt;Could you please suggest us something here in this case&lt;/P&gt;</description>
      <pubDate>Wed, 08 Apr 2026 07:33:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2346768#M57775</guid>
      <dc:creator>Bhumika_NL</dc:creator>
      <dc:date>2026-04-08T07:33:10Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2346781#M57776</link>
      <description>&lt;P&gt;Here is the latest manual (rev. 12):&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/webapp/Download?colCode=S32K3XXRM" target="_blank"&gt;https://www.nxp.com/webapp/Download?colCode=S32K3XXRM&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Daniel&lt;/P&gt;</description>
      <pubDate>Wed, 08 Apr 2026 07:47:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2346781#M57776</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2026-04-08T07:47:32Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2346868#M57784</link>
      <description>&lt;P&gt;Thank you so much , I will check this manual once then &lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Apr 2026 09:14:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2346868#M57784</guid>
      <dc:creator>Bhumika_NL</dc:creator>
      <dc:date>2026-04-08T09:14:59Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2347216#M57788</link>
      <description>&lt;P&gt;We are currently working on the NXP S32K394 microcontroller, and we have confirmed this as our target device.&lt;/P&gt;&lt;P&gt;However, the reference manual we were using earlier does not cover this specific controller. Therefore, could you please share the appropriate Reference Manual for the S32K394 series, specifically including details on:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Channel assignment for different memory regions&lt;/LI&gt;&lt;LI&gt;Mapping related to the EIM (Error Injection Module)&lt;/LI&gt;&lt;LI&gt;Mapping related to the ERM (Error Reporting Module)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;This information will help us proceed with validation and testing using the debugger.&lt;/P&gt;</description>
      <pubDate>Wed, 08 Apr 2026 12:36:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2347216#M57788</guid>
      <dc:creator>Bhumika_NL</dc:creator>
      <dc:date>2026-04-08T12:36:10Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2348355#M57811</link>
      <description>&lt;P&gt;Thank you, I did not know you use S32K394.&lt;/P&gt;
&lt;P&gt;In the&amp;nbsp;S32K39, S32K37 and S32K36 Reference Manual, Rev. 4, 11/2024&lt;/P&gt;
&lt;P&gt;Table 210. ACP_EIM_0&lt;/P&gt;
&lt;P&gt;Table 211. ACP_EIM_1&lt;/P&gt;
&lt;P&gt;Table 212. ACP_EIM_2&lt;/P&gt;
&lt;P&gt;Table 219. ACP_ERM_0 channel mapping&lt;/P&gt;
&lt;P&gt;Table 220. ACP_ERM_1 channel mapping&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Thu, 09 Apr 2026 10:47:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2348355#M57811</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2026-04-09T10:47:14Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2352132#M58001</link>
      <description>&lt;P&gt;I used the above register of EIM module and i am able to successfully inject the ECC errors on s32k3(both single and multibit )&amp;nbsp; for SRAM0 memory location .&lt;BR /&gt;&amp;nbsp;but for other memory locations , i am unable to inject the ECC errors in the same way .&lt;BR /&gt;&lt;BR /&gt;Attaching the code for reference&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;typedef&lt;/SPAN&gt; &lt;SPAN&gt;enum&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;EIM_MEM_SRAM_L&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;EIM_MEM_SRAM_U&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt; &lt;SPAN&gt;EIM_MemoryType&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;typedef&lt;/SPAN&gt; &lt;SPAN&gt;enum&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;EIM_ERROR_SINGLE_BIT&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;EIM_ERROR_DOUBLE_BIT&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;2&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt; &lt;SPAN&gt;EIM_ErrorType&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt; &lt;SPAN&gt;IP_EIM_0_BASE&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;0x4050C000&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt; &lt;SPAN&gt;IP_EIM_1_BASE&lt;/SPAN&gt; &lt;SPAN&gt;0x40510000&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt; &lt;SPAN&gt;IP_EIM_2_BASE&lt;/SPAN&gt; &lt;SPAN&gt;0x40514000&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt; &lt;SPAN&gt;EIMCR_BASE_ADDR&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/SPAN&gt;&lt;SPAN&gt;IP_EIM_2_BASE&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;0x0&lt;/SPAN&gt;&lt;SPAN&gt; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt; &lt;SPAN&gt;EICHEN_BASE_ADDR&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/SPAN&gt;&lt;SPAN&gt;IP_EIM_2_BASE&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;0x4&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt; &lt;SPAN&gt;EICHD0_WORD0_ADDR&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp; &amp;nbsp; (&lt;/SPAN&gt;&lt;SPAN&gt;IP_EIM_2_BASE&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;0x100&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt; &lt;SPAN&gt;EICHD0_WORD1_ADDR&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp; &amp;nbsp; (&lt;/SPAN&gt;&lt;SPAN&gt;IP_EIM_2_BASE&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;0x104&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;)&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;EIM_InjectSramEccError&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;EIM_MemoryType&lt;/SPAN&gt; &lt;SPAN&gt;mem&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;EIM_ErrorType&lt;/SPAN&gt; &lt;SPAN&gt;errType&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt; &lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;testAddr&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;uint8&lt;/SPAN&gt; &lt;SPAN&gt;channel&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint8&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;mem&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt; &lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;EICHEN_BASE_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;0x80000000&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt; &lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;EIMCR_BASE_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;0x00000001&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;//(void)*(volatile uint32 *) EIMCR_BASE_ADDR;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; /* Step 1: Clear previous configuration */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt; &lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;EICHD0_WORD0_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt; &lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;EICHD0_WORD1_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; /* Step 2: Configure ECC injection */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;errType&lt;/SPAN&gt; &lt;SPAN&gt;==&lt;/SPAN&gt; &lt;SPAN&gt;EIM_ERROR_SINGLE_BIT&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* Flip 1 data bit → correctable */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt; &lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;EICHD0_WORD1_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0x00000001&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* Flip 2 data bits → uncorrectable error */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt; &lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;EICHD0_WORD1_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0x00000003&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; /* Step 3: Dummy write (ensure valid ECC exists) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;testAddr&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;0xA5A5A5A5&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; /* Step 4: Read back → triggers ECC error */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt; &lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;readVal&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;testAddr&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;readVal&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt; &lt;SPAN&gt;/*&lt;/SPAN&gt;&lt;SPAN&gt; جلوگیری optimization &lt;/SPAN&gt;&lt;SPAN&gt;*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt; &lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;EICHEN_BASE_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;0x80000000&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;test_ecc&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt; &lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;addr&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;0x20400000&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;SPAN&gt; // Example SRAM_L address&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; /* Test single-bit error (correctable) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;EIM_InjectSramEccError&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;EIM_MEM_SRAM_L&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;EIM_ERROR_SINGLE_BIT&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;addr&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; /* Test double-bit error (uncorrectable) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;EIM_InjectSramEccError&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;EIM_MEM_SRAM_L&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;EIM_ERROR_DOUBLE_BIT&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;addr&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;could you please correct me if something is wrong here in procedure or understanding&amp;nbsp;&lt;BR /&gt;if anything more needs to be added then also please let me know .&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;But for SRAM0 , i am able to inject fault for ECC and observe in ERM register that the fault is set.&lt;BR /&gt;&lt;BR /&gt;Thanks in Advance !&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 16 Apr 2026 08:58:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2352132#M58001</guid>
      <dc:creator>Bhumika_NL</dc:creator>
      <dc:date>2026-04-16T08:58:42Z</dc:date>
    </item>
    <item>
      <title>Re: Fault Injection of ECC error on RAM</title>
      <link>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2353487#M58068</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/260273"&gt;@Bhumika_NL&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Can you create a new thread?&lt;/P&gt;
&lt;P&gt;This one has mane QA already.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Daniel&lt;/P&gt;</description>
      <pubDate>Mon, 20 Apr 2026 06:03:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Fault-Injection-of-ECC-error-on-RAM/m-p/2353487#M58068</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2026-04-20T06:03:56Z</dc:date>
    </item>
  </channel>
</rss>

