Tutorial - Using The USBDM
Tutorial - Using The USBDM
Author: Joel - MyFreescaleWebPage http://myfreescalewebpage.free.fr Last revision of this document: 1.3 of 2013-10-13.
Table of contents
Revisions ................................................................................................................................................. 2 Introduction ............................................................................................................................................ 3 1 2 3 Download the USBDM installation files ............................................................................................ 5 Installation of the USBDM ................................................................................................................ 5 Flashing the USBDM firmware ....................................................................................................... 13 3.1 3.2 4 5 Flashing the USBDM firmware with an external tool............................................................... 13 Flashing the USBDM firmware with the internal bootloader of the HCS08JS16 microcontroller 13
Updating the USBDM firmware ...................................................................................................... 16 Programming microcontrollers ...................................................................................................... 18 5.1 5.2 Using standalone programmer ............................................................................................... 18 Using Freescale CodeWarrior ................................................................................................. 21
Revisions
Version 1.0 1.1 1.2 1.3 Date 2013-02-26 2013-05-08 2013-06-02 2013-10-13 Changes First release (USBDM 4.10.4) Update (USBDM 4.10.5) Update (USBDM 4.10.5b - Released due to some issues with 4.10.5) Update (USBDM 4.10.6c for CodeWarrior 10.5)
MyFreescaleWebPage
Introduction
The USBDM is an open source programming cable for Freescale microcontrollers. The USBDM is released by PGO, all source files, firmware, schematics are available on http://usbdm.sourceforge.net. Several hardware versions are available depending of the targets you want to program. It is possible to build your own USBDM. If you want to begin with Freescale microcontrollers, I recommend you to get this cheap but powerful USBDM cable, compatible with HCS08, HCS12 and CFV1 microcontrollers, from BlackBoxStudio seller on eBay: http://www.ebay.fr/itm/Freescale-DebuggerProgrammer-for-HCS08-HCS12-Coldfire-V1-/110958979630?.
TheUno and BigBrother evaluation boards are based on the USBDM with an additional serial port used to communicate with the target.
MyFreescaleWebPage
The following USBDM (found on eBay) is able to program RS08, HCS08, HCS12, CFV1, CFV2, CFV3, CFV4, Kinetis and DSC microcontrollers and is able to supply the target with 3.3 or 5V voltage.
This tutorial explains how to use the USBDM: installation, update, programming the target with standalone software and Freescale CodeWarrior.
MyFreescaleWebPage
Download the USBDM Installer and the right USBDM Drivers according to your computer.
MyFreescaleWebPage
MyFreescaleWebPage
MyFreescaleWebPage
I have only verified that the installer detected my CodeWarrior installation (Eclipse Special Edition V10.5) has shown on the following screenshot. Click Next to perform the USBDM installation.
Click Install.
MyFreescaleWebPage
MyFreescaleWebPage
It's now time to install the USBDM Drivers. Execute the right USBDM Drivers installer according to your configuration (Windows XP or not, not x86 or x64 operating system).
MyFreescaleWebPage
10
Window can't verify the publisher of the driver software. Validate the installation.
MyFreescaleWebPage
11
The installation takes only some few seconds. The wizard says that it is now possible to connect the USBDM. Click OK.
The installation is finished. USBDM shortcuts are available in the start menu.
MyFreescaleWebPage
12
The USBDM schematics and firmware are available in the "BDM Flash Images" directory of the USBDM installation (a shortcut is available in the start menu following the installation of the USBDM). The USBDM based on the HCS08JM60 microcontroller must be flashed using an external tool (another USBDM for example). The USBDM based on the HCS08JS16 microcontroller can be flashed using the internal USB bootloader present in this device.
3.2 Flashing the USBDM firmware with the internal bootloader of the HCS08JS16 microcontroller
The internal bootloader of the HCS08JS16 microcontroller is very convenient and can be used to flash the USBDM firmware. The internal bootloader is a specific peripheral and is always available. First short the BLMS pin of the HGCS08JS16 microcontroller to the ground. As shown below, on TheUno it is done by shorting X3 with a simple jumper. Adapt this step to your own USBDM. Please note that this is not necessary if the USBDM is blank (never programmed before), because it is starting by default with the internal bootloader in this case.
MyFreescaleWebPage
13
Now connect the USBDM to your computer. A new peripheral called "JS16" is detected and automatically installed. Start "JS16 First Level Bootloader" utility.
MyFreescaleWebPage
14
Select the right firmware according to your USBDM. Description USBDM_JS16CWJ USBDM_SER_JS16CWJ USBDM_SWD_JS16CWJ USBDM_SWD_SER_JS16CWJ USBDM_CF_JS16CWJ USBDM_CF_SER_JS16CWJ Firmware USBDM_JS16CWJ_V4 USBDM_SER_JS16CWJ_V4 USBDM_SWD_JS16CWJ_V4 USBDM_SWD_SER_JS16CWJ_V4 USBDM_CF_JS16CWJ_V4 USBDM_CF_SER_JS16CWJ_V4 BDM Firmware choice HCS08/HCS12/CFV1 HCS08/HCS12/CFV1 + Serial HCS08/HCS12/CFV1/ARM-SWD HCS08/HCS12/CFV1/ARM HCS08/HCS12/CFV1/ARM-SWD HCS08/HCS12/CFV1/ARM + Serial CFVx/DSC/ARM_JTAG CFVx/DSC/ARM_JTAG + Serial
Click "Program" to flash the USBDM. Wait some few seconds. The following message is finally displayed to indicate that the USBDM has been correctly flashed.
Click "OK" and disconnect isconnect the USBDM. It is now possible to use the USBDM.
MyFreescaleWebPage
15
MyFreescaleWebPage
16
You can check "Auto select BDM firmware" to automatically chose the right USBD DM firmware. Note that the Serial Number of the USBDM M will be set to its default value in this case. irmware yourself by clicking "Load Source File" button b and browsing to Instead, you can load the right fi the USBDM firmware. It is then possible p to set the Serial Number yourself or to click c "Read from device" to reuse the existing Serial Numb ber. This is very useful if you have several USBDM M because you will be able to use them at the same tim me on your computer by giving them different Se erial Number values.
MyFreescaleWebPage
17
Click "OK" to validate. The USBDM reboots. On my computer this is sometimes failing and the following message is displayed.
Click ck "No" to cancel the operation and try again by pressing "Program Flash" button. button The firmware of the USBDM is updated and verified.
5 Programming microcontrollers
5.1 Using standalone programmer
Some applications are provided by PGO to program microcontrollers with the USBDM USBDM. The following example is done using TheUno, on which the target microcontroller is a HCS08DZ60 device.
MyFreescaleWebPage
18
Connect the USBDM and start "HCS08 HCS08 Programmer". Programmer". The following window is displayed. The USBDM has been detected. Click "Detect" if not.
MyFreescaleWebPage
19
Go to the "Target" tab. Click on "Detect Chip" to check the t target microcontroller.
Choose the right microcontroller in the device selection list ("DZ-MC9S08DZ60" ("DZ MC9S08DZ60" in this example).
MyFreescaleWebPage
20
Click on "Load Hex Files" s" to select the application you want to program. Finally click on "Program Flash".
The device is programmed and a message is displayed to indicate that the operation completed.
MyFreescaleWebPage
21
Simply choose the USBDM in the connection list during the creation of the project, as shown on the following screenshot (Freescale CodeWarrior V10. V10.5).
Then, it is possible to load and debug applications application with the USBDM as done if you were using any other tool.
Conclusion
The USBDM is a powerful device. It is regularly updated to support new microcontrollers. You are now ready to build your own n USBDM and use it to load and debug application applications on many Freescale devices.
MyFreescaleWebPage
22
MyFreescaleWebPage
23
MyFreescaleWebPage
24