<?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 FLASH LIFE CYCLE QUESTION in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210916#M18092</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a question about writing to the internal 16k flash of my HS08JM16. The life cycle count is 100k. My project is to take accelerometer data for about 5 seconds, then save it to the flash. I've been doing some research and have found erase commands and also a byte write command. However, if one set of data is 1kb, and if I have to do single writes to the flash, does this mean that my flash will only last 100 runs? Is there a way to program a whole page of data? Any and all information with regards to writing multiple bytes to the flash and if there is a way to write more than one byte at a time would be appreciated. If I can write all 1kb to the flash in 1 write cycle, that would be the best scenario.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 31 May 2011 02:47:43 GMT</pubDate>
    <dc:creator>dinewby88</dc:creator>
    <dc:date>2011-05-31T02:47:43Z</dc:date>
    <item>
      <title>FLASH LIFE CYCLE QUESTION</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210916#M18092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a question about writing to the internal 16k flash of my HS08JM16. The life cycle count is 100k. My project is to take accelerometer data for about 5 seconds, then save it to the flash. I've been doing some research and have found erase commands and also a byte write command. However, if one set of data is 1kb, and if I have to do single writes to the flash, does this mean that my flash will only last 100 runs? Is there a way to program a whole page of data? Any and all information with regards to writing multiple bytes to the flash and if there is a way to write more than one byte at a time would be appreciated. If I can write all 1kb to the flash in 1 write cycle, that would be the best scenario.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 May 2011 02:47:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210916#M18092</guid>
      <dc:creator>dinewby88</dc:creator>
      <dc:date>2011-05-31T02:47:43Z</dc:date>
    </item>
    <item>
      <title>Re: FLASH LIFE CYCLE QUESTION</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210917#M18093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello David, and welcome to the forum.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The flash life cycle is based on the number of erases for each flash sector.&amp;nbsp; Of course, each byte within a sector may&amp;nbsp;be programmed only once after each erase, but it is not necessary to use burst programming&amp;nbsp;of consecutive bytes.&amp;nbsp; Individual bytes may be&amp;nbsp;programmed in any sequence.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With burst programming, a single row may be&amp;nbsp;sequentially programmed, and is marginally faster than byte-by-byte programming.&amp;nbsp; However, it is more complex, and you need to consider the position of each row within the sector, and you are still only programming one byte at a time.&amp;nbsp; The difference is that the internal programming voltage remains active for the whole burst, rather than being lowered between bytes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With 1KB of non-volatile data, this will occupy two flash sectors for most HCS08 derivatives.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mac&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 May 2011 11:50:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210917#M18093</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2011-05-31T11:50:21Z</dc:date>
    </item>
    <item>
      <title>Re: FLASH LIFE CYCLE QUESTION</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210918#M18094</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;dinewby88, I would recommend implementing a wear-leveling algorithm. &amp;nbsp;Your accelerometer is probably SPI or I2C, right? Which is going to be a single byte or data? &amp;nbsp;Keep track of&amp;nbsp;﻿the position in your flash sector, writing the latest byte after incrementing a sector pointer. &amp;nbsp;When you get to the end, erase the sector, and start over.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Jun 2011 01:36:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210918#M18094</guid>
      <dc:creator>irob</dc:creator>
      <dc:date>2011-06-01T01:36:33Z</dc:date>
    </item>
    <item>
      <title>Re: FLASH LIFE CYCLE QUESTION</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210919#M18095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You are correct. It is an I2C accelerometer. What is this "wear-leveling" algorithm? The accelerometer will be outputing approximately as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;20 samples/second&lt;/P&gt;&lt;P&gt;5 second run&lt;/P&gt;&lt;P&gt;2 bytes/data point&lt;/P&gt;&lt;P&gt;3 axis&lt;/P&gt;&lt;P&gt;=600 bytes of data at a time.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is it just keeping track of the location in the flash sector?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also want the capability of saving multiple runs in the flash so the user can pull the data from multiple runs.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Jun 2011 09:37:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210919#M18095</guid>
      <dc:creator>dinewby88</dc:creator>
      <dc:date>2011-06-01T09:37:12Z</dc:date>
    </item>
    <item>
      <title>Re: FLASH LIFE CYCLE QUESTION</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210920#M18096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hi Dinewby88,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is some perspective:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Each byte will only be written once until it can be read-out by the user. I expect that the user has to attach your device to some USB port to accomplish the read-out.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So if your user does that proceedure 13 times a day, 7 days a week, the flash is still going to last over 20 years.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Jun 2011 12:41:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/FLASH-LIFE-CYCLE-QUESTION/m-p/210920#M18096</guid>
      <dc:creator>rocco</dc:creator>
      <dc:date>2011-06-01T12:41:50Z</dc:date>
    </item>
  </channel>
</rss>

