📄 bdm.asm
字号:
;----------------------------------------------------------------------------;
; BDM.MAS Comandos BDM 68HC9S08 ;
; ======= ;
;----------------------------------------------------------------------------;
; Programado por Ing.Gabriel Dubatti (c)2005-2006 ;
; info@ingdubatti.com.ar ;
; www.ingdubatti.com.ar ;
;----------------------------------------------------------------------------;
;===========================================================
; DoCmdVersion:
; Retorna la version del soft del POD
; Actual: 02
;===========================================================
DoCmdVersion:
lda #$02 ;
bra TXHexByte ;envia la version y sale
;===========================================================
; DoCmdReset:
; Comando RESET MICRO: baja el reset durante 10 mseg
;===========================================================
DoCmdReset:
bset PA_B_RESET,PORTA ;RESET ON
ldx #!23 ;pausa total= 23*1795= 41205 = 10.3mseg
clra ;
_DoTopBdm1:
_DoTopBdm2:
sta COPCTL ;reset COP
dbnza _DoTopBdm2
dbnzx _DoTopBdm1
bclr PA_B_RESET,PORTA ;RESET OFF
; |
; |
; \|/
;===========================================================
; DoCmdOK:
; NO HACE NADA, solo recorna el eco
;===========================================================
DoCmdOK:
rts ;
;===========================================================
; DoCmdQuickSYNC:
; Resincroniza la conexion BDM
; (env韆 pulso de SYNC y determina el clock del BDM)
; Metodo SOFT => NO resetea al procesador, delay MINIMO
; UTILIZA velocidad medida con DoCmdHardSYNC o DoCmdSoftSYNC
;===========================================================
DoCmdQuickSYNC:
bclr PA_B_BKD,PORTA ;fuerza BKGD pin = 1
clra ;verifica que realmente este en "1"
_DoTopBdm3:
deca
beq errdbglow
; bra errdbglow ;envia ERROR BKGD LOW: "_" y sale
bil _DoTopBdm3
;Genera pulso de 128 ciclos BDM segun "syncwidth"
bset PA_B_BKD,PORTA ;BAJA BKGD pin
nsa ;
nsa ;
nsa ;
nsa ;
nsa ;
nsa ;
bih errdbghigh
; bra errdbghigh ;no bajo => "e" (pin trabado a "1")
ldx syncwidth ;delay del SYNC en unidades de 4 ciclos
incx ;compenza restar antes de contar
lda {syncwidth+1} ;
inca ;compenza restar antes de contar
_DoTopBdm6:
_DoTopBdm7:
nop ;
dbnza _DoTopBdm7
deca ;compensa demora de 4 ciclos del loop
dbnzx _DoTopBdm6
bra contSYNC ;continua con el SYNC
;===========================================================
; DoCmdHardSYNC:
; Resincroniza la conexion BDM
; (env韆 pulso de SYNC y determina el clock del BDM)
; Metodo HARD => RESETEA el procesador y lo arranca en modo
; DEBUG
;
; En la version "02C" se agreg
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -