Skip to main content

+1 866 653-6233 LinkedIn Software Expert Witness Directory

About Us Contact Us

Barr Group Software Experts

Barr Group Software Experts

Main navigation

  • Expert Services
    • Consulting Experts in Software and Electronics
    • Expert Reports by Testifying Software Experts
    • Reverse Engineering and Forensic Analysis
    • Software Source Code Review and Analysis
  • Areas of Expertise
    • Left Side
      • Artificial Intelligence
      • Automotive Systems
      • Cloud Computing
      • Computer Security
      • Consumer Electronics
      • Electronic Circuits
      • Enterprise Software
      • Financial Technology
      • Firmware and IoT
    • Right Side
      • Industrial Controls
      • Mechanical Design
      • Medical Devices
      • Military & Aerospace
      • Mobile Devices & Apps
      • Optical Equipment
      • Renewable Energy
      • Signal Processing
      • Telecommunications
  • Matters & Venues
    • Patent Infringement and Invalidity Experts
    • Software Copyright and Trade Secrets Experts
    • Product Liability and Failure Analysis Experts
    • Contract Disputes and Software Project Failures
    • Venues and Clients
  • Directory
  • Case Studies
    • DirecTV Anti-Piracy
    • Samsung Software Copyright
    • Toyota Runaway Cars
  • Resources
    • Expert Witness Blog
    • Source Code Review in Litigation
    • Software Source Code Discovery

Debugging Embedded Software on the Target

  1. Home
  2. Engineering Services
  3. Embedded Software Training Courses
  4. Debugging Embedded Software on the Target

Course Overview

Debugging Embedded Software on the Target

Course Length
2 Days
CEUs
1.50
Format
Hands-on/Lecture

Finding and killing latent bugs in embedded software is a difficult business. Heroic efforts and expensive tools are often required to trace backward from an observed crash, hang, or other unplanned run-time behavior to the root cause. In the worst-case scenario, the root cause damages the code or data in a subtle way such that the system still appears to work fine or mostly fine-–at least for a while.

This course teaches engineers how to use inexpensive tools, such as logic analyzers, to locate the Top 10 Causes of Nasty Firmware-Specific Defects. These are the sorts of common anomalies that cannot be easily reproduced in the lab and are thus too-often dismissed as “user errors” or “glitches” only to rear their nasty heads after the product ships to customers. Prevent these ghosts in the machine from living in your system by learning how to debug well despite the limitations of cross-platform debuggers and software tools.

Through a set of hands-on exercises with an ARM Cortex processor board, a USB logic analyzer, an IDE debugger, participants learn for themselves how to find and kill common real world embedded-specific firmware bugs. Each attendee also goes home with a Saleae Logic-8 USB logic analyzer and ARM board.

Topics covered during this course include:

  • Looking Under the Hood
  • Top 10 Causes of Nasty Firmware Bugs
  • Debugging in the Presence of an RTOS
  • Debugging at the Hardware Boundary
  • Tales from the Trenches

This course is appropriate for:

  • Embedded software developers

Prerequisites:  Attendees should have a working familiarity with the C programming language.

Explore this course:

  • Course Syllabus
  • Reviews
  • Related Courses

Request an Expert

(866) 653-6233

Syllabus

The following is a summary of the major course topics and should not be considered the section-by-subsection lecture breakdown.

Looking Under the Hood

  • Calling Conventions & Register Usage
  • C Code vs. Generated Assembly Code
  • Linker Command Files and Linker Map Files
  • Atomicity, Alignment, Word Size, etc.

Top 10 Causes of Nasty Firmware Bugs

  • Race Condition
  • Non-Reentrant Function
  • Missing 'volatile' Keyword
  • Stack Overflow
  • Heap Fragmentation
  • Memory Leak
  • Deadlock
  • Priority Inversion
  • Incorrect Priority Assignment
  • Timing Jitter

Debugging in the Presence of an RTOS

  • Pre-emption Hazards
  • RTOS-aware Debuggers
  • Tracing & Logging
  • Debugging at the Hardware Interface

Debugging at the Hardware Boundary

  • Reset Issues
  • Timing Violations
  • Low Power Modes
  • Multi-Processor Systems

Tales from the Trenches

Reviews
Related Courses
  • Embedded Software Boot Camp
  • Firmware Defect Prevention for Safety-Critical Systems

Find out More

Contact us now to find out more about this course or to enquire about an on-site training at your company.

Recording Policy

Barr Group's courses may not be audiotaped, videotaped, or photographed without consent from Barr Group's executive team.

Barr Group logo
Call us

Expert Services

  • Source Code Review Services
  • Expert Witness Directory
  • Reverse Engineering Services
  • Expert Reports & Testimony
  • How-To Technical Articles
  • Engineering Services

Latest Insights

  • Payment Processing and e-Payments Fraud
  • Albert Einstein Expert Witness
  • Medical Device Litigation and FDA 510(k)
  • Personality Traits of the Best Expert Witnesses

Website contents copyright © 2012-2025 by Barr Group. | Barr Group's logo is a U.S.-registered ® trademark.

SITEMAP  |  PRIVACY