logo slogan

Supporting ARM7 and ARM9 CORES

Key Benefits

Full-featured JTAG debugger that supports all ARM7- and ARM9-based MCUs
Seehau User Interface included; works with Windows 98, ME, 2000, XP
Full speed USB connection. The USB port powers the debugger hardware
Optional support for the ARM ETM trace - up to 200 MHz
Full support for ARM/Thumb modes
Integrates into most popular development environments
Non-intrusive debugging that requires no target system resources
Support for Flash programming - just like any "normal" load
Fast source stepping in Flash
Built in support for uC/OS-II (RTOS)
Visual Basic macro/scripting allows customization of the GUI
Target / debugger communication allows the debugger to read/write memory while target is running, and target "printf()" to be displayed in debugger
Built-in In-line Assembler - just type instructions to be inserted
Multi-core and multiple (daisy chained) JTAG devices supported


Supported C/C++ Compilers

MicroCross GNU
We also support ARM RealView, ADS and SDT

RTOS Support





EMUL-ARM: About the ARM ETM Trace

EMUL-ARM has full support for the ARM ETM (Embedded Trace Macrocell). We have two different interfaces for this:

CTM (Compact Trace Module) - traditional trace functionality
Traditionally, JTAG debuggers have not had the capability to support trace. This is not a design choice by the debugger designer, it is determined by the silicon vendor. Trace support capability has only been available with In-Circuit Emulators which rely on the availability of "bond-out" chips, however there are no bond-out chips for ARM at this time.

To facilitate tracing capabilities, ARM has created the ETM which adds a logic block inside the MCU and a number of pins (4, 8 or 16 data bits + 4 status bits) that send the information. The more pins, the more information can be transferred. With fewer pins, and while trying to trace too much information, there will be an overflow internally in the MCU. Regardless of the implementation, the ETM is always capable of tracing program flow if all other options are disabled.

An MCU manufacturer that wants to use the ETM needs to license it from ARM and then put it in their MCU. This results in licensing fees, additional silicon area and pins, which is probably why there have not been any general-purpose MCUs with that technology available. However, this is about to change. Philips has released their LPC210x MCU, Atmel has announced a new ARM9-based device with ETM, and there are more devices that are not yet announced.

A trace is an optional part of an emulator system that supplies advanced debugging capabilities that include:


Trace buffer size is 128k frames
Storing the execution of instructions so that the history of execution that led up to an error situation can be analyzed
Storing only a small portion of the program execution (filtering), and can be applied on address range, among others
Setting complex conditions that identify very specific events caused by the microcontroller and which then can stop the trace (triggering)
Storing timestamp information for every recorded "frame", allowing you to measure how long it takes to execute certain functions

nohau ARM ETM



Board Support Packages


EMUL-ARM comes with BSP's (Board Support Packages) that are intended to Jump Start the software development. Nohau BSP includes support for boards with MCUs from the silicon manufacturers shown below. Click below to see which actual boards are supported and the details of the package.


OKI Semi Nohau BSP Philips Nohau BSP Atmel


Nohau BSP's do not include complete software drivers for all peripherals on an MCU. A BSP consists of the debugger, RTOS, and the following source code:

Source code projects ready to compile with supported compilers
Software drivers for some peripherals (not all boards - see the board description)
uC/OS-II RTOS, ready to use with supported target boards (requires the uC/OS-II book).
There is no easier way to get started with uC/OS-II / ARM than with Nohau BSP for supported MCUs. Nohau's support packages consist of the original RTOS core, and Nohau's add-ons for the MCU specific target boards that we currently support.




ARM Applications Notes

How to create a target definition file to flash memory


How to Initialize the SDRAM controller on the LPC3000 Eval. board


How to Flash LPC3000 Examples

Configuring Compilers for generating output files compatable with Seehau


Connecting the Nohau® Debugger to your target


How to use ARM-THUMB with Seehau


Configuring Seehau for different Arm targets


How to use the Nohau® Monitor to your application


How work with an ARM target running at slow clock rates