📄 9s08 gb gt32 slow.loa
字号:
;--------------------------------------------------------
;LOADER 9S08 GB GT32 SLOW - archivo de secuencia de comandos
;(c) 2005 Ing. Dubatti www.ingdubatti.com.ar
;--------------------------------------------------------
; S髄o para demostrar el uso sin descargar codigo a RAM
;--------------------------------------------------------
;Resumen de comandos:
; M: describe la FLASH: valor de borrado y direcciones validas
; formato: "M:hh,dddd-hhhh[,dddd-hhhh[,....]]"
; hh=valor de celda borrado dddd-hhhh=rango v醠ido de FLASH
; P: protecci髇 de FLASH
; formato: "P:hhhh,aaoo,aaoo" aa=AND oo=OR en la direccion hhhh
; el primer aaoo es para proteger y el segundo para desproteger
; L: grabar de a varios bytes por vez
; formato: "L:16"
; ?E: si el comando "?" falla, imprimir el mensaje de error y parar
; S: informaci髇 de STATUS en pantalla
; T: enviar los caracteres hasta la coma de a 1 y esperar eco individual
; antes de enviar los siguientes.
; t: enviar los caracteres hasta la coma (SIN esperar eco)
; b: enviar los caracteres hasta la coma (SIN esperar eco) BINARIO (2 digitos => 1 byte)
; w: esperar los caracteres indicados 100mseg maximo.
; W: idem "w" pero se indica la pausa en unidades de 100mseg.
; ?: espera recibir cualquier caracter (idem W) pero no descarta lo recibido
; r: lee la cantidad de bytes indicados y los coloca en una variable
; R: idem "r" pero en binario, expande a 2 digitos hexa por byte
; V: envia el valor de la variable dada, ESPERA ECO, (hexa en minusculas)
; B: envia el valor de la variable dada, SIN ESPERAR ECO (BINARIO)
; C: verifica el valor de una variable, distinto => error
; formato: "CE:VAR,MASK,VALOR,ERROR"
; I: imprime en forma "interpretada" una variable. P.ej: BDMFREC => frec.BDM
; formato: "I:VAR"
; c: pone el checksum a 0
;debug+ muestra los comandos ejecutados en la ventana de status
;debug- fin de debug+
;txrx+ muestra caracteres enviados [..] y recibidos <..>
;txrx- fin de txrx+
;
;Variables:
; BDMFREC = frecuencia BDM (delay de 16 bits retornado por el POD)
; (calcula FCDIV)
; BDCSCR = status/control del BDM
; FOPT = control de seguridad
; SDIDH = identificacion del procesador
; SDIDL = identificacion del procesador
; SDID = identificacion del procesador (SDIDH+SDIDL)
; FCDIV = control de la frec. del controlador de FLASH
; FSTAT = status del controlador de FLASH
; FSTAT.BLANK = borrado SI o NO
; ADDRESS = direccion para leer de FLASH (4 digitos hexa)
; DATA = dato leido de FLASH (2*N-bytes digitos hexa)
; CHKSUM = checksum en formato S19 (2 digitos hexa)
; X, Y, Z = temporales
; REGA = registro A del procesador
; REGCC = registro CC del procesador
; REGHX = registro HX del procesador
; REGPC = registro HX del procesador
; REGSP = registro HX del procesador
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[WRITE]
;---graba de a 1 byte por vez: SLOOOOWWW (pero no carga nada en RAM) ---
;---graba "DATA" en la direccion "ADDRESS" de FLASH---
;---llamado por [SAVE]---
TE:W,Error al latchear el dato y la direcci髇 en FLASH
VE:ADDRESS,Error al latchear el dato y la direcci髇 en FLASH
VE:DATA,Error al latchear el dato y la direcci髇 en FLASH
wE:\n,Error al latchear el dato y la direcci髇 en FLASH
TE:W182620,Error al enviar comando para grabar FLASH
wE:\n,Error al enviar comando para grabar FLASH
TE:W182580,Error al ejecutar el comando para grabar FLASH
wE:\n,Error al ejecutar el comando para grabar FLASH
;---lee byte grabado para verificar---
TE:D,Error al leer una direcci髇 de memoria
VE:ADDRESS,Error al leer una direcci髇 de memoria
rE:2,DATA,Error al leer una direcci髇 de memoria
wE:\n,Error al leer una direcci髇 de memoria
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[READ]
;---lee el contenido de la direccion ADDRESS en DATA---
;---lee de a 1 byte por vez: SLOOOOWWW---
;---llamado por [DUMP] y [VERIFY]---
TE:D,Error al leer una direcci髇 de memoria
VE:ADDRESS,Error al leer una direcci髇 de memoria
rE:2,DATA,Error al leer una direcci髇 de memoria
wE:\n,Error al leer una direcci髇 de memoria
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[INIT]
;---inicializaci髇 com鷑 a todos los comandos---
S:Script: 9S08 GB GT32 SLOW.LOA (c) 2005 Ing. Dubatti\n\n
S:***S髄o para demostrar que se puede actualizar sin bajar codigo a RAM**\n\n
;---descripci髇 de la FLASH---
;---valor de celda borrada,rango de FLASH; rango de VECTORES; rango de RAM---
M:ff,8000-ffff;ffcc-ffff;0080-087f
;---para Proteger/Desproteger modificar NVOPT=$FFBF---
;---xxxxxx11=> protegido xxxxxx10=> desprotegido---
P:ffbf,ff03,fe02
S:Versi髇 del POD...................
TE: ,Verifique que el POD se encuentre encendido.
wE:?,Verifique que el POD se encuentre encendido.
TE:v,Error al obtener la versi髇, Verifique que el POD se encuentre encendido.
rE:2,X,Error al obtener la versi髇.
I:X
S:\n
wE:\n,Error al obtener la versi髇.
CE:X,ff,02,Este script requiere la versi髇 de POD '02'
S:Frecuencia del BDM (self-clock)...
;---HARD SYNC---
TE:h,No se recibi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -