<?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: S32K1xx EEPROM HardFault in S32K</title>
    <link>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1752383#M28408</link>
    <description>&lt;P&gt;&lt;A href="mailto:Hi@zor" target="_blank"&gt;Hi@zorz&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;modifed the code as you did,the hardware base on S32K142EVB, the demo name is "flash_partitioning_s32k142"&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;here you can see it works fine on myside,&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Senlent_0-1699236038808.png" style="width: 731px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/248500iD987A87F412CCAD7/image-dimensions/731x362?v=v2" width="731" height="362" role="button" title="Senlent_0-1699236038808.png" alt="Senlent_0-1699236038808.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 06 Nov 2023 02:02:32 GMT</pubDate>
    <dc:creator>Senlent</dc:creator>
    <dc:date>2023-11-06T02:02:32Z</dc:date>
    <item>
      <title>S32K1xx EEPROM HardFault</title>
      <link>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1747637#M28207</link>
      <description>&lt;P&gt;HI&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a project running FreeRTOS, UART, SPI, I2C ... and using S32DS.&amp;nbsp; All of this is running ok. Now I need to store some data to EEPROM.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I used&amp;nbsp; flash_partitioning example to get to know the driver to write to EEPROM.&lt;/P&gt;&lt;P&gt;First I initialise the driver&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;/* Always initialize the driver before calling other functions */&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;ret = FLASH_DRV_Init(&amp;amp;Flash_InitConfig0, &amp;amp;flashSSDConfig );&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/* Config FlexRAM as EEPROM if it is currently used as traditional RAM */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if (flashSSDConfig.EEESize == 0u)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/* Configure FlexRAM as EEPROM and FlexNVM as EEPROM backup region,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* DEFlashPartition will be failed if the IFR region isn't blank.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;* Refer to the device document for valid EEPROM Data Size Code&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;* and FlexNVM Partition Code. For example on S32K116:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;* - EEEDataSizeCode = 0x03u: EEPROM size = 2 Kbytes&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;* - DEPartitionCode = 0x03u: EEPROM backup size = 32 Kbytes */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;ret = FLASH_DRV_DEFlashPartition(&amp;amp;flashSSDConfig, 0x03u, 0x03u, 0x0u, false, true);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/* Re-initialize the driver to update the new EEPROM configuration */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;ret = FLASH_DRV_Init(&amp;amp;Flash_InitConfig0, &amp;amp;flashSSDConfig);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/* Make FlexRAM available for EEPROM */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;ret = FLASH_DRV_SetFlexRamFunction(&amp;amp;flashSSDConfig, EEE_ENABLE, 0x00u, NULL);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Than I write to eeprom&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;if (flashSSDConfig.EEESize != 0u)&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;address = flashSSDConfig.EERAMBase;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;FLASH_DRV_EEEWrite( &amp;amp;flashSSDConfig, address, 4, write_E_data );&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if (*((uint32_t *)write_E_data) != *((uint32_t *)address))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/* Failed to write data to EEPROM */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;// exit_code = 1u;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;return 1;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;What happens is:&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;1. if I RUN this code .. the applicaton hit the&amp;nbsp;HardFault_Handler() ..always.. and this is happening in the&amp;nbsp;FLASH_DRV_EEEWrite() function&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;2. if i SINGLE step the&amp;nbsp;FLASH_DRV_EEEWrite() function the application works OK .. it is NOT hitting the HardFault_Handler()&lt;/DIV&gt;&lt;DIV&gt;3. I can see the data stored in the EEPROM&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Does anybody have any idea why this is happening? I am using J-link if this plays any role in the equation.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Br zorz&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Fri, 27 Oct 2023 07:59:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1747637#M28207</guid>
      <dc:creator>zorz</dc:creator>
      <dc:date>2023-10-27T07:59:18Z</dc:date>
    </item>
    <item>
      <title>Re: S32K1xx EEPROM HardFault</title>
      <link>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1747769#M28211</link>
      <description>&lt;P&gt;&lt;A href="mailto:Hi@zorz" target="_blank"&gt;Hi@zorz&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Please turn off all interrupts before writing to EEPROM and try again.&lt;/P&gt;</description>
      <pubDate>Fri, 27 Oct 2023 09:34:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1747769#M28211</guid>
      <dc:creator>Senlent</dc:creator>
      <dc:date>2023-10-27T09:34:39Z</dc:date>
    </item>
    <item>
      <title>Re: S32K1xx EEPROM HardFault</title>
      <link>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1747783#M28213</link>
      <description>&lt;P&gt;HI&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tested .. does NOT help&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;BR zorz&lt;/P&gt;</description>
      <pubDate>Fri, 27 Oct 2023 09:49:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1747783#M28213</guid>
      <dc:creator>zorz</dc:creator>
      <dc:date>2023-10-27T09:49:37Z</dc:date>
    </item>
    <item>
      <title>Re: S32K1xx EEPROM HardFault</title>
      <link>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1747786#M28214</link>
      <description>&lt;P&gt;&lt;A href="mailto:Hi@zorz" target="_blank"&gt;Hi@zorz&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;could you please provide the demo code,&lt;/P&gt;
&lt;P&gt;you can take a look the application note first, and I will help you to test it next week.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/application-note/AN11983.pdf" target="_self"&gt;https://www.nxp.com/docs/en/application-note/AN11983.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 27 Oct 2023 09:54:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1747786#M28214</guid>
      <dc:creator>Senlent</dc:creator>
      <dc:date>2023-10-27T09:54:08Z</dc:date>
    </item>
    <item>
      <title>Re: S32K1xx EEPROM HardFault</title>
      <link>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1752277#M28405</link>
      <description>&lt;P&gt;HI&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have "found" the solution .. but I do NOT understand why that is the case&lt;/P&gt;&lt;P&gt;What i found is if I install the&amp;nbsp;&lt;/P&gt;&lt;P&gt;pCallBack = (flash_callback_t)CCIF_Callback;&lt;BR /&gt;flashSSDConfig.CallBack = pCallBack;&lt;/P&gt;&lt;P&gt;before the&amp;nbsp;&lt;/P&gt;&lt;P&gt;FLASH_DRV_Init&lt;/P&gt;&lt;P&gt;I get the FAULT !&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but if&amp;nbsp;&lt;/P&gt;&lt;P&gt;FLASH_DRV_Init is done&amp;nbsp; and than&amp;nbsp;&lt;/P&gt;&lt;P&gt;pCallBack = (flash_callback_t)CCIF_Callback;&lt;BR /&gt;flashSSDConfig.CallBack = pCallBack;&lt;/P&gt;&lt;P&gt;it works fine .. i do not understand why.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;br zorz&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 04 Nov 2023 10:59:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1752277#M28405</guid>
      <dc:creator>zorz</dc:creator>
      <dc:date>2023-11-04T10:59:17Z</dc:date>
    </item>
    <item>
      <title>Re: S32K1xx EEPROM HardFault</title>
      <link>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1752383#M28408</link>
      <description>&lt;P&gt;&lt;A href="mailto:Hi@zor" target="_blank"&gt;Hi@zorz&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;modifed the code as you did,the hardware base on S32K142EVB, the demo name is "flash_partitioning_s32k142"&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;here you can see it works fine on myside,&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Senlent_0-1699236038808.png" style="width: 731px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/248500iD987A87F412CCAD7/image-dimensions/731x362?v=v2" width="731" height="362" role="button" title="Senlent_0-1699236038808.png" alt="Senlent_0-1699236038808.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Nov 2023 02:02:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K1xx-EEPROM-HardFault/m-p/1752383#M28408</guid>
      <dc:creator>Senlent</dc:creator>
      <dc:date>2023-11-06T02:02:32Z</dc:date>
    </item>
  </channel>
</rss>

