John Growdon

Problem: Programming Flash - Code Example

Discussion created by John Growdon on Aug 20, 2006
Latest reply on Aug 22, 2006 by John Growdon
Hi All - I have been trying to implement a very very simple piece of code to program one byte in flash.  After I have this functioning, I can take it from there.  To make things easy, I located the piece of code in RAM so that I did not have to transfer it from flash to RAM.   I simply call this routine with a "jsr"  from my normal code.  Unfortunately - the Flash never gets updated,...
 Here is the assembler code I used:
SpSub:        sei 

             ; Write One byte of data to $182C in Flash
             lda      #(mFPVIOL+mFACCERR)
             sta      FSTAT
             lda      #$0A                                     ; Random data to be programmed
             sta      FLASHStart                          ; FLASHStart equates to $182C - the firsty byte in flash
             lda      #mByteProg
             sta      FCMD
             lda      #mFCBEF
             sta      FSTAT
ChkDone2:     lda      FSTAT
             bpl      ChkDone2
SpSubEnd:     rts
Note 1: I am running at approx 18Mhz and have set up the FCDIV up to %01001011
Does anyone see any problems with this code?
Thanks in Advance -