<?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>8-bit MicrocontrollersのトピックRe: emulate from ram</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131495#M2774</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Use&amp;nbsp;the forum search facility, and search&amp;nbsp;for &lt;U&gt;TN228&lt;/U&gt;.&amp;nbsp; Then open up the first reference, and you should find a link to the document you require.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Nov 2006 06:14:58 GMT</pubDate>
    <dc:creator>bigmac</dc:creator>
    <dc:date>2006-11-10T06:14:58Z</dc:date>
    <item>
      <title>emulate from ram</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131492#M2771</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;-how do i setup so my flash routines emualte from ram&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-someone must have done this recently, any help thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-how do i get the linker to build the ram code and load it into ram at startup&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-has all this been done before? i need to flash page erase and byte write&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;flash.c functions are below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#pragma DATA_SEG _FLASH_TOOL&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static void Flash_Erase (unsigned int FlashAddress){&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;FixedAddres = FlashAddress;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// DataToWrite = 0xFF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// Ram_Routine[22] = 0x40;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// __asm jsr Ram_Routine;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(FSTAT &amp;amp; 0x10) FSTAT |= 0x10; //Check to see if FACCERR is set, write a 1 to FACCERR to clear error&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;*(unsigned char *)FixedAddres = 0xFF; //write anything anywhere in the page to erase&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;FCMD = 0x40; //load flash command type.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;FSTAT |= 0x80; //Put FSTAT/FCBEF = launch a new burst command &amp;amp; wait 4 cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// if (FSTAT&amp;amp;0x30)return; //check to see if FSTAT/FACCERR = an error occuredor FVIOL are set&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(FSTAT &amp;amp; 0x40)); //else wait for comand to complete&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}//void Flash_Erase (unsign&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//*************&amp;gt;&amp;gt;&amp;gt; stores a byte of data onto the Flash at the given address **************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static void Flash_Program(unsigned char data){&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Check to see if FACCERR is set&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (FSTAT &amp;amp; 0x10) FSTAT |= 0x10; //write a 1 to FACCERR to clear&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//write to flash&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*(unsigned char *)FixedAddres = (unsigned char)data;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;FCMD = 0x20; //set command type &amp;amp; launch operation, wait 4 cyc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;FSTAT |= 0x80;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_asm NOP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// if(FSTAT&amp;amp;0x30) return; //check to see if FACCERR or FVIOL are set&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(FSTAT &amp;amp; 0x40)); //else wait for comand to complete&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}//void Flash_Program(By...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#pragma DATA_SEG DEFAULT&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;flash.h&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#pragma DATA_SEG _FLASH_TOOL&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static void Flash_Erase (unsigned int);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static void Flash_Program(unsigned char);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#pragma CODE_SEG DEFAULT&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;mylinker.prn&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SEGMENTS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Z_RAM = READ_WRITE 0x0046 TO 0x00FF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;RAM = READ_WRITE 0x0100 TO 0x04FF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;PATCH_RAM = READ_WRITE 0x0500 TO 0x06FF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;FLASH_TOOL= READ_WRITE 0x0700 TO 0x07C7;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;PLACEMENT&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DEFAULT_ROM INTO ROM;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DEFAULT_RAM INTO RAM, RAM2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_FLASH_TOOL INTO FLASH_TOOL;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Sep 2006 06:42:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131492#M2771</guid>
      <dc:creator>jah</dc:creator>
      <dc:date>2006-09-27T06:42:06Z</dc:date>
    </item>
    <item>
      <title>Re: emulate from ram</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131493#M2772</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Go to the FAQ section of the Freescale web site and search for "Flash programming" (no quotes). FAQ-26240 talks about how to implement Flash programming in detail, along with references to the appropriate app notes.&lt;BR /&gt;&lt;BR /&gt;---Tom&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Sep 2006 21:00:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131493#M2772</guid>
      <dc:creator>J2MEJediMaster</dc:creator>
      <dc:date>2006-09-27T21:00:16Z</dc:date>
    </item>
    <item>
      <title>Re: emulate from ram</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131494#M2773</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;It says to go to technical note 228, but how do i access to that technical note? it doesn't has a link nor i find it anywhere in the site, thank you!&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Nov 2006 04:59:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131494#M2773</guid>
      <dc:creator>Saga</dc:creator>
      <dc:date>2006-11-10T04:59:23Z</dc:date>
    </item>
    <item>
      <title>Re: emulate from ram</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131495#M2774</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Use&amp;nbsp;the forum search facility, and search&amp;nbsp;for &lt;U&gt;TN228&lt;/U&gt;.&amp;nbsp; Then open up the first reference, and you should find a link to the document you require.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Nov 2006 06:14:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131495#M2774</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2006-11-10T06:14:58Z</dc:date>
    </item>
    <item>
      <title>Re: emulate from ram</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131496#M2775</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;I found it! Thank you BIGMAC.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Nov 2006 07:33:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/emulate-from-ram/m-p/131496#M2775</guid>
      <dc:creator>Saga</dc:creator>
      <dc:date>2006-11-10T07:33:11Z</dc:date>
    </item>
  </channel>
</rss>

