C M L 1 2 S D P 2 5 6
0 1 / 3 0 / 0 4
12
BDM OPERATION
The CML12S-DP256 board will emulate supported HC12 device internal flash memory in
external ram. This feature allows BDM (Background Debug Modules) such as the AX-BDM12
to load and control the execution of code being developed without the necessity of the internal
flash memory being programmed many times during the development process. This feature
improves updating time and allows the use of may software breakpoints instead of being
limited to only 2 hardware breakpoints.
Operation Notes for BDM use:
1) CML12S-DP256
MODC Option Jumper
should be installed if a BDM is connected to
the BDM Port. Default Mode is single-chip so the MODC option installed will force
Special Single-chip Mode on Reset.
2)
The BDM initialization of the HC12 should set the correct operating MODE (Expanded
Wide for memory access). The EME, EMK, LSTRB, RW, ROMEN and Stretch
configuration bits should be set for proper external memory access operation. The
Axiom support CD contains sample set-up macros for the AX-BDM12.
3)
While using the BDM, the user has full control over the memory map and hardware
resources of the HCS12. The no resources are required to be reserved for monitor use
and the user can apply the actual HCS12 interrupt vector table located at 0xFF8C -
0xFFFF.
AUTOSTART
The MON12 Monitor allows an Autostart operation to launch user applications programmed
into the HCS12 internal flash fixed page ($3E) addresses 0x4000 - 0x7FFF from Reset. The
Autostart mask and vector are stored in the nonvolatile internal EEprom at addresses $FEC -
$FEF. The monitor provides special commands,
AUTO
and
NOAUTO
, to enable and disable
the Autostart on the next Reset sequence. After an Autostart is enabled with a valid user
vector, user application code will be started after Reset instead of the monitor or utility
programs. To recover monitor operation after Autostart has been enabled, the
AUTO OFF
(
Spare option on Revision C boards
) option jumper can be installed or a low level applied to
the XIRQ signal and Reset applied.
User application must perform all initialization including Stack setting, hardware startup, and
external memory bus enable if needed, when the Autostart is applied. MON12 Ram Interrupt
Vector table must also be applied in the same manner as under MON12 supervision or
application interrupts will be trapped instead of serviced. See the CML12S.asm file for sample
start-up initialization code.
Developing an application under MON12 or NOICE for Autostart should follow these steps:
1) Follow the MON12/ NOICE memory map and apply startup initialization and interrupt
service routines in the 0x4000 - 0x7FFF memory area.