Advanced Debugging of ARM-based Devices
Advanced Debugging of ARM-based Devices
Most developers will acknowledge that writing In this paper we will show you how the right tools
code is the easy part. But a nasty bug—whether it can help you efficiently develop high quality
is a race condition, a seemingly random artifact or software on ARM-based microcontrollers using the
an unpredictable crash condition can leave a Atollic TrueSTUDIO Pro C/C++ IDE. Since most
developer ready to tear his hair out. This is due in development tools give you an editor, compiler,
large part to ever-increasing system complexity as linker and debugger, we are going to spend time in
competitive pressure and market opportunity this article on some of the advanced features that
introduces new features within already tight are not usually available in embedded tool chains.
delivery schedules. We will touch on tools to help you improve the
Your challenge as the developer is to find quality of your code and look at advanced
development tools you can trust: tools that are debugging capabilities using powerful software
easy and intuitive to use with powerful features visualization and analysis.
that can assist you in writing better code and in
resolving difficult problems or isolating hard-to-
find bugs; and a knowledgeable and responsive
tech support team to assist when you can’t figure
out how to use the tool in your situation.
Overview 1. The individual review phase where the
Atollic® TrueSTUDIO® Pro development are value- reviewers study the source code written by
added features that can be unlocked in the colleagues and make comments. Potential
TrueSTUDIO IDE. These are the kind of tools you problems detected can for example be logic
want on your desktop if you are serious about your errors, portability problems, coding standard
code and about keeping your project on track. violations, optimization problems, etc.
Each identified problem can then be assigned a
Some of these powerful features include project
proposed level of severity.
wizards, parallel compilation, build analyzer, and
support for CMSIS-PACK, plus RTOS-aware 2. The team review phase where reviewers discuss
debugging with a built-in crash analyzer, support what to do with each identified problem area
for multicore and multi-processor debug, event-, in a code review meeting, and possibly assign
data- and instruction tracing, peripheral register specific team members to rework the code.
viewers, and real-time variable watch. TrueSTUDIO The code review meeting may, for example,
Pro also includes team collaboration features, such decide a particular review comment is invalid,
as source code review, issue management, and is valid but shall not be fixed, or is valid and
version control system integration. must be corrected.
3. The rework/problem fixing phase where select
Source Code Reviews team members resolve the problems that have
Peer review can help you reduce bugs and defects been assigned to them. As each item is
early in the development. The principle is to have a corrected and ticked off, the project manager
formal process where developers each other’s and other team members can monitor which
code at various times during development, such as items have been corrected and which still need
before an alpha or beta release, or after attention.
implementing or rewriting a key feature of your
software.
Atollic TrueSTUDIO® Pro is one of the first
embedded systems IDEs to integrate features for
source code reviews and to run code review
meetings as a standard feature. Select the code for
review and assign a reviewer to comment on the
code, indicating the type of problem and the
severity. TrueSTUDIO then supports review
The Code Review Status Screen organizes problem
meeting activities and tracks the resolution of each
areas identified by internal reviewers and tracks the
comment.
resolution of each item
Many different categories of problems can be
detected including, logic errors, portability
problems, coding standard violations, optimization
problems, etc. Each identified problem can then be
assigned a proposed level of severity.
A source code review is typically performed in
three stages:
Build Analyzer
The TrueSTUDIO Pro build analyzer provides
developers with an unprecedented view into the
generated build image file. This novel feature
presents information on memory regions and
memory details in a highly visual fashion. The data
is pulled automatically from the .elf file (and the
.map file, if available)
Use it to assist in code- or speed optimization
efforts and to quickly see memory utilization—
both on- and off-chip.
Future-proofing with support for CMSIS-PACK
Developers can also use the build analyzer to verify
With integrated CMSIS-PACK support, Atollic the location of various regions (e.g. bootloaders,
TrueSTUDIO users enjoy vendor-neutral access to interrupt vector tables, interrupt handlers, etc.) are
readymade software components from 3rd party set appropriately.
suppliers. You can even wrap your own software
components into CMSIS-PACK files and distribute
internally within your organization.
Parallel Compilation
Ge
TRADEMARK
Atollic, Atollic TrueSTUDIO and the Atollic logotype are trademarks or registered trademarks owned by Atollic. ECLIPSE™ is a registered trademark of
the Eclipse foundation. All other product names are trademarks or registered trademarks of their respective owners.