You are here: Home DOCUMENTATION Esduino EsduinoXtreme User Guide - Software Debugging

Technological Arts Inc.

Your Shopping Cart

Your Cart is currently empty.

EsduinoXtreme User Guide - Software Debugging

Article Index
EsduinoXtreme User Guide
Overview of Features
Setting Up the Hardware
Application Programming
Software Debugging
Software Considerations
Software Considerations - Interrupts
Software Considerations - S12 Clock
Hardware Details
All Pages

Software Debugging

Writing software is only the first part of the development process.  Next comes testing to verify the program functionality.  This requires not just running the application on the target system, but having a means of tracing what is happening should something not function as expected.  There are two methods of accessing the S12 processor to do debugging.  The first is by using the flash-resident Serial Monitor.  The second is the use of an external BDM pod.  Each method has value and which is used will depend on the needs of the development process and the available budget.

Serial Monitor

The basis for the serial monitor pre-programmed into EsduinoXtreme is described in detail in Freescale document AN2548.  It provides a means to assist in debugging S12 code, among other capabilities.  However the serial monitor by itself can not do anything.  It is designed to work with an external program that communicates with it:  uBug12.

Because of this, the serial monitor has a requirement that an SCI port must be dedicated to its use.  Therefore if you use the serial monitor as part of your troubleshooting process, that SCI port cannot be used by your application program.  The serial monitor uses the SCI0 port on the board, so you are free to use SCI1 for your application, if needed.

The AN2548 document is available for reference at:


Technological Arts provides a multi-platform Java program called uBug12 as a means of interfacing with the serial monitor in Flash.  The program enables the user to manage the use of Flash memory, and it provides standard troubleshooting capabilities such as examination and modification of both CPU registers and memory locations.  A separate document on the Technological Arts website describes the installation, functionality, and operation of uBug12.

BDM Pods

This pod is based on the open-source USBDM project on the Freescale Community Projects board, and is supported as a Debug tool in CodeWarrior (select TBDML).  It comes with a DLL for CodeWarrior that needs to be installed first, however.  Check the Resources tab of the USBDMLT product web page for details and links to the files and documentation.  A small standalone Windows application called HCS12_Flash is also provided, which enables loading s-record files into virtually any HC12, S12, and S12X target.


This is a Windows-based source-level debugger for HC12, S12, and S12X targets, with support for BDM pods, including USBDMLT.

URL is:


Last Updated ( Friday, 08 February 2019 18:14 )