<?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>S32 SDKのトピックRe: about s32k144 flash write/read</title>
    <link>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1894674#M3865</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/218113"&gt;@alice_th&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;If you are trying to download into flash, please follow the documentation.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_0-1719435391909.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/285928iB2D96FD91F1316CA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_0-1719435391909.png" alt="Julin_AragnM_0-1719435391909.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 26 Jun 2024 20:57:03 GMT</pubDate>
    <dc:creator>Julián_AragónM</dc:creator>
    <dc:date>2024-06-26T20:57:03Z</dc:date>
    <item>
      <title>about s32k144 flash write/read</title>
      <link>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1889041#M3823</link>
      <description>&lt;P&gt;when i test&amp;nbsp;flash_partitioning_s32k144 example , i find&amp;nbsp;HardFault.&lt;/P&gt;&lt;P&gt;could you help to check it.&lt;/P&gt;&lt;P&gt;Connection from "127.0.0.1" via 127.0.0.1. Connection from port "63674" to 6224 Connection from "127.0.0.1" via 127.0.0.1. Connection from port "63675" to 7224 Searching for Kernel Symbols... rsp_qC - qSymbol: 5F74785F7468726561645F63757272656E745F707472 _tx_thread_current_ptr not found. ThreadX analysis not enabled. rsp_qC - qSymbol: 707843757272656E74544342 pxCurrentTCB not found. FreeRTOS analysis not enabled. UsageFault: An instruction executed with an invalid EPSR.T or EPSR.IT field. HardFault: A fault has been escalated to a hard fault.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="alice_thanks_1-1718606693759.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/284375i9DAC08466BC3E361/image-size/medium?v=v2&amp;amp;px=400" role="button" title="alice_thanks_1-1718606693759.png" alt="alice_thanks_1-1718606693759.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jun 2024 02:07:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1889041#M3823</guid>
      <dc:creator>alice_th</dc:creator>
      <dc:date>2024-06-18T02:07:38Z</dc:date>
    </item>
    <item>
      <title>Re: about s32k144 flash write/read</title>
      <link>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1889692#M3827</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/218113"&gt;@alice_th&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Are you using the OpenSDA to debug the program?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The FlexNVM memory is partitioned to EEPROM use and is blocked for some erase commands (Erase Sector and Erase Block). As a consequence, loading the program to flash memory may fail on some debuggers.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Please perform a mass erase operation on Flash to remove this partitioning after running the example to be able to update your application on target.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You can update OpenSDA to J-Link, I've tested the program with an external J-Link debugger, through RAM build configuration and it works correctly.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best regards,&lt;BR /&gt;Julián&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jun 2024 17:17:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1889692#M3827</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2024-06-18T17:17:16Z</dc:date>
    </item>
    <item>
      <title>Re: about s32k144 flash write/read</title>
      <link>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1889970#M3832</link>
      <description>&lt;P&gt;actually, my application need to download to flash, and i need part of the flash space to store some parameters when running.&amp;nbsp;&lt;/P&gt;&lt;P&gt;i just init flash in main and run&amp;nbsp;&lt;SPAN&gt;flash_read_write_test()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;hal_init_flash ();&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;flash_read_write_test();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;i find it will crash at&amp;nbsp;hal_erase_flash_sector();&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;could you help to check it.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;dflash_init&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;#ifndef&lt;/SPAN&gt;&lt;SPAN&gt; FLASH_TARGET&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#ifdef&lt;/SPAN&gt;&lt;SPAN&gt; S32K144_SERIES&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;MSCM&lt;/SPAN&gt;&lt;SPAN&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;OCMDR&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;0u&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;|=&lt;/SPAN&gt; &lt;SPAN&gt;MSCM_OCMDR_OCM1&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0x3u&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;MSCM&lt;/SPAN&gt;&lt;SPAN&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;OCMDR&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;1u&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;|=&lt;/SPAN&gt; &lt;SPAN&gt;MSCM_OCMDR_OCM1&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0x3u&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;SPAN&gt; /* S32K144_SERIES */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;SPAN&gt; /* FLASH_TARGET */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;hal_init_flash&lt;/SPAN&gt;&lt;SPAN&gt; ();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#if&lt;/SPAN&gt; &lt;SPAN&gt;0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; /* Install interrupt for Flash Command Complete event */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; INT_SYS_InstallHandler(FTFC_IRQn, CCIF_Handler, (isr_t*) 0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; INT_SYS_EnableIRQ(FTFC_IRQn);&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; /* Enable global interrupt */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; INT_SYS_EnableIRQGlobal();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;status_t hal_init_flash (void)&lt;BR /&gt;{&lt;BR /&gt;return FLASH_DRV_Init (&amp;amp;Flash1_InitConfig0, &amp;amp;ssdConfig);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;status_t hal_erase_flash_sector (uint32_t address, uint32_t length)&lt;BR /&gt;{&lt;BR /&gt;return FLASH_DRV_EraseSector (&amp;amp;ssdConfig, address, length);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;status_t hal_write_to_flash (uint32_t address, const uint8_t *p_bufSrc,&lt;BR /&gt;uint32_t length)&lt;BR /&gt;{&lt;BR /&gt;status_t ret = STATUS_SUCCESS;&lt;BR /&gt;bool lenAligned = (length &amp;amp; (FEATURE_FLS_PF_BLOCK_WRITE_UNIT_SIZE - 1U))&lt;BR /&gt;== 0U;&lt;BR /&gt;bool addrAligned = (address &amp;amp; (FEATURE_FLS_PF_BLOCK_WRITE_UNIT_SIZE - 1U))&lt;BR /&gt;== 0U;&lt;BR /&gt;bool inBoundaries = (address &amp;gt;= Flash1_InitConfig0.DFlashBase)&lt;BR /&gt;&amp;amp;&amp;amp; ((address + length)&lt;BR /&gt;&amp;lt; (Flash1_InitConfig0.DFlashBase + FEATURE_FLS_DF_BLOCK_SIZE));&lt;/P&gt;&lt;P&gt;if (!lenAligned || !addrAligned || !inBoundaries)&lt;BR /&gt;{&lt;BR /&gt;ret = STATUS_ERROR;&lt;BR /&gt;return ret;&lt;BR /&gt;}&lt;BR /&gt;else&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;bool multiplePages = ((address % FEATURE_FLS_DF_BLOCK_SECTOR_SIZE)&lt;BR /&gt;+ length) &amp;gt; FEATURE_FLS_DF_BLOCK_SECTOR_SIZE;&lt;/P&gt;&lt;P&gt;if (!multiplePages) // single sector write&lt;BR /&gt;{&lt;BR /&gt;ret = hal_write_to_flash_single_sector (address, p_bufSrc, length);&lt;BR /&gt;}&lt;BR /&gt;else&lt;BR /&gt;{&lt;BR /&gt;// Write first part - could be not aligned with sector start address&lt;BR /&gt;uint16_t lenOfFirstWrite = FEATURE_FLS_DF_BLOCK_SECTOR_SIZE&lt;BR /&gt;- (address % FEATURE_FLS_DF_BLOCK_SECTOR_SIZE);&lt;BR /&gt;ret = hal_write_to_flash_single_sector (address, p_bufSrc,&lt;BR /&gt;lenOfFirstWrite);&lt;/P&gt;&lt;P&gt;length -= lenOfFirstWrite;&lt;BR /&gt;address += lenOfFirstWrite;&lt;BR /&gt;p_bufSrc += lenOfFirstWrite;&lt;/P&gt;&lt;P&gt;// Write other part of the data, which is aligned with the sector start address&lt;BR /&gt;while ((length &amp;gt; 0) &amp;amp; (ret == STATUS_SUCCESS))&lt;BR /&gt;{&lt;BR /&gt;ret = hal_write_to_flash_single_sector (address, p_bufSrc,&lt;BR /&gt;length);&lt;BR /&gt;address += FEATURE_FLS_DF_BLOCK_SECTOR_SIZE;&lt;BR /&gt;p_bufSrc += FEATURE_FLS_DF_BLOCK_SECTOR_SIZE;&lt;BR /&gt;length =&lt;BR /&gt;(length &amp;gt; FEATURE_FLS_DF_BLOCK_SECTOR_SIZE) ?&lt;BR /&gt;(length - FEATURE_FLS_DF_BLOCK_SECTOR_SIZE) : 0;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;}&lt;BR /&gt;}&lt;BR /&gt;return ret;&lt;BR /&gt;}&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt; &lt;SPAN&gt;FAC_CALIB_SECTOR_ADDRESS&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; (&lt;/SPAN&gt;&lt;SPAN&gt;0x10000000U&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#define&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;FAC_CALIB_SPACE&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt; FEATURE_FLS_DF_BLOCK_SECTOR_SIZE)&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp;//4KB&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;uint8_t flash_read_write_test()&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; int ret = 0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; int i;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; dflash_init();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; int read_count = 188;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; uint8_t fac_buf[read_count];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; uint8_t read_buf[1024];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; int read_pos = 0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; int test_time = 1;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; int tmp_buf_len = (read_count/8) * 8;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; uint8_t tmp_buf[tmp_buf_len];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; int remain_len = 0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; int old_remain_len = 0; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; memset(read_buf,0,1024);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; hal_erase_flash_sector (FAC_CALIB_SECTOR_ADDRESS,FAC_CALIB_SPACE);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; for(i=0;i&amp;lt;test_time;i++)&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; memset(fac_buf,(i+10),read_count);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; memcpy(&amp;amp;tmp_buf[remain_len],fac_buf,tmp_buf_len-remain_len);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; remain_len = read_count - tmp_buf_len + old_remain_len;&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; ret = hal_write_to_flash((FAC_CALIB_SECTOR_ADDRESS + i * tmp_buf_len),tmp_buf,tmp_buf_len);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //ret = hal_read_from_flash((FAC_CALIB_SECTOR_ADDRESS + i * tmp_buf_len),(read_buf + i * tmp_buf_len),tmp_buf_len);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; memset(tmp_buf,0,tmp_buf_len);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(tmp_buf_len &amp;gt; old_remain_len)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; memcpy(tmp_buf,&amp;amp;fac_buf[tmp_buf_len-old_remain_len],remain_len);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&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; &amp;nbsp; &amp;nbsp; printf("out of range\n");&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; old_remain_len = remain_len;&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; if(remain_len)&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; ret = hal_write_to_flash(FAC_CALIB_SECTOR_ADDRESS+ i * tmp_buf_len,tmp_buf,tmp_buf_len);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //ret = hal_read_from_flash((CALIB_SECTOR_ADDRESS + i * tmp_buf_len),(read_buf + i * tmp_buf_len),remain_len);&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; for(i=0;i&amp;lt;test_time;i++)&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; ret = hal_read_from_flash((FAC_CALIB_SECTOR_ADDRESS + i * read_count),(read_buf + i * read_count),read_count);&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; return ret;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jun 2024 03:40:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1889970#M3832</guid>
      <dc:creator>alice_th</dc:creator>
      <dc:date>2024-06-19T03:40:04Z</dc:date>
    </item>
    <item>
      <title>Re: about s32k144 flash write/read</title>
      <link>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1890874#M3846</link>
      <description>&lt;P style="font-weight: 400;"&gt;&lt;SPAN&gt;This kind of issues is usually caused by Read-While-Write error. Let me copy here from the reference manual:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-weight: 400;"&gt;&lt;SPAN&gt;„&lt;EM&gt;Read while Write is allowed within a module and is determined based on block boundaries. Read while Write partitions are used to determine locations for valid read-while-write (RWW) operations. While the embedded flash memory performs a write (program or erase) to a given partition, it can simultaneously perform a read from any other partition. For program and erase operations, only the address specified by an interlock write determines the partition being written (sector or super sector locking does not determine the RWW partitions being written).&lt;/EM&gt; “&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-weight: 400;"&gt;&lt;SPAN&gt;Could you try disabling interrupts before launching erase operations?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="font-weight: 400;"&gt;&lt;SPAN&gt;Also, could you share&amp;nbsp;what you see in the core registers? It could provide enough details to find the source of bus/hard fault.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV id="tinyMceEditorJulin_AragnM_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_1-1718836457185.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/284954i057239565FF00D21/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_1-1718836457185.png" alt="Julin_AragnM_1-1718836457185.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;BR /&gt;Julián&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jun 2024 22:34:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1890874#M3846</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2024-06-19T22:34:55Z</dc:date>
    </item>
    <item>
      <title>Re: about s32k144 flash write/read</title>
      <link>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1893421#M3860</link>
      <description>&lt;P&gt;i didn't see that register you show, see below,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="alice_thanks_0-1719300416877.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/285589iF97B6773EB472A35/image-size/medium?v=v2&amp;amp;px=400" role="button" title="alice_thanks_0-1719300416877.png" alt="alice_thanks_0-1719300416877.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jun 2024 07:48:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1893421#M3860</guid>
      <dc:creator>alice_th</dc:creator>
      <dc:date>2024-06-25T07:48:33Z</dc:date>
    </item>
    <item>
      <title>Re: about s32k144 flash write/read</title>
      <link>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1894674#M3865</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/218113"&gt;@alice_th&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;If you are trying to download into flash, please follow the documentation.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_0-1719435391909.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/285928iB2D96FD91F1316CA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_0-1719435391909.png" alt="Julin_AragnM_0-1719435391909.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Jun 2024 20:57:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/about-s32k144-flash-write-read/m-p/1894674#M3865</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2024-06-26T20:57:03Z</dc:date>
    </item>
  </channel>
</rss>

