<?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のトピックPART 1: Flash write gt60</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/PART-1-Flash-write-gt60/m-p/124016#M128</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ff0000;"&gt;This message contains an entire topic ported from a separate forum. The original message and all replies are in this single message. We have seeded this new forum with selected information that we expect will be of value to you as you search for answers to your questions.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fforums.freescale.com%2Ffreescale%2Fboard%2Fmessage%3Fboard.id%3D8BITCOMM%26message.id%3D42" rel="nofollow" target="_blank"&gt;READ PART 2&lt;/A&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 09, 2005 1:41 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Hello, i need help...&lt;BR /&gt; I write an application that need to write a byte&lt;BR /&gt; in flash memory for MC9S08GT60.&lt;BR /&gt; I'Have setting the FCDIV with&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="code" style="border:0px solid black;"&gt;void InitFlash(void){&lt;BR /&gt;&amp;nbsp; FSTAT_FACCERR=1;&lt;BR /&gt;&amp;nbsp; FSTAT_FPVIOL=1;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; FCDIV = 39;&amp;nbsp;&lt;BR /&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BR /&gt;and the function for write the parameter&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="code" style="border:0px solid black;"&gt;void Flash_Byte_Write(byte Dato,unsigned int Address){&amp;nbsp;&lt;BR /&gt;&amp;nbsp; //write to flash&amp;nbsp;&lt;BR /&gt;&amp;nbsp; unsigned int tmp = 0;&lt;BR /&gt;&amp;nbsp; byte * ADD;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; ADD = (byte *)Address;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; //se c'è un errore cancello l'errore&amp;nbsp;&lt;BR /&gt;&amp;nbsp; FSTAT_FACCERR=1;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; FSTAT_FPVIOL=1;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; //carico il dato nel buffer della flash&lt;BR /&gt;&amp;nbsp; * ADD = Dato;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; //mando il comando di programmazione byte singolo&lt;BR /&gt;&amp;nbsp; FCMD = 0x20;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; //lancio il comando&lt;BR /&gt;&amp;nbsp; FSTAT_FCBEF = 1;&lt;BR /&gt;&amp;nbsp; while(!FSTAT_FCCF){&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BR /&gt;with Codewarrior as developer tool, when i launch the debugger and&lt;BR /&gt;i use step by step debug, all is ok.&lt;BR /&gt;When I don't use the debugger (program run normaly in the target board), the application is not run properly.&lt;BR /&gt;&lt;BR /&gt;I have set the external crystal (36.Khz) and the Bus clock is 7.34 Mhz.&lt;BR /&gt;What is wrong ?&lt;BR /&gt;&lt;BR /&gt;Thank in advance&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Fri May 13, 2005 9:26 am&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;I am having exactly the same problem with a GT32.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 7:19 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;My flash writing problem appears as follows:&lt;BR /&gt;&lt;BR /&gt; FCDIV=22;&lt;BR /&gt;&lt;BR /&gt; FSTAT=0xFF;&lt;BR /&gt; flash_test=0x3c; /* arbitrary byte */&lt;BR /&gt; FCMD=0x20; /* program byte command */&lt;BR /&gt; FSTAT_FCBEF=1;&lt;BR /&gt; asm nop&lt;BR /&gt; asm nop /* breakpoint 1 */&lt;BR /&gt; asm nop&lt;BR /&gt; asm nop /* breakpoint 2 */&lt;BR /&gt;&lt;BR /&gt; If I stop the program at breakpoint 1, the flash memory has been correcly programmed. If I disable breakpoint 1, the program never reaches breakpoint 2. No interrupts are enabled.&lt;BR /&gt;&lt;BR /&gt; Any help will be much appreciated. Thanks in advance.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 7:47 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;It's really the same problem,&lt;BR /&gt; in the freescale bootloader for the GT60 (Gt32..)&lt;BR /&gt;&lt;BR /&gt; AN2295.pdf&lt;BR /&gt;&lt;BR /&gt; The function that write and erase the flash memory is load&lt;BR /&gt; in the stack and then is execute from the stack. &lt;A href="http://www.freegeeks.net/modules/Forums/images/smiles/icon_eek.gif"&gt;&lt;IMG alt="Shocked" border="0" src="http://www.freegeeks.net/modules/Forums/images/smiles/icon_eek.gif" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt; I think that this is the problem (maybe....).&lt;BR /&gt; Now I try to do this.... &lt;A href="http://www.freegeeks.net/modules/Forums/images/smiles/icon_confused.gif"&gt;&lt;IMG alt="Confused" border="0" src="http://www.freegeeks.net/modules/Forums/images/smiles/icon_confused.gif" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 3:55 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Hi &lt;SPAN style="FONT-WEIGHT: bold;"&gt;user 1&lt;/SPAN&gt;,&lt;BR /&gt; You can execute code from anywhere, even from registers if not careful. And I would hope the AN author checked his soft...&lt;BR /&gt; Are you certain of your clock init routine ?&lt;BR /&gt; I'm thinking you could have a different clock between your two modes.&lt;BR /&gt;&lt;BR /&gt; Hi &lt;SPAN style="FONT-WEIGHT: bold;"&gt;user 2&lt;/SPAN&gt;,&lt;BR /&gt; Have you tried to break the execution when you never get to breakpoint 2.&lt;BR /&gt; It should give status of the MCU and tell you where you are, just to put aside any code runaway situation.&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="FONT-WEIGHT: bold;"&gt;Both&lt;/SPAN&gt;,&lt;BR /&gt; May you forward the internal bus clock to a pin (via a TIMER or anything) so we can check at which speed it's running and if anything goes wrong &lt;A href="http://www.freegeeks.net/modules/Forums/images/smiles/icon_question.gif"&gt;&lt;IMG alt="Question" border="0" src="http://www.freegeeks.net/modules/Forums/images/smiles/icon_question.gif" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt; Cheers,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 6:06 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;The init clock is created by Codewarrior....&lt;BR /&gt;&lt;BR /&gt; /****************/&lt;BR /&gt; SOPT = 2;&lt;BR /&gt; SPMSC1 = 28;&lt;BR /&gt; SPMSC2 = 0;&lt;BR /&gt; ICGC1 = 60;&lt;BR /&gt; ICGC2 = 81;&lt;BR /&gt; ICGTRM = 128;&lt;BR /&gt; while(!ICGS1_LOCK);&lt;BR /&gt; /****************/&lt;BR /&gt;&lt;BR /&gt; I check the instruction and is all ok.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 7:57 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;OK, It's Right,&lt;BR /&gt; I use the stack for execute the function&lt;BR /&gt; that write-erase flash and it's ok.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 11:55 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="code" style="border:0px solid black;"&gt;ICGC1 = 60;&lt;BR /&gt;ICGC2 = 81;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;BR /&gt;means that you get low speed speed (range=P=64), Multiplier of 14 (MFD=101) and divider of 2 (RFD=001). Therefore bus frequency is:&lt;BR /&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;datasheet wrote:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="quote" style="border:0px solid black;"&gt;fext * P * N / R&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;BR /&gt;You get, from a 36kHz osc =&amp;gt; &lt;SPAN style="TEXT-DECORATION: underline; FONT-WEIGHT: bold;"&gt;16.128MHz&lt;/SPAN&gt;&lt;BR /&gt;I don't see how you get 7MHz bus.&lt;BR /&gt;&lt;BR /&gt;Also&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="code" style="border:0px solid black;"&gt;ICGTRM = 128;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;looks like a default value and that the internal oscillator is not really trimed.&lt;BR /&gt;&lt;BR /&gt; What am I missing ?&lt;BR /&gt; Cheers,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 12:52 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Yes, but the crystal is 32768 Hz and then&lt;BR /&gt; the FBus is FCLK /2, where&lt;BR /&gt;&lt;BR /&gt; FCLK = P *N/R *FCRYSTAL&lt;BR /&gt;&lt;BR /&gt; using P=64 N=14, R=2&lt;BR /&gt;&lt;BR /&gt; so the FBus = 7340032 Hz&lt;BR /&gt;&lt;BR /&gt; Page 109 of datasheet GT60 and example 7.4.2 page 112&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 1:17 pm&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Oki, I get it. Coz my 16...MHz divided by two were far from 7MHz.&lt;BR /&gt; But the reference was different!&lt;BR /&gt;&lt;BR /&gt; And about the trim? Are you sure you stay within specified time for Flash timing. Anyway, even slightly out, it should not be an issue.&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 1:21 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;It's not important,&lt;BR /&gt; you can cut the line TRIM=128,&lt;BR /&gt; it's only because i have make cut and paste from&lt;BR /&gt; another project and i forgot to eliminate the line &lt;A href="http://www.freegeeks.net/modules/Forums/images/smiles/icon_redface.gif"&gt;&lt;IMG alt="Embarassed" border="0" src="http://www.freegeeks.net/modules/Forums/images/smiles/icon_redface.gif" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Wed May 18, 2005 8:40 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Thanks for the input. Could you please give me an example of executing the commands from the stack.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Wed May 18, 2005 9:18 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;OK,&lt;BR /&gt; You Can Download from freescale the Software&lt;BR /&gt;&lt;BR /&gt; AN2295SW.zip of the application AN2295&lt;BR /&gt;&lt;BR /&gt; It's the Bootloader for the GT family.&lt;BR /&gt; If You search inside zip, You will find the file&lt;BR /&gt;&lt;BR /&gt; slfprg-s08gbgt.asm&lt;BR /&gt;&lt;BR /&gt; in this file you can cut and paste the function ERASE_COM and WR_DATA_COM, cut the part of the serial port.&lt;BR /&gt; Use this functions and call from another asm routine or c function.&lt;BR /&gt;&lt;BR /&gt; Ok ?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Thu May 19, 2005 8:16 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;you are a champ. Many thanks&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue Sep 20, 2005 6:59 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;any other guru:&lt;BR /&gt;&lt;BR /&gt; I am pretty new to f/w programming and not really familiar with assembly language&lt;BR /&gt;&lt;BR /&gt; I have been trying max's solution of using code from slfprg-s08gbgt.asm for quite some time now.&lt;BR /&gt;&lt;BR /&gt; Could anyone please print out the exact(independent) assembly code that should be included and code in C calling those assembly functions?&lt;BR /&gt;&lt;BR /&gt; I have trying to pass arguments to assembly functions without much success&lt;BR /&gt;&lt;BR /&gt; Thanks&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;P&gt;Message Edited by RChapman on &lt;SPAN class="date_text"&gt;01-24-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;02:24 PM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 25 Jan 2006 02:03:21 GMT</pubDate>
    <dc:creator>RChapman</dc:creator>
    <dc:date>2006-01-25T02:03:21Z</dc:date>
    <item>
      <title>PART 1: Flash write gt60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/PART-1-Flash-write-gt60/m-p/124016#M128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ff0000;"&gt;This message contains an entire topic ported from a separate forum. The original message and all replies are in this single message. We have seeded this new forum with selected information that we expect will be of value to you as you search for answers to your questions.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fforums.freescale.com%2Ffreescale%2Fboard%2Fmessage%3Fboard.id%3D8BITCOMM%26message.id%3D42" rel="nofollow" target="_blank"&gt;READ PART 2&lt;/A&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 09, 2005 1:41 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Hello, i need help...&lt;BR /&gt; I write an application that need to write a byte&lt;BR /&gt; in flash memory for MC9S08GT60.&lt;BR /&gt; I'Have setting the FCDIV with&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="code" style="border:0px solid black;"&gt;void InitFlash(void){&lt;BR /&gt;&amp;nbsp; FSTAT_FACCERR=1;&lt;BR /&gt;&amp;nbsp; FSTAT_FPVIOL=1;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; FCDIV = 39;&amp;nbsp;&lt;BR /&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BR /&gt;and the function for write the parameter&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="code" style="border:0px solid black;"&gt;void Flash_Byte_Write(byte Dato,unsigned int Address){&amp;nbsp;&lt;BR /&gt;&amp;nbsp; //write to flash&amp;nbsp;&lt;BR /&gt;&amp;nbsp; unsigned int tmp = 0;&lt;BR /&gt;&amp;nbsp; byte * ADD;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; ADD = (byte *)Address;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; //se c'è un errore cancello l'errore&amp;nbsp;&lt;BR /&gt;&amp;nbsp; FSTAT_FACCERR=1;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; FSTAT_FPVIOL=1;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; //carico il dato nel buffer della flash&lt;BR /&gt;&amp;nbsp; * ADD = Dato;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; //mando il comando di programmazione byte singolo&lt;BR /&gt;&amp;nbsp; FCMD = 0x20;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; //lancio il comando&lt;BR /&gt;&amp;nbsp; FSTAT_FCBEF = 1;&lt;BR /&gt;&amp;nbsp; while(!FSTAT_FCCF){&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BR /&gt;with Codewarrior as developer tool, when i launch the debugger and&lt;BR /&gt;i use step by step debug, all is ok.&lt;BR /&gt;When I don't use the debugger (program run normaly in the target board), the application is not run properly.&lt;BR /&gt;&lt;BR /&gt;I have set the external crystal (36.Khz) and the Bus clock is 7.34 Mhz.&lt;BR /&gt;What is wrong ?&lt;BR /&gt;&lt;BR /&gt;Thank in advance&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Fri May 13, 2005 9:26 am&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;I am having exactly the same problem with a GT32.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 7:19 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;My flash writing problem appears as follows:&lt;BR /&gt;&lt;BR /&gt; FCDIV=22;&lt;BR /&gt;&lt;BR /&gt; FSTAT=0xFF;&lt;BR /&gt; flash_test=0x3c; /* arbitrary byte */&lt;BR /&gt; FCMD=0x20; /* program byte command */&lt;BR /&gt; FSTAT_FCBEF=1;&lt;BR /&gt; asm nop&lt;BR /&gt; asm nop /* breakpoint 1 */&lt;BR /&gt; asm nop&lt;BR /&gt; asm nop /* breakpoint 2 */&lt;BR /&gt;&lt;BR /&gt; If I stop the program at breakpoint 1, the flash memory has been correcly programmed. If I disable breakpoint 1, the program never reaches breakpoint 2. No interrupts are enabled.&lt;BR /&gt;&lt;BR /&gt; Any help will be much appreciated. Thanks in advance.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 7:47 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;It's really the same problem,&lt;BR /&gt; in the freescale bootloader for the GT60 (Gt32..)&lt;BR /&gt;&lt;BR /&gt; AN2295.pdf&lt;BR /&gt;&lt;BR /&gt; The function that write and erase the flash memory is load&lt;BR /&gt; in the stack and then is execute from the stack. &lt;A href="http://www.freegeeks.net/modules/Forums/images/smiles/icon_eek.gif"&gt;&lt;IMG alt="Shocked" border="0" src="http://www.freegeeks.net/modules/Forums/images/smiles/icon_eek.gif" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt; I think that this is the problem (maybe....).&lt;BR /&gt; Now I try to do this.... &lt;A href="http://www.freegeeks.net/modules/Forums/images/smiles/icon_confused.gif"&gt;&lt;IMG alt="Confused" border="0" src="http://www.freegeeks.net/modules/Forums/images/smiles/icon_confused.gif" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Mon May 16, 2005 3:55 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Hi &lt;SPAN style="FONT-WEIGHT: bold;"&gt;user 1&lt;/SPAN&gt;,&lt;BR /&gt; You can execute code from anywhere, even from registers if not careful. And I would hope the AN author checked his soft...&lt;BR /&gt; Are you certain of your clock init routine ?&lt;BR /&gt; I'm thinking you could have a different clock between your two modes.&lt;BR /&gt;&lt;BR /&gt; Hi &lt;SPAN style="FONT-WEIGHT: bold;"&gt;user 2&lt;/SPAN&gt;,&lt;BR /&gt; Have you tried to break the execution when you never get to breakpoint 2.&lt;BR /&gt; It should give status of the MCU and tell you where you are, just to put aside any code runaway situation.&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="FONT-WEIGHT: bold;"&gt;Both&lt;/SPAN&gt;,&lt;BR /&gt; May you forward the internal bus clock to a pin (via a TIMER or anything) so we can check at which speed it's running and if anything goes wrong &lt;A href="http://www.freegeeks.net/modules/Forums/images/smiles/icon_question.gif"&gt;&lt;IMG alt="Question" border="0" src="http://www.freegeeks.net/modules/Forums/images/smiles/icon_question.gif" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt; Cheers,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 6:06 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;The init clock is created by Codewarrior....&lt;BR /&gt;&lt;BR /&gt; /****************/&lt;BR /&gt; SOPT = 2;&lt;BR /&gt; SPMSC1 = 28;&lt;BR /&gt; SPMSC2 = 0;&lt;BR /&gt; ICGC1 = 60;&lt;BR /&gt; ICGC2 = 81;&lt;BR /&gt; ICGTRM = 128;&lt;BR /&gt; while(!ICGS1_LOCK);&lt;BR /&gt; /****************/&lt;BR /&gt;&lt;BR /&gt; I check the instruction and is all ok.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 7:57 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;OK, It's Right,&lt;BR /&gt; I use the stack for execute the function&lt;BR /&gt; that write-erase flash and it's ok.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 11:55 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="code" style="border:0px solid black;"&gt;ICGC1 = 60;&lt;BR /&gt;ICGC2 = 81;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;BR /&gt;means that you get low speed speed (range=P=64), Multiplier of 14 (MFD=101) and divider of 2 (RFD=001). Therefore bus frequency is:&lt;BR /&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;datasheet wrote:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="quote" style="border:0px solid black;"&gt;fext * P * N / R&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;BR /&gt;You get, from a 36kHz osc =&amp;gt; &lt;SPAN style="TEXT-DECORATION: underline; FONT-WEIGHT: bold;"&gt;16.128MHz&lt;/SPAN&gt;&lt;BR /&gt;I don't see how you get 7MHz bus.&lt;BR /&gt;&lt;BR /&gt;Also&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:0px solid black;"&gt;&lt;SPAN class="genmed"&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="code" style="border:0px solid black;"&gt;ICGTRM = 128;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;looks like a default value and that the internal oscillator is not really trimed.&lt;BR /&gt;&lt;BR /&gt; What am I missing ?&lt;BR /&gt; Cheers,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 12:52 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Yes, but the crystal is 32768 Hz and then&lt;BR /&gt; the FBus is FCLK /2, where&lt;BR /&gt;&lt;BR /&gt; FCLK = P *N/R *FCRYSTAL&lt;BR /&gt;&lt;BR /&gt; using P=64 N=14, R=2&lt;BR /&gt;&lt;BR /&gt; so the FBus = 7340032 Hz&lt;BR /&gt;&lt;BR /&gt; Page 109 of datasheet GT60 and example 7.4.2 page 112&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 1:17 pm&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Oki, I get it. Coz my 16...MHz divided by two were far from 7MHz.&lt;BR /&gt; But the reference was different!&lt;BR /&gt;&lt;BR /&gt; And about the trim? Are you sure you stay within specified time for Flash timing. Anyway, even slightly out, it should not be an issue.&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue May 17, 2005 1:21 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;It's not important,&lt;BR /&gt; you can cut the line TRIM=128,&lt;BR /&gt; it's only because i have make cut and paste from&lt;BR /&gt; another project and i forgot to eliminate the line &lt;A href="http://www.freegeeks.net/modules/Forums/images/smiles/icon_redface.gif"&gt;&lt;IMG alt="Embarassed" border="0" src="http://www.freegeeks.net/modules/Forums/images/smiles/icon_redface.gif" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Wed May 18, 2005 8:40 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;Thanks for the input. Could you please give me an example of executing the commands from the stack.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Wed May 18, 2005 9:18 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;OK,&lt;BR /&gt; You Can Download from freescale the Software&lt;BR /&gt;&lt;BR /&gt; AN2295SW.zip of the application AN2295&lt;BR /&gt;&lt;BR /&gt; It's the Bootloader for the GT family.&lt;BR /&gt; If You search inside zip, You will find the file&lt;BR /&gt;&lt;BR /&gt; slfprg-s08gbgt.asm&lt;BR /&gt;&lt;BR /&gt; in this file you can cut and paste the function ERASE_COM and WR_DATA_COM, cut the part of the serial port.&lt;BR /&gt; Use this functions and call from another asm routine or c function.&lt;BR /&gt;&lt;BR /&gt; Ok ?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Thu May 19, 2005 8:16 am&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;you are a champ. Many thanks&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;&lt;STRONG&gt;Posted: Tue Sep 20, 2005 6:59 pm&lt;/STRONG&gt;&lt;SPAN class="gen"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postdetails"&gt;any other guru:&lt;BR /&gt;&lt;BR /&gt; I am pretty new to f/w programming and not really familiar with assembly language&lt;BR /&gt;&lt;BR /&gt; I have been trying max's solution of using code from slfprg-s08gbgt.asm for quite some time now.&lt;BR /&gt;&lt;BR /&gt; Could anyone please print out the exact(independent) assembly code that should be included and code in C calling those assembly functions?&lt;BR /&gt;&lt;BR /&gt; I have trying to pass arguments to assembly functions without much success&lt;BR /&gt;&lt;BR /&gt; Thanks&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="gensmall"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;SPAN class="postdetails"&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;P&gt;Message Edited by RChapman on &lt;SPAN class="date_text"&gt;01-24-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;02:24 PM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jan 2006 02:03:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/PART-1-Flash-write-gt60/m-p/124016#M128</guid>
      <dc:creator>RChapman</dc:creator>
      <dc:date>2006-01-25T02:03:21Z</dc:date>
    </item>
  </channel>
</rss>

