Embedded.com Tech Focus Newsletter (6-27-11): Debugging - Embedded.com

Embedded.com Tech Focus Newsletter (6-27-11): Debugging

Embedded Newsletter for 6/27/11

» Click here to view online I » Forward to a friend I » Sign up for an EE Times Newsletter

Share this Newsletter:

facebook linkedin twitter digg

June 27, 2011

Tech Focus: Favorite ways to find & kill bugs


Li Mei's list of debugging secrets

A Feynman approach to debugging

Avoiding Heisenberg Debugging

Making embedded system debug easier: useful hardware & software tips

Editor's Note

Bernard Cole Bernard Cole
Site Editor

Some embedded systems developers like to prepare for a new project by reading (and rereading) advice from other developers, reviewing the basics and looking for tips and tricks that might be useful. They find the same practice is especially productive before starting to look for the software and hardware bugs that invariably crop up in an embedded design.

In his column on “Debugging – the book , ” Jack Ganssle describes why David Agans’ 2006 book Debugging is his favorite re-read on the topic. Ganssle isn’t the only one who thinks it’s great – the book gets 22 five-star reviews on Amazon.com. We’ve uploaded two chapters from the Agans book on the TechOnline Education & Training page. (To find them quickly, go to the EET Search engine, select “Technical Papers” and enter his last name ). Also check out a paper Agans presented at ESC 2007 titled “Debugging when luck fails and prayers go unanswered.”

Another favorite resource for tips and inspiration about debugging is Embedded.com’s 20 year archive of design articles, columns, webinars, white papers and ESC presentations. This Tech Focus issue of the newsletter contains links to many of your favorites, based on comments you’ve left on line and site statistics. Of these, my Edtior’s Top Picks this week are:

Li Mei’s list of debugging secrets , by Lisa Simone
Tips on building & debugging embedded systems , by Jack Ganssle
Real-time debugging 101 by Srinivas Gollakota & Guiseppe Olivadoti

It might be a good idea to save this issue in your email program archive for future reference, or follow the “Click here to view on line ” instructions at the top of this email and save the Web page to your browser favorites list.

Design How Tos

Li Mei's list of debugging secrets

Here's a list of debugging tips and secrets from Li Mei, a character in Lisa Simone's nonfiction book on programming recounting the fictional adventures of a team of software developers working on various embedded design projects and the lessons they learned.

Techniques for software defect prevention and identification

Deepti Chopra guides you step-by-step through the various practices/techniques that can help you prevent defects in your software, and how to catch them if they already exist.

Making embedded system debug easier: useful hardware & software tips

Here are some useful tips and techniques to employ during the initial design & construction of your embedded system design to make it easier to debug both the hardware & software at later stages.

Tips on building & debugging embedded designs: Part 1

In a two part series, Jack Ganssle, editor of “Embedded Systems: World Class Designs,” passes on some tips about embedded systems design gained from his experiences as both a designer and a manager of hardware and software projects.

Debugger Tips: 8 ways breakpoints can save your next software project

Here are eight fairly simple techniques for using breakpoints and other features of your C/C++ debugger that can give you enormous power and visibility into your program.

Debug will get your attention, sooner or later

Debug will get your attention one way or another. If you give it attention early in the development cycle, it will reduce the amount of time spent on debug later and in future designs as well as reducing the uncertainty related to debug.

A developer's insight into ARM Cortex M debugging

A software developer describes tips and tricks for using the built-in debugging options on the ARM Cortex M microcontroller. (Paper from ARM TechCon 2010.)

A Feynman approach to debugging

As a child, Richard Feynman could fix radios by thinking. You can take the same approach to debugging embedded systems.

Assertive debugging: correcting software as if we meant it

Assertive debugging is a new way to make embedded systems ensure their own health by having your code monitor itself.

Real-time debugging 101

Debugging a “live” real-time system has its own set of problems and challenges, some quite subtle. This primer on the topic gets developers up to speed quickly.

Avoiding Heisenberg Debugging

Traditional debugging techniques interfere with the software behavior they are intended to observe. Agent-based debugging provides a less-intrusive alternative.


We all learn from our mistakes, but it's less painful to learn from themistakes of others. This month our user-interface expert sharessome embarrassing but educational moments from his own career.

Design for Debugability

Hardware engineers employ all kinds of design reviews and processes, including design for manufacturability and design for testability. It's time software engineers stood up and asked for what they need most: design for debugability. Here's a list of ideas to make systems easier to debug.

Simulating and debugging multicore behavior

Debugging a single processor is hard enough. What can you do when there are multiple processors inside one chip? One answer is to simulate the system before the actual hardware is ready.

Non-intrusive debug and performance optimization for multicore systems

While efficiently partitioned and bug-free software on multiple cores is crucial for taking full advantage of their power, debugging of such systems adds more complexity due to vanishing accessibility of the sub-system interfaces, buses and concurrency, requiring the use of advanced system trace technology.

Multi-core and Multi-threaded SoCs Present New Debugging Challenges

Developers must be aware of these issues as early in the design process as possible in order to ensure they will have the tools necessary to deal with these challenges later in the product development cycle. SoC-based designs are heavily dependent on on-chip debug support. Most processor core vendors do not develop tools themselves. Nevertheless, they must still provide on-chip debug support required to facilitate the development of such debugging tools.

Embedded Systems Bookshelf


Embedded Books Reading Room
Bernard Cole's favorite links to book excerpts.


Engineer's Bookshelf
Airport fiction blows. A look at books other engineers are reading and why you should read them, too. Recommend and write a review yourself. E-mail Brian Fuller.

Jack Ganssle's Bookshelf
A list of book reviews by Jack Ganssle, contributing technical editor of Embedded Systems Design and Embedded.com.

Max's Cool Beans
Clive “Max” Maxfield, the editor on Programmable Logic DesignLine, often writes about interesting books.


Atmel in-circuit debugger and programmer links AVR Studio 5

The Atmel JTAGICE3 mid-range in-circuit debugger and programmer supports all Atmel AVR 8- and 32-bit microcontrollers (MCUs) and connects to the recently-launched Atmel AVR Studio5.

ESC – New version of Express Logic's TraceX speeds optimization and debug

TraceX 5.2 is the latest version of Express Logic's real-time event trace program. As a graphical analytical program, TraceX 5.2 represents real-time system events so that developers can visualize precisely what their system is doing across any desired time interval.

IAR Sytems adds power debugging to Embedded Workbench

IAR Systems has added power debug and analysis tools as standard features of IAR Embedded Workbench for ARM.

Dolphin Integration presents bug detection tool

EDA and IP company Dolphin Integration SA (Meylan, France) has introduced Bird Owl, a built-in real-time debugger that applies the technique of Property Checkers to locate program bugs. The objective is to accelerate the iterative debug-correction process.

Web-based defect management system targets bugs

CodeSonar Enterprise from GrammaTech performs a whole-program, interprocedural analysis on C/C++ code and identifies complex programming bugs that can result in system crashes, memory corruption, and other serious problems.

News & Analysis

Wolfson issues warning over slow sales

Mixed-signal fabless chip company Wolfson Microelectronics plc has issued a trading update notice stating that that second quarter revenues would come in at the lower end of previous guidance.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.