Skip to main content Accessibility help
×
Hostname: page-component-848d4c4894-xfwgj Total loading time: 0 Render date: 2024-06-15T19:42:11.023Z Has data issue: false hasContentIssue false

4 - System debugging strategies

Published online by Cambridge University Press:  05 August 2012

Dhiraj K. Pradhan
Affiliation:
University of Bristol
Ian G. Harris
Affiliation:
University of California, Irvine
Get access

Summary

Introduction

Debugging embedded software is harder than debugging programs on a PC. In general purpose software, our overriding goal is functionality or input–output behavior. Embedded systems have different and more stringent design goals than business or scientific software. Functional correctness is still a given, but it is only the first of many requirements placed on the system. These goals make embedded system debugging a very different problem.

First, embedded systems must meet real-time performance goals. Almost meeting the deadline doesn't count – a task must finish all its work by its deadline. Debugging a program for performance requires a different set of tools than is used for functional debugging. Real-time debugging is closely related to the underlying hardware architecture on which the program will execute, and so is much more closely tied to the platform than is functional debugging.

Second, many embedded systems are power and energy limited. Even embedded processors that are not powered by a battery are generally designed to power budgets to reduce heat dissipation and system cost. Like real-time performance, power and energy consumption are closely related to the hardware platform and require very different tools.

In both these cases, the characteristics and organization of the hardware platform are important determinants of the program characteristics that we want to measure and debug. When debugging programs for workstations, most of the platform dependencies that we care about come from the operating system and associated libraries. Most programmers don't worry about, for example, the details of the memory system.

Type
Chapter
Information
Publisher: Cambridge University Press
Print publication year: 2009

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Save book to Kindle

To save this book to your Kindle, first ensure coreplatform@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Available formats
×

Save book to Dropbox

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Dropbox.

Available formats
×

Save book to Google Drive

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Google Drive.

Available formats
×