Skip to Content
Making Embedded Systems
book

Making Embedded Systems

by Elecia White
October 2011
Intermediate to advanced
330 pages
10h 40m
English
O'Reilly Media, Inc.
Content preview from Making Embedded Systems

Chapter 7. Updating Code

When your system has problems after it goes out into the wild, you’ll need to be able to update the code on a device in the field. To understand the complexities, let’s start by looking at how uploading works in the comfort of your development lab, and how that differs from uploading to a device you’ve released.

During development, your system lets you peer into the guts of the code, maybe with a JTAG that can stop the processor. As part of the process, you also get to modify the code (aka flashing the chip). The method for doing that is chip-dependent, but it usually requires some special debugging widget. If you want to update the code after the system leaves your desk, you’ll need to plan ahead. Although we’d like to arm the world with development hardware, it isn’t cost effective (sadly).

The lowest level of updating code is very chip-dependent, but the general procedure follows certain common patterns.

Tip

There are many different names for updating code on a device: bootstrap loading, bootloading (even when it isn’t related to booting), updating, uploading, burning the code, and over-the-air programming. Whatever you call it, uploading code is one of the most difficult topics in embedded systems. It is right up there with storing code on cartridges, keeping consumables secure, and faking floating-point math via binary scaling. This chapter may be tough the first time you read it. Don’t lose hope.

Three different loaders are described in this chapter in ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Architecting High-Performance Embedded Systems

Architecting High-Performance Embedded Systems

Jim Ledin
Engineering a Compiler, 2nd Edition

Engineering a Compiler, 2nd Edition

Keith D. Cooper, Linda Torczon

Publisher Resources

ISBN: 9781449308889Errata Page