Utilizando a Flash como EEPROM no 68HC908JL3 em ASSEMBLY

Enviado:
20 Mar 2007 19:50
por moura.everton
" Iniciante " Estou tentando a bastante tempo e não obtenho sucesso, estou seguindo as dicas do livro do Fábio Pereira, parece simples, mas não está funcionando, preciso simplesmente gravar um BYTE, alguém tem uma dica aí!!!!!!!!!!!!! Desde já agradeço!!!!!!!!!!!!

Enviado:
21 Mar 2007 14:56
por CCandido
antiga e tosca mas funciona até hoje.
FLCR EQU $FE08
HVEN EQU 3
MASS EQU 2
ERASE EQU 1
PGM EQU 0
FLBPR EQU $FE09 ;
BRKH EQU $FE0C ;
BRKL EQU $FF7D ;
BRKSCR EQU $FF7E ;
COPCTL EQU $FFFF
RAM EQU $0080
RAMPRG EQU $00A0
ERARNGE EQU $FC06
PRGRNGE EQU $FC09
;******************************
ORG $0080
ORG $0088
CTRLBYT EQU $0088
ORG $0089
CPUSPD EQU $0089
ORG $008A
LADDR rmb 2
ORG $008C
DATA rmb $08 //sao os 8 bytes a ser gravado
ID0 RMB 1 //IDx = temp
ID1 RMB 1
ID2 RMB 1
ID3 RMB 1
ID4 RMB 1
ID5 RMB 1
ID6 RMB 1
ID7 RMB 1
;******************************
//---------------------------------------------------------
carregar:
LDA ID0
LDHX #$00
STA DATA,X
LDA ID1
LDHX #$01
STA DATA,X
LDA ID2
LDHX #$02
STA DATA,X
LDA ID3
LDHX #$03
STA DATA,X
LDA ID4
LDHX #$04
STA DATA,X
LDA ID5
LDHX #$05
STA DATA,X
LDA ID6
LDHX #$06
STA DATA,X
LDA ID7
LDHX #$07
STA DATA,X
SEI ; INTERRUPÇAOES DESABILITDA
BSET TSTOP,TSC ; TIMER PARALIZADO
CLRX
CLRX
;*********************************************************************
; AQ. É EXECUTADO A ROTINA W_FLASH
; ! NAO TEM RETURN !
; A MCU É LEVADA AO RESET PELO CAO DE GUARDA!!!
;*********************************************************************
FLASH_PROG
CLRX
NEXTRAM
LDA ERAPAGE,X
STA RAMPRG,X
INCX
CBEQX #(ENDPRG-ERAPAGE),RUNRAM
BRA NEXTRAM
RUNRAM
JMP RAMPRG
;**************************************
ERAPAGE
LDA #$FF
STA FLBPR
CLR CTRLBYT
MOV #$04,CPUSPD
LDHX #$FB00 ;FBF0
JSR ERARNGE
;*************************************
PRGPAGE
CLR CTRLBYT
MOV #$04,CPUSPD
LDHX #$FB07 ;
STHX LADDR
LDHX #$FB00 ; 8byte de $FB00~$FB07
JSR PRGRNGE
BRA * // colocar retorno aqui.....
ENDPRG
;*************************************

Enviado:
17 Ago 2007 14:19
por R.B.Sanchez
Estou iniciando a utilização da Flash do 68HC908JL3, porém não estou encontrando muita informação, tenho as seguintes rotinas:
*************************************
ERARNGE EQU $FC06
PRGRNGE EQU $FC09
APAGA:
LDHX #LASTROW
CLR CTRLBYT
JSR ERARNGE
RTS
PROGRAMA:
LDHX #LASTROW+$3F
STHX LADDR
LDHX #LASTROW
JSR PRGRNGE
RTS
*************************************
Gostaria de uma opnião sobre estas rotinas e eu não consegui encontrar uma rotina para ler a Flash.
Atenciosamente,
Renato.