Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Noviembre del 2017)
1.256 visualizaciones desde el 9 de Noviembre del 2017
378,7 KB
12 paginas
Creado hace 15a (15/07/2009)
MONITOR ROM
MODULE
(MON08)
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
Que es el “Monitor ROM” ??
Es un módulo exclusivo de la familia HC908 FLASH de Freescale, que permite forzar al MCU a un
estado especial de “comunicación” con el mundo exterior. Este modo especial es muy útil cuando se
quiere saber que está sucediendo en el interior de un MCU cuando se ejecuta un programa dado.
Si se lo utiliza correctamente, permite la grabación “En – Circuito” de la memoria FLASH del MCU,
borrado de la misma, actualizaciones de programas, etc..
Además abre la puerta a un mundo de herramientas interesantes de desarrollo en TIEMPO REAL a
precios económicos y con prestaciones comparables a productos de mayor valor en otras marcas de
microcontroladores.
Esto es muy importante a la hora de decidir por una u otra marca de MCUs, ya que NO es lo mismo
contar con SOLO herramientas de “SIMULACION” en software y/o hardware gratuitas o de bajo
costo, que con herramientas que permiten lo anterior, más la posibilidad de EMULACION EN TIEMPO
REAL de una forma sencilla, económica y con características de flexibilidad en cuanto a los
dispositivos que puedan emular.
Veamos como funciona este módulo…….
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
MONITOR MODULE (MON08)
Clock
Generation
Module
(CGM)
Serial
Communications
Interface
(SCI)
System
Integration
Module
(SIM)
LVI
IRQ
COP
BREAK
68HC08
CPU
RESET
Peripheral
Module
Timer
Interface
Module
(TIM)
Internal Bus (IBUS)
Serial
Peripheral
Interface
(SPI)
Random
Access
Memory
(RAM)
Electronically
Programmable
Memory
(FLASH)
Monitor
ROM
• Permite la funcionalidad Normal “User-Mode” (MODO DE USUARIO)
• Solo un pin dedicado para la Comunicación serial entre ROM Monitor y Host
Computer
• Comunicación estandar Mark/Space Non-Return-to-Zero (NRZ) con el Host
Computer (PC Host)
• Comunicación con el Host Computer (PC) entre 4800 Baud y 28.8 kBaud
• Ejecución de Código en RAM o FLASH
• Programación de la memoria FLASH
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
Operación Monitor Mode (MON08)
• Recibe y ejecuta comandos desde un host computer
– Comunica via una interface RS-232 estandar
– La Comunicación es non-return-to-zero (NRZ) estandar
•
Todas las comunicaciones entre Host y MCU es por medio del pin PTA0 o PTB0, según MCU.
– Se requiere una interface de nivel y multiplexación entre PTA0 / PTB0 y el Host .
– PTA0 / PTB0 es usado en una configuración wired - OR y requiere un resistor de pulll-up
• Para indicar que el MCU está listo para recibir un comando
– El MCU envia señal de “break” (10 ceros lógicos consecutivos) al host computer
– La señal de Break también provee referencia de tiempo para que el host determine baud rate necesario
(debe ser identico).
° Rango del baud rate: 4800 baud a 28.8 Kbaud
La ROM monitor inmediatamente efectua un eco de vuelva de cada byte recibido al pin PTA0 / PTB0
•
para chequeo de errores.
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
Selección Modo Monitor
Tres pines externos examinados en el flanco ascendente del RST (RESET)
• Condiciones para entrar en el modo de operación Monitor
IRQ1/Vpp PIN
VDD + VHI
VDD + VHI
PTC0
PIN
1
1
PTC1
PIN
0
0
PTA0
PIN
1
1
PTC3
PIN
1
Modo
Monitor
CGMOUT
CGMXCLK/2 or
CGMVCLK/2
0
Monitor
CGMXCLK
Bus
Frequency
CGMOUT/2
CGMOUT/2
• Entra en el modo Monitor por :
– Reset Vector ( $FFFE / $FFFF ) con $FF (blank) ó
– Aplicando un cero lógico y luego un uno lógico al pin RST
• Reset vector buscado desde $FEFE - $FEFF en lugar de
$FFFE - $FFFF
• Ejecuta programa en monitor ROM, $FE20 - $FF52 (Para el GP32)
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
Circuito de ejemplo
para entrar en Modo Monitor
para cada MCU de la familia en el manual de datos
(Se sugiere ver el circuito recomendado
de cada uno de ellos)
HC908xx
Es muy sencillo y
económico construir un
programador para los
HC908 !!!
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
(Modo Usuario (el modo normal de uso de cualquier MCU) y Modo Monitor (modo especial))
Diferencias de Modos
FUNCIONES
MODOS
COP
RESET
VECTOR
HIGH
RESET
VECTOR
LOW
BREAK
VECTOR
HIGH
BREAK
VECTOR
LOW
SWI
VECTOR
HIGH
SWI
VECTOR
LOW
USER
ENABLED
$FFFE
MONITOR
DISABLED
$FEFE
$FFFF
$FEFF
$FFFC
$FEFC
$FFFD
$FEFD
$FFFC
$FEFC
$FFFD
$FEFD
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
Comandos del Monitor ROM
(Comandos que se intercambian entre el MCU y el PC Host, vía pin PTA0 / PTB0)
Comando Descripción
Read memory
Write memory
Indexed Read
Indexed Write
READ
WRITE
IREAD
IWRITE
READSP Read Stack Pointer
RUN
Run User Program
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
Comando READ (Lee la memoria del MCU)
Descripción
Operando
Dato Retornado
Opcode
Secuencia del Comando
Lee un Byte desde la Memoria
Especificar 2-byte de dirección en orden high - low byte
Retorna el contenido de la dirección especificada
$4A
SENT TO
MONITOR
ECHO
READ
READ
ADDR. HIGH
ADDR. HIGH
ADDR. LOW ADDR. LOW
DATA
RESULT
Comando WRITE (escribe la memoria del MCU)
Descripción
Operando
Dato Retornado
Opcode
Secuencia del Comando
Escribe un Byte desde la Memoria
Especificar 2-bytes de dirección en el orden high - low, low byte seguido por el byte de datos
Ninguno
$49
SENT TO
MONITOR
ECHO
WRITE
WRITE
ADDR. HIGH
ADDR. HIGH
ADDR. LOW ADDR. LOW
DATA
DATA
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
Comando IREAD (Lectura Indexada de Memoria)
Lee los proximos 2 bytes en memoria desde el la última dirección accedida
Descripción
Operando
Dato Retornado
Opcode
Secuencia del comando
Especificar 2-bytes de dirección en el orden high - low
Retorna el contenido de los próximas 2 direcciones
$1A
SENT TO
MONITOR
ECHO
IREAD
IREAD
DATA
DATA
RESULT
Comando IWRITE (Escritura Indexada de Memoria)
Descripción
Operando
Dato Retornado
Opcode
Secuencia del comando
Escribe la última dirección accedida + 1
Especificar solo el byte de dato
Ninguno
$19
SENT TO
MONITOR
ECHO
IWRITE
IWRITE
DATA
DATA
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
Comando READSP (Read Stack Pointer)
Descripción
Operando
Dato Retornado
Opcode
Secuencia del comando
Lee el Stack Pointer
Ninguno
Retorna el stack pointer en el orden high byte:low byte
$OC
SENT TO
MONITOR
ECHO
READSP
READSP
SP HIGH
SP LOW
RESULT
Comando RUN (“Corre” el programa del Usuario)
Descripción
Operando
Dato Retornado
Opcode
Secuencia del comando
Ejecuta instrucción RTI
Ninguna
Ninguna
$28
SENT TO
MONITOR
ECHO
RUN
RUN
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
Sección “Monitor ROM” – MON08
Se sugiere leer detenidamente la sección “Monitor ROM” – MON08, del manual de datos de cada
uno de los MCUs de la familia HC908 a utilizar, para de esta forma comprender las limitaciones y
características a tener en cuenta en este modo de funcionamiento tan especial que posee la familia
HC908 FLASH.
También se sugiere leer esta sección, si se utilizan algunas de la herramientas de desarrollo
basadas en el módulo MON08, tales como, EVAL08QTY / FLASH_POD / EDUKIT08, a fin de sacar el
mayor provecho de las mismas y además tener en cuenta las señales necesarias para ingresar al
modo “monitor” en cada MCU distinto utilizado.
FIN CAPITULO 14 !!
Curso de Microcontroladores
Familia HC908 Flash de Freescale
Parte II
ING. DANIEL DI LELLA
Comentarios de: HC908 FLASH, MONITOR ROM MODULE (MON08) (0)
No hay comentarios