Hardware Trace Was Just the Beginning


From hardware to software trace — how we are bringing tracing full circle.

June 23, 2025

For years, we’ve been the trust­ed name behind hard­ware trace sup­port in embed­ded develop­ment. If you’ve worked with auto­mo­tive micro­con­trollers, chances are you’ve ben­e­fit­ed from our trac­ing solu­tions inte­grat­ed into winIDEA.

What is a Trace?

A trace is a list of events ordered by time­stamps.
Any­thing relat­ed to the run­time behav­iour of an embed­ded appli­ca­tion can be con­sid­ered an event.
The beau­ty of trace is that—unlike tra­di­tion­al debugging—you don’t need to inter­rupt appli­ca­tion exe­cu­tion to record it.

Understanding Hardware Trace

Hard­ware trace works by using ded­i­cat­ed on-chip trace log­ic. Trace mes­sages are then sent off-chip through ded­i­cat­ed debug or trace inter­faces.

Hard­ware trace con­cept

You can dive deep­er with our webi­nar Intro­duc­tion to Trac­ing or check out tuto­ri­als Get­ting start­ed with Trace.

Challenge: When Hardware Trace isn’t an Option

Not all micro­con­trollers come equipped with hard­ware trace capa­bil­i­ties. Addi­tion­al­ly, design con­straints some­times pre­vent using trace pins or ded­i­cat­ed hard­ware. This gap lim­its trace access for many embed­ded projects.

Current solutions:

Emulation Adapters from TASKING

Some SoCs do not expose full trace capa­bil­i­ties on pro­duc­tion devices. Instead, ven­dors offer emu­la­tion devices with addi­tion­al pins to access these inter­faces.
TASKING pro­vides Emu­la­tion Adapters based on emu­la­tion devices to allow trac­ing on board where pro­duc­tion devices are nor­mal­ly sol­dered.

Downsides:
  • Usage of Emu­la­tion Adapters is not always pos­si­ble due to their size and the need for addi­tion­al board space. Many pro­duc­tion boards are too com­pact to accom­mo­date them.
  • The usage of Emu­la­tion Adapters requires hard­ware mod­i­fi­ca­tion of the board and intro­duces addi­tion­al com­plex­i­ty to the set­up.
3rd party Software Trace

Soft­ware trace bridges that gap by using exist­ing debug inter­faces to pro­vide run­time pro­fil­ing and trace data with­out addi­tion­al hard­ware.

Soft­ware trace means you gen­er­ate trace mes­sages in soft­ware. You add instru­men­ta­tion to the code, you buffer the events that you cre­ate in mem­o­ry, and then you send them off-chip via an appli­ca­tion inter­face.

This approach broad­ens the reach of trac­ing to plat­forms pre­vi­ous­ly out of reach.

What’s Coming: Software Tracing with TASKING

The idea to bring soft­ware trac­ing into our ecosys­tem took shape dur­ing one of our inter­nal hackathon events—a space where explo­ration often turns into real develop­ment.

Since then, we’ve been work­ing on inte­grat­ing this capa­bil­i­ty into our tools, mak­ing soft­ware trac­ing more acces­si­ble and aligned with every­day embed­ded develop­ment needs. It’s effi­cient, easy to use, and designed to fit direct­ly into your exist­ing work­flow.

We’re get­ting close to release, and we’re excit­ed to show you what’s com­ing. Stay tuned for a clos­er look at our new Soft­ware Trace Tool — SWAT!

Scroll to Top