<?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>Wireless MCUのトピックQN9080 Flash Protection</title>
    <link>https://community.nxp.com/t5/Wireless-MCU/QN9080-Flash-Protection/m-p/1032260#M8906</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello. I am trying to protect the first several pages in the QN9080 flash and am running into trouble with erasing unprotected pages. In order to test the problem, I have reduced the protection to a single page and the problem persists.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Note: I have my flash mapped to address zero, so I am using address 0x00000000 as the start of page zero for this discussion.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have protected the page zero by writing 0xFFFFFFFE to address 0x0007F800.&lt;/P&gt;&lt;P&gt;I have disabled flash and memory protection by writing 0x00000001 to address 0x0007F820.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using SDK_2_.x_QN908XCDK version 2.2.0 (Manifest Version 3.0.0).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I try to erase address 0x7000, which is page 14, the call to FLASH_PageErase (in fsl_flash.c) fails because the LOCKL_INT bit in FLASH&amp;gt;INT_STAT is set. However, the flash does get erased and the&amp;nbsp;ERASEL_INT bit also gets set. I have seen the device erase multiple pages without any error, and then the&amp;nbsp;&lt;SPAN&gt;LOCKL_INT&amp;nbsp;bit will get on a subsequent erase. I haven't been able to find any pattern for this except that the LOCKL_INT&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;bit will never get set if I do not protect any flash pages.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have also found that if I clear the&amp;nbsp;LOCKL_INT&amp;nbsp;bit and try the erase again, the FLASH_PageErase function will not fail.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Why is the&amp;nbsp;LOCKL_INT&amp;nbsp;error bit getting set for unprotected pages, even though the erase succeeds?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks,&lt;BR /&gt;Rick&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 14 Mar 2020 15:13:02 GMT</pubDate>
    <dc:creator>rickdickerson</dc:creator>
    <dc:date>2020-03-14T15:13:02Z</dc:date>
    <item>
      <title>QN9080 Flash Protection</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/QN9080-Flash-Protection/m-p/1032260#M8906</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello. I am trying to protect the first several pages in the QN9080 flash and am running into trouble with erasing unprotected pages. In order to test the problem, I have reduced the protection to a single page and the problem persists.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Note: I have my flash mapped to address zero, so I am using address 0x00000000 as the start of page zero for this discussion.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have protected the page zero by writing 0xFFFFFFFE to address 0x0007F800.&lt;/P&gt;&lt;P&gt;I have disabled flash and memory protection by writing 0x00000001 to address 0x0007F820.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using SDK_2_.x_QN908XCDK version 2.2.0 (Manifest Version 3.0.0).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I try to erase address 0x7000, which is page 14, the call to FLASH_PageErase (in fsl_flash.c) fails because the LOCKL_INT bit in FLASH&amp;gt;INT_STAT is set. However, the flash does get erased and the&amp;nbsp;ERASEL_INT bit also gets set. I have seen the device erase multiple pages without any error, and then the&amp;nbsp;&lt;SPAN&gt;LOCKL_INT&amp;nbsp;bit will get on a subsequent erase. I haven't been able to find any pattern for this except that the LOCKL_INT&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;bit will never get set if I do not protect any flash pages.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have also found that if I clear the&amp;nbsp;LOCKL_INT&amp;nbsp;bit and try the erase again, the FLASH_PageErase function will not fail.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Why is the&amp;nbsp;LOCKL_INT&amp;nbsp;error bit getting set for unprotected pages, even though the erase succeeds?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks,&lt;BR /&gt;Rick&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 14 Mar 2020 15:13:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/QN9080-Flash-Protection/m-p/1032260#M8906</guid>
      <dc:creator>rickdickerson</dc:creator>
      <dc:date>2020-03-14T15:13:02Z</dc:date>
    </item>
    <item>
      <title>Re: QN9080 Flash Protection</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/QN9080-Flash-Protection/m-p/1032261#M8907</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you mention you clear the LOCKL_INT&amp;nbsp; how do you do it? According to the UM of the device the access to the register is only meant to be read .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/101009i029C93326AFADE44/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Do you mean the LOCKL_INT_EN? &lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_5.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/101093iDCFAC8AEE10C6132/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_5.png" alt="pastedImage_5.png" /&gt;&lt;/span&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards ,&lt;/P&gt;&lt;P&gt;Estephania&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Mar 2020 18:51:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/QN9080-Flash-Protection/m-p/1032261#M8907</guid>
      <dc:creator>stephanie_m</dc:creator>
      <dc:date>2020-03-20T18:51:10Z</dc:date>
    </item>
    <item>
      <title>Re: QN9080 Flash Protection</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/QN9080-Flash-Protection/m-p/1032262#M8908</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Estephania,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any insight into why the LOCKL_INT status flag is getting set when erasing unprotected pages?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the LOCKL_INT_CLR bit in the INT_CLR register to clear the status flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/101963i7DEDE589606F42B9/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Rick&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Mar 2020 19:18:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/QN9080-Flash-Protection/m-p/1032262#M8908</guid>
      <dc:creator>rickdickerson</dc:creator>
      <dc:date>2020-03-20T19:18:11Z</dc:date>
    </item>
  </channel>
</rss>

