<?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 A little user flash question - MC9S08QE4 in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/A-little-user-flash-question-MC9S08QE4/m-p/212828#M18344</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Im using a 9S08QE4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to write some byte in the flash&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but I dont know where I have the "right"(by there I mean not to overwrite myself) to write in it&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At first I tough at F000 but seem its the start of my program there.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So its right before the non volatile register at FFB0 - 512 byte start the last page I can use?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and if its true is there a way to be sure my program wont be store there and I wont erease it?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks to help the noob &lt;/SPAN&gt;&lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-very-happy.gif"&gt;&lt;IMG alt=":smileyvery-happy:" class="emoticon emoticon-smileyvery-happy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-very-happy.gif" title="Smiley Very Happy" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Added p/n to subject. &lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by NLFSJ on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2008-12-29&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;08:25 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 27 Dec 2008 12:46:12 GMT</pubDate>
    <dc:creator>JulsPower</dc:creator>
    <dc:date>2008-12-27T12:46:12Z</dc:date>
    <item>
      <title>A little user flash question - MC9S08QE4</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/A-little-user-flash-question-MC9S08QE4/m-p/212828#M18344</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Im using a 9S08QE4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to write some byte in the flash&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but I dont know where I have the "right"(by there I mean not to overwrite myself) to write in it&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At first I tough at F000 but seem its the start of my program there.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So its right before the non volatile register at FFB0 - 512 byte start the last page I can use?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and if its true is there a way to be sure my program wont be store there and I wont erease it?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks to help the noob &lt;/SPAN&gt;&lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-very-happy.gif"&gt;&lt;IMG alt=":smileyvery-happy:" class="emoticon emoticon-smileyvery-happy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-very-happy.gif" title="Smiley Very Happy" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Added p/n to subject. &lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by NLFSJ on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2008-12-29&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;08:25 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Dec 2008 12:46:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/A-little-user-flash-question-MC9S08QE4/m-p/212828#M18344</guid>
      <dc:creator>JulsPower</dc:creator>
      <dc:date>2008-12-27T12:46:12Z</dc:date>
    </item>
    <item>
      <title>Re: A little user flash question</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/A-little-user-flash-question-MC9S08QE4/m-p/212829#M18345</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;The protection mechanism, will protect everything above a certain limit. This means that the EEPROM should be placed below a certain limit.&lt;/DIV&gt;&lt;DIV&gt;As the page size is 512 bytes, this means that for the 9S08QE4, the EEPROM should start at 0xF000 and end at 0xF1FF. The program memory should start at 0xF200 then.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But as the page síze is 512 bytes, and there is no more than 256 RAM bytes available, and that memory should be used for the stack and other variables, the maximum size of the parameters should be set at about 64 bytes. Those 64 bytes are the first in the EEPROM buffer.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;As the code must be executed in RAM while erasing/programming the Flash EPROM, there are two ways of doing it.&lt;/DIV&gt;&lt;DIV&gt;Either you set aside a static buffer that can hold one entire erase/program routine, or you push it on the stack.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Now, I have not&amp;nbsp;written it myself, so I cannot say that it is possible.&lt;/DIV&gt;&lt;DIV&gt;On the 9S08QE8 it can be done anyhow.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Ake&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Dec 2008 20:29:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/A-little-user-flash-question-MC9S08QE4/m-p/212829#M18345</guid>
      <dc:creator>Ake</dc:creator>
      <dc:date>2008-12-29T20:29:32Z</dc:date>
    </item>
    <item>
      <title>Re: A little user flash question - MC9S08QE4</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/A-little-user-flash-question-MC9S08QE4/m-p/212830#M18346</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello again,&lt;/DIV&gt;&lt;DIV&gt;Here is the code required to emulate an EEPROM on the 9S08QE4.&lt;/DIV&gt;&lt;DIV&gt;Two things that need to be fixed:&lt;/DIV&gt;&lt;DIV&gt;1) I tried to copy a string in the Flash EPROM to the EEPROM, but I only got the first byte of the entire string.&lt;/DIV&gt;&lt;DIV&gt;2) I have not implemented the setting of the Flash EPROM protection bits in the NVPROT register.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;To recover the files, rename the .txt file to .zip and run WinZip&amp;nbsp; on it.&lt;/DIV&gt;&lt;DIV&gt;This will rebuild all the necessary files.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Happy New Year,&lt;/DIV&gt;&lt;DIV&gt;Ake&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.freescale.com/files/community_files/8BITCOMM/12892_qe4_eeprom_2.txt" rel="nofollow" target="_self"&gt;QE4_EEPROM_2.txt&lt;/A&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by t.dowe on&lt;/SPAN&gt; &lt;SPAN class="local-date"&gt;2009-10-27&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;11:56 AM&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Dec 2008 20:43:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/A-little-user-flash-question-MC9S08QE4/m-p/212830#M18346</guid>
      <dc:creator>Ake</dc:creator>
      <dc:date>2008-12-30T20:43:31Z</dc:date>
    </item>
    <item>
      <title>Re: A little user flash question - MC9S08QE4</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/A-little-user-flash-question-MC9S08QE4/m-p/212831#M18347</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;I actualy made it work&lt;BR /&gt;I set my PRM file as this&lt;BR /&gt;Z_RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; READ_WRITE&amp;nbsp;&amp;nbsp; 0x0060 TO 0x00FC;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; READ_WRITE&amp;nbsp;&amp;nbsp; 0x00FD TO 0x015F;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLASH_TO_RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; READ_ONLY&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xF000 TO 0xF06F RELOCATE_TO 0x60;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; READ_ONLY&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xF070 TO 0xFFBF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; READ_ONLY&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFC0 TO 0xFFCD;&lt;BR /&gt;FLASH_ROUTINES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp; FLASH_TO_RAM;&lt;BR /&gt;&lt;BR /&gt;And I use the page FC00 to write my char, each time I have to write it I put it in the next address,&lt;BR /&gt;If its full I erase the page and start from FC00 again&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Im not using NVProt at the moment&lt;BR /&gt;Should I? What it would give more?&lt;BR /&gt;Should I use the Adress F000 page for my variable?, and the program start at adress F200?&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Dec 2008 23:47:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/A-little-user-flash-question-MC9S08QE4/m-p/212831#M18347</guid>
      <dc:creator>JulsPower</dc:creator>
      <dc:date>2008-12-30T23:47:43Z</dc:date>
    </item>
  </channel>
</rss>

