fbpx
Wikipedia

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. Background commands are categorized into two types: Non-intrusive commands and Active background commands. Non-intrusive commands can be issued while the user program is running, which include memory access commands.[1]

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 bidirectional I/O pin is sufficient.

I/O signals edit

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

  • Asserts 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 in-circuit 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 edit

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 memory 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 edit

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 commands
READ_BYTE Read a byte from memory
WRITE_BYTE Write a byte to memory
GO Start/resume executing at current program counter location
WRITE_PC Write a value to the program counter
READ_PC Read the value of the program counter
WRITE_X Write a value to the index register
READ_X Read the value of the index register
READ_SP Read the value of the stack pointer

BDM functions edit

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.

References edit

  1. ^ "HCS08 Family Reference Manual". pp. 34–35. Retrieved February 6, 2024.

External links edit

  • Freescale Semiconductor Inc. MC9RS08KA2 Data Sheet (MC9RS08KA2, Rev. 4.0)
  • Freescale Semiconductor Inc. CPU12 Reference Manual[dead link]
  • Freescale Semiconductor Inc. CPU12 Reference Manual
  • Freescale Semiconductor Inc. RS08 Core Reference Manual[dead link]
  • Freescale Semiconductor Inc. RS08 Core Reference Manual
  • Freescale Semiconductor Inc. HCS08 Family Reference Manual[dead link]
  • Freescale Semiconductor Inc. HCS08 Family Reference Manual

background, debug, mode, interface, background, debug, mode, interface, electronic, interface, that, allows, debugging, embedded, systems, specifically, provides, circuit, debugging, functionality, microcontrollers, requires, single, wire, specialized, electro. 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 Background commands are categorized into two types Non intrusive commands and Active background commands Non intrusive commands can be issued while the user program is running which include memory access commands 1 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 bidirectional I O pin is sufficient Contents 1 I O signals 2 Microcontroller application development 3 BDM commands 4 BDM functions 5 References 6 External linksI O signals editThe signals used by BDM to communicate data to and from the target are initiated by the host processor The host negates the transmission line and then either Asserts 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 in circuit 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 editA 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 memory 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 editThe 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 commands READ BYTE Read a byte from memoryWRITE BYTE Write a byte to memoryGO Start resume executing at current program counter locationWRITE PC Write a value to the program counterREAD PC Read the value of the program counterWRITE X Write a value to the index registerREAD X Read the value of the index registerREAD SP Read the value of the stack pointerBDM functions editDepending 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 References edit HCS08 Family Reference Manual pp 34 35 Retrieved February 6 2024 External links editFreescale Semiconductor Inc MC9RS08KA2 Data Sheet MC9RS08KA2 Rev 4 0 Freescale Semiconductor Inc CPU12 Reference Manual dead link Freescale Semiconductor Inc CPU12 Reference Manual Freescale Semiconductor Inc RS08 Core Reference Manual dead link Freescale Semiconductor Inc RS08 Core Reference Manual Freescale Semiconductor Inc HCS08 Family Reference Manual dead link Freescale Semiconductor Inc HCS08 Family Reference Manual Retrieved from https en wikipedia org w index php title Background debug mode interface amp oldid 1205180736, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.