<?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>Kinetis MicrocontrollersのトピックRe: Device with MK22FN1M0VLQ12 resetting loop after working for some time</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Device-with-MK22FN1M0VLQ12-resetting-loop-after-working-for-some/m-p/2404127#M68463</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/238744"&gt;@Rigolon&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Thanks for your post.&lt;/P&gt;
&lt;P&gt;I think this looks more like a Flash-operation-related fault or Flash-content corruption issue, rather than an issue in ASerialLDD2_Init or IntFlashLdd1_Erase themselves. The RM states that if the MCU reads an FTFE resource while it is being manipulated by an active Flash command, FSTAT[RDCOLERR] is set, and the read data is not guaranteed.&lt;/P&gt;
&lt;P&gt;You can refer to&amp;nbsp;&lt;A href="https://www.nxp.com/docs/en/application-note/AN4835.pdf" target="_self"&gt;AN4835&lt;/A&gt;&amp;nbsp;, it also says:" Interruption of an erase or program command can lead to corruption of the flash contents. Interruptions could include reset, loss of power, or a conflict with code running on processor."&amp;nbsp; This matches the observation that reading the same address sometimes succeeds and sometimes returns an ARM Transaction Fault : if a Flash region is corrupted or in an indeterminate state, reading it may trigger a bus fault; in similar cases, erasing the affected sector, or mass erase if needed, is used to recover the Flash array. Please refer to&amp;nbsp;&lt;A href="https://community.nxp.com/t5/Kinetis-Microcontrollers/Find-corruption-on-internal-Flash-MK22FX512VLH12/td-p/509207" target="_self"&gt;Solved: Find corruption on internal Flash MK22FX512VLH12 - NXP Community&amp;nbsp;&lt;/A&gt;for more details.&lt;/P&gt;
&lt;P&gt;Hope it helps.&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Celeste&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 12 Aug 2026 10:04:48 GMT</pubDate>
    <dc:creator>Celeste_Liu</dc:creator>
    <dc:date>2026-08-12T10:04:48Z</dc:date>
    <item>
      <title>Device with MK22FN1M0VLQ12 resetting loop after working for some time</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Device-with-MK22FN1M0VLQ12-resetting-loop-after-working-for-some/m-p/2403386#M68461</link>
      <description>&lt;P&gt;Hi guys,&lt;/P&gt;&lt;P&gt;I have a device that runs on a MK22FN1M0VLQ12.&lt;/P&gt;&lt;P&gt;The thing is that after working for some time it starts to get stuck on a reset loop at startup.&lt;BR /&gt;First i thought it was a problem with corrupted flash memory (the application saves logs in the flash). I used a ping-pong strategy to resolve that.&lt;BR /&gt;But some devices returned with a similar problem. I tried to debug one of the devices and without setting any breakpoint it always stops at ASerialLDD2_Init or IntFlashLdd1_Erase, both are functions generated by processor expert. Other devices I used memory dump and was able to see that the memory was indeed corrupted so that's why I fixed how I use the FLASH.&lt;BR /&gt;&lt;BR /&gt;Other important note is that some times it happens after some months, other almost after a year. Also i have devices installed over a year and a half that are running ok.&lt;BR /&gt;&lt;BR /&gt;Other thing is that I tried to memory dump (with usbdm) this device, and trying to read the same address, sometimes it reads fine, and sometimes it returns ARM Transation Fault.&lt;BR /&gt;&lt;BR /&gt;Anyone seem anything like that?&lt;/P&gt;</description>
      <pubDate>Mon, 10 Aug 2026 15:31:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Device-with-MK22FN1M0VLQ12-resetting-loop-after-working-for-some/m-p/2403386#M68461</guid>
      <dc:creator>Rigolon</dc:creator>
      <dc:date>2026-08-10T15:31:32Z</dc:date>
    </item>
    <item>
      <title>Re: Device with MK22FN1M0VLQ12 resetting loop after working for some time</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Device-with-MK22FN1M0VLQ12-resetting-loop-after-working-for-some/m-p/2404127#M68463</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/238744"&gt;@Rigolon&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Thanks for your post.&lt;/P&gt;
&lt;P&gt;I think this looks more like a Flash-operation-related fault or Flash-content corruption issue, rather than an issue in ASerialLDD2_Init or IntFlashLdd1_Erase themselves. The RM states that if the MCU reads an FTFE resource while it is being manipulated by an active Flash command, FSTAT[RDCOLERR] is set, and the read data is not guaranteed.&lt;/P&gt;
&lt;P&gt;You can refer to&amp;nbsp;&lt;A href="https://www.nxp.com/docs/en/application-note/AN4835.pdf" target="_self"&gt;AN4835&lt;/A&gt;&amp;nbsp;, it also says:" Interruption of an erase or program command can lead to corruption of the flash contents. Interruptions could include reset, loss of power, or a conflict with code running on processor."&amp;nbsp; This matches the observation that reading the same address sometimes succeeds and sometimes returns an ARM Transaction Fault : if a Flash region is corrupted or in an indeterminate state, reading it may trigger a bus fault; in similar cases, erasing the affected sector, or mass erase if needed, is used to recover the Flash array. Please refer to&amp;nbsp;&lt;A href="https://community.nxp.com/t5/Kinetis-Microcontrollers/Find-corruption-on-internal-Flash-MK22FX512VLH12/td-p/509207" target="_self"&gt;Solved: Find corruption on internal Flash MK22FX512VLH12 - NXP Community&amp;nbsp;&lt;/A&gt;for more details.&lt;/P&gt;
&lt;P&gt;Hope it helps.&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Celeste&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Aug 2026 10:04:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Device-with-MK22FN1M0VLQ12-resetting-loop-after-working-for-some/m-p/2404127#M68463</guid>
      <dc:creator>Celeste_Liu</dc:creator>
      <dc:date>2026-08-12T10:04:48Z</dc:date>
    </item>
    <item>
      <title>Re: Device with MK22FN1M0VLQ12 resetting loop after working for some time</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Device-with-MK22FN1M0VLQ12-resetting-loop-after-working-for-some/m-p/2404245#M68464</link>
      <description>&lt;P&gt;Thank you for the reply&lt;/P&gt;&lt;P&gt;I will look into it, as the problem is happening at a time that coincides with a memory reading command. Although there's a pin that is setting HIGH when it should not. This pin is initialized as a LOW output.&lt;BR /&gt;&lt;BR /&gt;That being said, is there something that would explain why it was pausing in those function while debugging? Before the reading command the only time&amp;nbsp;&lt;SPAN&gt;ASerialLDD2_Init() is called is within&amp;nbsp;PE_low_level_init().&lt;BR /&gt;&lt;/SPAN&gt;I am using a PE Micro multilink to debug.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Aug 2026 12:57:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Device-with-MK22FN1M0VLQ12-resetting-loop-after-working-for-some/m-p/2404245#M68464</guid>
      <dc:creator>Rigolon</dc:creator>
      <dc:date>2026-08-12T12:57:01Z</dc:date>
    </item>
    <item>
      <title>Re: Device with MK22FN1M0VLQ12 resetting loop after working for some time</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Device-with-MK22FN1M0VLQ12-resetting-loop-after-working-for-some/m-p/2404310#M68465</link>
      <description>Thank you for the reply&lt;BR /&gt;&lt;BR /&gt;I will look into it, as the problem is happening at a time that coincides with a memory reading command. Although there's a pin that is setting HIGH when it should not. This pin is initialized as a LOW output.&lt;BR /&gt;&lt;BR /&gt;That being said, is there something that would explain why it was pausing in those function while debugging? Before the reading command the only time ASerialLDD2_Init() is called is within PE_low_level_init().&lt;BR /&gt;I am using a PE Micro multilink to debug.</description>
      <pubDate>Wed, 12 Aug 2026 17:35:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Device-with-MK22FN1M0VLQ12-resetting-loop-after-working-for-some/m-p/2404310#M68465</guid>
      <dc:creator>Rigolon</dc:creator>
      <dc:date>2026-08-12T17:35:30Z</dc:date>
    </item>
  </channel>
</rss>

