PEmicro-erlebniswelt

Introduction of on chip debugging

How does On-Chip- Debugging work?

The following is a simplification to help new users with the concepts..........

Each and every chip of a family ( eg ARM or NXP/Freescale ColdFire ) allocates a few pins to communicate between a special Control Module within the microprocessor chip and an application program normally running on a PC. To minimise the number of pins and circuitry used on the chip this communication typically employs a non standard communications link so we need a specialist interface at the PC end.

When the micro powers up it examines some of these pins and if set in a particular way the Control Module takes over and the micro is said to have started in On-Chip-Debug mode (we will use the abbreviation BDM short for Background Debug Mode interchangeably).  If not set for BDM the Control Module simply starts the micro running at the power up location and has no more to do --- the pins being assigned to their standard I/O functions.  

If set for BDM then the Control Module not the CPU decides what will happen next. The Control Module has access to all the memory busses and once in BDM mode it can, for example, read and write all the memory and registers and send their contents to the PC for the engineer to look at. The engineer may decide to send fresh code from the PC to be loaded into the targets RAM. The Control Module can also force the microprocessor to execute a single instruction, or to run until the microprocessor hits a predefined location whose address corresponds to the contents of  the Control Modules "breakpoint registers". With just these few functions the engineer operating the PC has all the facilities needed to control the target system and debug code on the Microcontroller.

In short BDM provides 90% of the functionality of an In Circuit Emulator (ICE) at <1% of the cost. 

N.B. when JTAG is used to control On-Chip debugging it uses the signal standards specified by the Joint Test Action Group (JTAG the common name for the IEEE 1149.1) for communications but this does not automatically imply that the chip can be tested via boundary scan techniques and tools.

 

Using BDM to program Flash ?

The secret is that the BDM interface is used to load a small application into RAM plus as much of the data to be loaded into the flash as will fit in the remainder of the RAM.  The BDM then starts that application which "burns" the flash and then goes back to the PC for more data until the task is finished.

The BDM & PEmicro's JTAG product offering

PEmicro is a leader in this area and their products are included in many NXP/Freescale EVB packages.  PEmicro's tools including interfaces, software such as programmers (PROG), in-circuit debuggers (ICD), assemblers/editors and register file displays (REGxx) are all available from stock. They work via the PEmicro interfaces, which connect the PC to the target, via USB or Ethernet. These products are available as full 32/64 bit Windows applications for W95/98/2K/NT/XP/W7 and W8 for the following target processor families:

  • ARM Cortex M0-4
  • All Freescale Devices
  • NXP (LPC TI/Stellaris) Devices
  • Renesas & Hitachi Devices
  • ST Microelectronics Devices

BDM, JTAG and SWD interfaces

PEmicro's latest universal USB multilink cables provide the hardware interfaces between a standard PC and the header on any of a wide variety of target systems. Depending on the chip, they offer access to the background debug mode (BDM), JTAG and SWD interfaces of the microcontroller. By using the BDM/JTAG/SWD cable, the

The user can take advantage of "on-chip debugging" to program internal or external FLASH memory devices and test the application code in the micro.

With the affordable Multilink ACP for the ARM range, the Multilink Universal for a wide range of CPUs from Motorola, NXP to ARM or the high-performance Multilink Universal FX and for the production of the Various price/performance points are available as alternatives to the Cyclone range.

Flash memory programming tools are available for both development and production environments.  See below for details on how they work.

pemicro Multilink fx debug schnittstelle
howbdm

Properties

Full control over the on-chip resources via BDM/JTAG/SWD
Full speed in-circuit emulation at an affordable price
Programming for internal or external EEPROM /FLASH memory devices
Execute to hardware breakpoint
Works with PROG programming software packages as well as a variety of
compiler debugging environments such as CodeWarrior, KDS, Keil, IAR, Atollic, GDB
1.8 to 5 volt versions are available, see chip specific info
Very fast downloads and stepping
Interface library and demo for your own testers and software

When using the synchronous target architectures of the Universal FX model, such as e.g. Kinetis, Qorivva, Coldfire V2-V4, 683xx, HC16, Power Architecture PX series and DSC, communication can be 4 to 10 times faster than the older multilink interfaces.

Download-speed-universal-fx

Cyclone Serie

Cyclone_Bild

These boxes connect a PC via serial, USB or Ethernet to provide a high-speed, interactive flash programmer under manual or automatic control. They can even be detached from the PC and used as a standalone flash programmer. If you develop applications for one of the NXP / Freescale building blocks, they are the only CPU-specific hardware development tool you will ever need to buy. They work with all software packages listed below.

Cyclone Universal LC For use with 68HC08, HCS08, HC12, HCS12 families. Interfaces to PEmicro, CodeWarrior and Cosmic debug environments.  As well as for use with Arm cortex, Kinetis, 55xx/56xx/57xx Qorivva, ColdFire, PPC 5xx/8xx, STM32, STM8, SPC56 and MAC 71xx,72xx (ARM) families. Interface to the ARM GDB server. They also program the following devices

Cyclone for ARM® Cortex Building Blocks For programming ARM Cortex M0-4 based building blocks from STMicro, NXP, TI Stellaris and NXP/Freescale Kinetis.


Cyclone Universal FX, the highest specification in the family, was developed for production use and features extremely high download speeds: up to 75Mb/s. It has gigabytes of memory to take 200+ images and can select and start programming via a barcode scanner. It programs all chips listed above from HC08 - ARM then with adapters STM32, STM8 and SPC56 families as well as Renesas M32C, M16C, M16C/80, R8C, H8 and H8S/Tiny families.  A lower cost version is exclusively for the ARM family.

The Cyclones come with a full set of Flash programming algorithms and are particularly popular in production environments where they can be deployed with a range of automation options designed for full-scale on-line programming are.

prog32w

BDM Flash Programmer

An interactive Flash EEPROM programming software package that allows you to program/reprogram both internal and external Flash devices in-circuit via a PEmicro interface cable. Perfect for development, production line programming or firmware upgrades in the field. PEmicro's products contain our entire library of setup files for a specific processor and include both interactive and command line versions for development and production use.

The features for flash memory are: 

Program, Verify, Blank Check, Upload, View & Delete.

In Circuit Debugger

PEmicro - ICD In-Circuit Debugger Software for Windows is a powerful tool for debugging. It uses the processor's background code debug mode via an interface cable to give the user direct access to all on-chip resources.

  • C source level debugging support for IEEE695 & GNU
  • Full speed in-circuit emulator
  • Breakpoints with counters to break at next execution
  • Variables window showing bytes, words, strings and long words
  • Real-time execution and multiple tracing modes
  • Startup and macro files to automate the debugging process
  • Context sensitive help for all commands
  • Timing measurement and execution counting functions
  • Hotkeys for setting breakpoints and counters
  • Support for symbolic registry files
icd32w
reg32w

Register File

REGxx allows the user through the BDM to view and modify the register fields of the processor in both symbolic and numeric format, eliminating the tedious task of searching through manual pages for register descriptions. When the user selects a register, the processor's actual memory is read and displayed. The register files work with PEmicro's in-circuit debugger software.

PACKAGE with assembler  

A complete 32-bit Windows software package consisting of integrated development environment, in-circuit debugger, assembler, programmer, register file is now available for all CPUs -- just add the cable of your Add Choice. 

 

PACKAGE Pro with C 

The PEmicro "Pros" package provides everything the engineer needs to start using the Gnu Cross Compiler.  It includes a precompiled version of the GNU/GCC compiler toolset by PEmicro that works directly under the Windows environment without the need to install a Unix shell. The compiler is integrated into WinIDE and enables one-touch compilation of a C-level project. The package contains startup code and linker scripts for most popular devices. The compiler produces both Elf/Dwarf 2.0 and S19 output formats; the Elf/Dwarf format is loadable with PEmicro's in-circuit debugger and the S19 format is loadable with PEmicro's in-circuit flash programmer, all of which are included along with an appropriate BDM/JTAG interface.   The Pro versions of the pack are now available for ColdFire and Power PC Qorivva 55xx/56xx/57xx (AKA NEXUS). 

 

UnitLibrary

A library of calls that allow the PC to call the BDM cable directly.  Ideal if you want to create your own test programs for the production line.  Here is an example for the C and Pascal API. Two versions are available Windows and Linux x86 (not ARM).

Debug Tools

PEmicro Multilink UniversalMultilink Universal
Multilink Universal
USB-ML-UNIVERSAL
The PEmicro U-Multilink Universal is an interface for debugging and programming ARM and 8/16/32 bit processors.

€299.00*
1.5 %
PEmicro Multilink FX UniversalMultilink FX Universal
Multilink FX Universal
USB-ML-UNIVERSAL-FX
The PEmicro Multilink FX Universal is an interface for debugging and programming ARM and 8/16/32 bit processors

€590.00* €599.00*
pemicro cyclone fx universalCyclone FX Universal Header Layout
Cyclone Universal FX
CYCLONE-FX-UNIV
The PEmicro Cyclone FX Universal is a standalone programmer for ARM and 8/16/32 bit processors.

€1,369.00*