<?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 problem with IAP-based internal flash programming. in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/problem-with-IAP-based-internal-flash-programming/m-p/523819#M6455</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by edsut on Wed Jun 26 12:50:58 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;I'm working with "SimpleCortex" board, and have been stumbling on an issue with flash programming using the IAP functions. &amp;nbsp;Basic implementation of flash write/erase is very straight forward; however, there are times when I need to just clear (write) one bit (changing it from a '1' to a '0') while leaving all other bits within a 256-byte range unchanged. &amp;nbsp;I assume I am allowed to do this, as long as I read in the 256-byte block to ram, make the single-bit change, and then write that block back to the flash. &amp;nbsp;Is this a valid assumption?&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;If it is, then more information on how I reproduce this problem is found here:&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;a href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.brc-electronics.nl%2Fcomponent%2Fkunena%2F5-Programming-and-software%2F565-flash-programming-problem%3FItemid%3D0%23568" rel="nofollow" target="_blank"&gt;http://www.brc-electronics.nl/component/kunena/5-Programming-and-software/565-flash-programming-problem?Itemid=0#568&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.brc-electronics.nl%2Fcomponent%2Fkunena%2F5-Programming-and-software%2F565-flash-programming-problem%3FItemid%3D0%23568" rel="nofollow" target="_blank"&gt;http://www.brc-electronics.nl/component/kunena/5-Programming-and-software/565-flash-programming-problem?Itemid=0#568&lt;/A&gt;&lt;SPAN&gt;&amp;lt;/a&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Sure would be nice if someone could tell me what I'm doing wrong. &amp;nbsp;This problem appears to be VERY data dependent; hence the reason for my use of what appears to be a random block of data (its not actually random, but its what I was using when I noticed the problem).&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Thanks for any ideas!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:04:24 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:04:24Z</dc:date>
    <item>
      <title>problem with IAP-based internal flash programming.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/problem-with-IAP-based-internal-flash-programming/m-p/523819#M6455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by edsut on Wed Jun 26 12:50:58 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;I'm working with "SimpleCortex" board, and have been stumbling on an issue with flash programming using the IAP functions. &amp;nbsp;Basic implementation of flash write/erase is very straight forward; however, there are times when I need to just clear (write) one bit (changing it from a '1' to a '0') while leaving all other bits within a 256-byte range unchanged. &amp;nbsp;I assume I am allowed to do this, as long as I read in the 256-byte block to ram, make the single-bit change, and then write that block back to the flash. &amp;nbsp;Is this a valid assumption?&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;If it is, then more information on how I reproduce this problem is found here:&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;a href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.brc-electronics.nl%2Fcomponent%2Fkunena%2F5-Programming-and-software%2F565-flash-programming-problem%3FItemid%3D0%23568" rel="nofollow" target="_blank"&gt;http://www.brc-electronics.nl/component/kunena/5-Programming-and-software/565-flash-programming-problem?Itemid=0#568&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.brc-electronics.nl%2Fcomponent%2Fkunena%2F5-Programming-and-software%2F565-flash-programming-problem%3FItemid%3D0%23568" rel="nofollow" target="_blank"&gt;http://www.brc-electronics.nl/component/kunena/5-Programming-and-software/565-flash-programming-problem?Itemid=0#568&lt;/A&gt;&lt;SPAN&gt;&amp;lt;/a&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Sure would be nice if someone could tell me what I'm doing wrong. &amp;nbsp;This problem appears to be VERY data dependent; hence the reason for my use of what appears to be a random block of data (its not actually random, but its what I was using when I noticed the problem).&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Thanks for any ideas!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:04:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/problem-with-IAP-based-internal-flash-programming/m-p/523819#M6455</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:04:24Z</dc:date>
    </item>
    <item>
      <title>Re: problem with IAP-based internal flash programming.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/problem-with-IAP-based-internal-flash-programming/m-p/523820#M6456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mc on Wed Jun 26 17:27:07 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;Hi edsut,&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;You need to erase sector before programming it. I am not sure if you are doing it. Please go through following link to better understand it.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;a href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Flpcware.com%2Fcontent%2Fnxpfile%2Fan10866-lpc1700-secondary-usb-bootloader" rel="nofollow" target="_blank"&gt;http://lpcware.com/content/nxpfile/an10866-lpc1700-secondary-usb-bootloader&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Flpcware.com%2Fcontent%2Fnxpfile%2Fan10866-lpc1700-secondary-usb-bootloader" rel="nofollow" target="_blank"&gt;http://lpcware.com/content/nxpfile/an10866-lpc1700-secondary-usb-bootloader&lt;/A&gt;&lt;SPAN&gt;&amp;lt;/a&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;NXP Support&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:04:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/problem-with-IAP-based-internal-flash-programming/m-p/523820#M6456</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:04:25Z</dc:date>
    </item>
    <item>
      <title>Re: problem with IAP-based internal flash programming.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/problem-with-IAP-based-internal-flash-programming/m-p/523821#M6457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by edsut on Thu Jun 27 03:56:44 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;I do erase the flash initially. &amp;nbsp;The difference between what I'm trying to do and what I see is typically done in the examlpes I've seen is that I want to be able to clear a bit within a block of flash that I've previously written. &amp;nbsp;This is a very typical operation with normal flash devices. &amp;nbsp;With normal NOR flash, it is legal to write a bit from 1 to 0 regardless of the state of the surrounding bits. &amp;nbsp;The limitation is that if I want to change the bit from 0 to 1, then I need to erase the entire sector to do that. &amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;In my case, I simply want to be able to do what normal flash allows me to do. &amp;nbsp;Is there any data sheet that describes the capability of the internal flash for these devices? &amp;nbsp;Typically, all I see is the IAP command interface. &amp;nbsp;I'd like to be able to read exactly what this internal flash is capable of.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Thanks for your help,&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Ed&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:04:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/problem-with-IAP-based-internal-flash-programming/m-p/523821#M6457</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:04:25Z</dc:date>
    </item>
    <item>
      <title>Re: problem with IAP-based internal flash programming.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/problem-with-IAP-based-internal-flash-programming/m-p/523822#M6458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by edsut on Thu Jun 27 06:29:03 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;Ok, I think I have the explanation. &amp;nbsp;NXP tech support pointed me to this appnote which explains the problem:&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Fnxpfile%2Fan11008-flash-based-non-volatile-storage-software" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/content/nxpfile/an11008-flash-based-non-volatile-storage-software&lt;/A&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Bottom line: you can't treat this flash like typical NOR flash. &amp;nbsp;It has some limitations.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:04:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/problem-with-IAP-based-internal-flash-programming/m-p/523822#M6458</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:04:26Z</dc:date>
    </item>
  </channel>
</rss>

