<?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>S32KのトピックRe: how to write data flash (S32K328)</title>
    <link>https://community.nxp.com/t5/S32K/how-to-write-data-flash-S32K328/m-p/2192599#M53833</link>
    <description>&lt;P&gt;Thank you, but I encountered a problem when using C40_SP for flash operations:&lt;/P&gt;&lt;P&gt;the boot is at core0 0x00400000, and when I perform a write operation on the address of core0 (0x00440000), it enters a hard fault. I confirm that the boot area code is only before 0x00440000 and there is no out of bounds issue, but operating on core1 area (0x00600000) with the same code is not a problem. What is the reason for this.&lt;/P&gt;&lt;P&gt;My rewrote code is as follow&lt;/P&gt;&lt;P&gt;/************ erase code******************/&lt;/P&gt;&lt;P&gt;if (C40_IP_STATUS_SECTOR_PROTECTED == C40_Ip_GetLock(sector_number)) {&lt;BR /&gt;printf("RAM: Sector %d is protected, clearing lock\r\n", sector_number);&lt;BR /&gt;C40_Ip_ClearLock(sector_number, 0);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;C40_Ip_MainInterfaceSectorErase(sector_number, 0);do {&lt;BR /&gt;t_ReturnValue = C40_Ip_MainInterfaceSectorEraseStatus();&lt;BR /&gt;} while (C40_IP_STATUS_BUSY == t_ReturnValue);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/************ write code******************/&lt;/P&gt;&lt;P&gt;C40_Ip_MainInterfaceWrite(addr, length, data, 0);&lt;BR /&gt;do {&lt;BR /&gt;t_ReturnValue = C40_Ip_MainInterfaceWriteStatus();&lt;BR /&gt;} while (C40_IP_STATUS_BUSY == t_ReturnValue);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 24 Oct 2025 14:44:16 GMT</pubDate>
    <dc:creator>canghai</dc:creator>
    <dc:date>2025-10-24T14:44:16Z</dc:date>
    <item>
      <title>how to write data flash (S32K328)</title>
      <link>https://community.nxp.com/t5/S32K/how-to-write-data-flash-S32K328/m-p/2189736#M53709</link>
      <description>&lt;P&gt;I want to store some boot information in the dataflash area when designing the boot. Is there any related routine documentation that can be used as a reference? Currently, I have used AI to generate some operation methods (registers, c40uip), but none of them have been successful, and I don't know how to find the cause。&lt;/P&gt;</description>
      <pubDate>Tue, 21 Oct 2025 07:49:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/how-to-write-data-flash-S32K328/m-p/2189736#M53709</guid>
      <dc:creator>canghai</dc:creator>
      <dc:date>2025-10-21T07:49:16Z</dc:date>
    </item>
    <item>
      <title>Re: how to write data flash (S32K328)</title>
      <link>https://community.nxp.com/t5/S32K/how-to-write-data-flash-S32K328/m-p/2190129#M53731</link>
      <description>&lt;P&gt;There are RTD drivers, specifically&amp;nbsp;Mem_43_INFLS (RTD 6.0.0):&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/design/design-center/software/automotive-software-and-tools/real-time-drivers-rtd:AUTOMOTIVE-RTD" target="_blank"&gt;https://www.nxp.com/design/design-center/software/automotive-software-and-tools/real-time-drivers-rtd:AUTOMOTIVE-RTD&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Pay attention to example&amp;nbsp;&lt;/P&gt;
&lt;P&gt;C40_Ip_Example_S32K358&lt;/P&gt;
&lt;P&gt;/**&lt;BR /&gt;* @brief Main function of the example&lt;BR /&gt;* @details Initializes IP C40 driver and erase, write, read internal flash memory&lt;BR /&gt;*/&lt;/P&gt;</description>
      <pubDate>Tue, 21 Oct 2025 17:18:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/how-to-write-data-flash-S32K328/m-p/2190129#M53731</guid>
      <dc:creator>davidtosenovjan</dc:creator>
      <dc:date>2025-10-21T17:18:32Z</dc:date>
    </item>
    <item>
      <title>Re: how to write data flash (S32K328)</title>
      <link>https://community.nxp.com/t5/S32K/how-to-write-data-flash-S32K328/m-p/2192599#M53833</link>
      <description>&lt;P&gt;Thank you, but I encountered a problem when using C40_SP for flash operations:&lt;/P&gt;&lt;P&gt;the boot is at core0 0x00400000, and when I perform a write operation on the address of core0 (0x00440000), it enters a hard fault. I confirm that the boot area code is only before 0x00440000 and there is no out of bounds issue, but operating on core1 area (0x00600000) with the same code is not a problem. What is the reason for this.&lt;/P&gt;&lt;P&gt;My rewrote code is as follow&lt;/P&gt;&lt;P&gt;/************ erase code******************/&lt;/P&gt;&lt;P&gt;if (C40_IP_STATUS_SECTOR_PROTECTED == C40_Ip_GetLock(sector_number)) {&lt;BR /&gt;printf("RAM: Sector %d is protected, clearing lock\r\n", sector_number);&lt;BR /&gt;C40_Ip_ClearLock(sector_number, 0);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;C40_Ip_MainInterfaceSectorErase(sector_number, 0);do {&lt;BR /&gt;t_ReturnValue = C40_Ip_MainInterfaceSectorEraseStatus();&lt;BR /&gt;} while (C40_IP_STATUS_BUSY == t_ReturnValue);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/************ write code******************/&lt;/P&gt;&lt;P&gt;C40_Ip_MainInterfaceWrite(addr, length, data, 0);&lt;BR /&gt;do {&lt;BR /&gt;t_ReturnValue = C40_Ip_MainInterfaceWriteStatus();&lt;BR /&gt;} while (C40_IP_STATUS_BUSY == t_ReturnValue);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Oct 2025 14:44:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/how-to-write-data-flash-S32K328/m-p/2192599#M53833</guid>
      <dc:creator>canghai</dc:creator>
      <dc:date>2025-10-24T14:44:16Z</dc:date>
    </item>
  </channel>
</rss>

