Background Debug Mode interface

Background Debug Mode interface

Background Debug Mode (BDM) interface is an electronic interface that allows debugging of embedded systems. Specifically, it provides in-circuit debugging functionality in microcontrollers. It requires a single wire and specialized electronics in the system being debugged.It appears in many Freescale Semiconductor products.

The interface allows a "Host" to manage and query a "Target". Specialized hardware is required in the target device. No special hardware is required in the host; a simple bi-directional I/O pin is sufficient.

I/O signals

The signals used by BDM to communicate data to and from the target are initiated by the host processor. The host the transmission line, and then either

* the line sooner, to output a 1,
* Asserts the line later, to output a 0,
* Tri-states its output, allowing the target to drive the line. The host can sense a 1 or 0 as an input value.

At the start of the next bit time, the host negates the transmission line, and the process repeats. Each bit is communicated in this manner.

in other words The increasing complexity of today’s software and hardware designs is leading to some fresh approaches to debugging. "Silicon manufacturers offer more and more on-chip debugging features for emulation of new processors".

This capability, implemented in various processors under such names as Background Debug Mode (BDM), JTAG and on-chip emulation, puts basic debugging functions on the chip itself. With a BDM (1 wire interface) or JTAG (standard JTAG) debug port, you control and monitor the microcontroller solely through the stable on-chip debugging services.

This debugging mode runs even when the target system crashes and enables developers to continue investigating the cause of the crash

Microcontroller application development

A good development tool environment is important to reduce total development time and cost. Users want to debug their application program under conditions that imitate the actual setup of their system. Because of that, the capability to debug a user program in an actual target system is required. This is known as in-circuit debugging. Furthermore, most new MCUs have nonvolatile memory such as Flash so that programming code on the target system is also required. This is known as in-circuit programming

To support in-circuit debugging and programming requirements, the HC08 Family has the monitor mode and the HCS08 and RS08 utilize a background debug mode (BDM). The background debug hardware on the HCS08 consists of a background debug controller (BDC) and debug module (DBG). The background debug hardware on the RS08 consists of the background debug controller (BDC) only.

BDM commands

The BDM host can issue commands with parameters to the target. Some commands allow reading or writing of blocks of the target's memory, individual registers in the CPU, or registers not available to the target.

Examples include:

BDM Functions

Depending on the target part, the BDM controller may feature a hardware breakpoint register. The register holds a value indicating an address in memory. When the target part's CPU accesses that location in memory, the BDM hardware can take control of the target part, stop program execution, and begin operating in Background Mode.


* Motorola (Freescale Semiconductor Inc.). CPU12 Reference Manual (CPU12RM/AD).
* Freescale Semiconductor Inc. MC9RS08KA2 Data Sheet (MC9RS08KA2, Rev. 1.0).
* Freescale Semiconductor Inc. RS08 Core Reference Manual (RS08RM, Rev. 1.0).

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Debug code — is computer code introduced to a computer program to test for errors or to help determine the cause of an error. It can be as simple as an echo command to print the value of a variable at certain points of a program. Modern integrated development …   Wikipedia

  • In-circuit emulator — An in circuit emulator (ICE) is a hardware device used to debug the software of an embedded system. It was historically in the form of bond out processor which has many internal signals brought out for the purpose of debugging. These signals… …   Wikipedia

  • PowerPC — is a RISC instruction set architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM . Originally intended for personal computers, PowerPC CPUs have since become popular embedded and high performance processors. PowerPC was the… …   Wikipedia

  • Alesis ADAT HD24 — The Alesis HD24 is a 24 track hard disk audio recorder. It is the successor to the hugely successful tape based Alesis ADAT. Advantages over tape based ADAT There are numerous advantages that the HD24 has over the tape based ADATs. Primarily, the …   Wikipedia

  • RS08 — The RS08 [] core is a reduced resource version of the Freescale MC68HCS08 central processing unit (CPU), a member of the 6800 microprocessor family. It has been implemented in several microcontroller devices for… …   Wikipedia

  • Emulator — This article is about emulators in computer science. For a line of digital musical instruments, see E mu Emulator. For other uses, see Emulation (disambiguation). DOSBox emulates the command line interface of DOS. In computing, an emulator is… …   Wikipedia

  • Hardware-assisted virtualization — In computing, hardware assisted virtualization is a platform virtualization approach that enables efficient full virtualization using help from hardware capabilities, primarily from the host processors. Full virtualization is used to simulate a… …   Wikipedia

  • Freescale 683XX — The Freescale 683xx (formerly Motorola 683xx) is a family of compatible microcontrollers that use a Freescale 68000 based CPU core. The family was designed using a Hardware Description Language, making the parts synthesizable, and amenable to… …   Wikipedia

  • BDM — may refer to: *Bund Deutscher Mädel, a Nazi Germany girls organization * Big Damn Movie , referring to the 2005 film Serenity *Background Debug Mode, a programming interface to embedded systems microcontrollers like JTAG *Brian David Marshall, a… …   Wikipedia

  • Freescale 68HC08 — Les Freescale 68HC08 sont des microcontrôleurs de la gamme 8 bits fabriqués par Freescale[1] (précédemment Motorola) sur base du cœur CPU08[2], dérivé du dérivé du CPU du Motorola 6800. Ils ont été conçus comme les successeurs améliorés des… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”