Errata

Programming Embedded Systems

Errata for Programming Embedded Systems

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
ePub, Page Chapter 2
"Initialize the hardware" section

In Chapter 2, under "Initialize the hardware" section below text is mentioned:

As per above text, address 0x00000000 belongs to flash memory on the Arcom board.
But in Chapter 2, under "Examine the Landscape" section below memory map has been mentioned.

As per above memory map, address 0x00000000 belongs to SDRAM on Arcom board.
The text mentions address 0x00000000 as flash memory but memory map mentions it as SDRAM memory. Both are not aligning with each other. Request you to provide resolution on this issue.

Anonymous  Mar 22, 2023 
Other Digital Version 11
footer

"infavor of the 80286" - should have a space between "in" and "favor".

Found on NetLibrary's ebook version.

Christopher Svec  Jun 03, 2009 
Printed Page 24
ist paragraph

Text syas "For example, in Figure 2.4, resistor R39 has a value of 680 ohm". In fact both resistors labelled as R39 in figure 2.4 have a value of 33 ohm (shown in diagram as 33R) - this is also probably an error, it is certainly unusual for a circuit diagram to show two resistors with the same identifier (unless the resistor is part of a pack, in which case the diagram would show which part of the pack is used).

Martin King  Jan 10, 2009 
Printed Page 72
RedBoot (Section); minicom setup.

(This is not an error). I used this page for my minicom setup:
(Pete's Notes)
http://www.cisl.ucar.edu/nets/intro/staff/siemsen/tools/minicom.html#dfl

Anonymous   
Printed Page 74
File transfer using minicom on Linux is not covered.

After:
(in minicom)
RedBoot> load -x modem

CTRL-A Z to get Minicom Command Summary.

Choose S to send files.

[Upload] Choose xmodem.

Use arrow keyes and space (possibly need to hit space twice) to navigate to blink.exe in your
directory structure. Select blink.exe and hit Enter. This begins the trasfer. If all goes well, you
see:

┌───────────[xmodem upload
- Press CTRL-C to
quit]────────────┐
|Retry 0: NAK on sector │
│Retry 0: NAK on sector │
│Bytes Sent: 3328 BPS:1259 │
│ │
│Transfer complete │
│ │
│ READY: press any key to continue... │
└─────────────&
#9472;─────────────&#
9472;─────────────&#9
472;─────────────&#94
72;─────┘

And then, beneath:

RedBoot> load -m xmodem

which you had typed earlier, you'll see:

CEntry point: 0x00400180, address range: 0x00400000-0x004001d4
xyzModem - CRC mode, 28(SOH)/0(STX)/0(CAN) packets, 5 retries

PS: I'm using gcc-4.2.1

Anonymous   
Printed Page 79
GDB Connection Problems

This is not an error, but a suggestion to include the suggestion to:

set remotebaud 115200

in GDB. It helped fix some unrecognized packet/connection timed out kind
of error I was having (but unfortunately now I am not able to reproduce the problem).

Anonymous   
PDF Page 109-110
source code: memtestAddressBus

I believe the function memtestAddressBus() contains two misleading source code comments:

The code section labelled with "Check for address bits stuck high" does not only detect "stuck high" errors, but also detects "stuck low" errors (because both errors result in aliasing of a non-zero address with address 0).

The following section, labelled with "Check for address bits stuck low or shorted", cannot detect "stuck low" errors (because it does not check address 0), but instead only checks for "shorted address line" errors.

Christof Efkemann  Jun 24, 2014 
Printed Page 127
"Bitfields" subsection

"Here’s how to test a wider field (such as two bits) using a bitfield:"
should be
"Here’s how to test a wider field (such as four bits) using a bitfield:"

Dmytro Vashkevych  Jul 11, 2020 
Printed Page 161
Second line

Second line reads:

TIMER_STATUS = TIMER_0_MATCH;

There is no reference to register TIMER_STATUS on page 37 where others registers are defined. After reading many pages of this book, I found:

//resources.oreilly.com/examples/9780596009830/-/blob/master/chapter8/timer.c

which states correct line as:

TIMER_STATUS_REG = TIMER_0_MATCH;

So, when will you correct the error on page 161?

Colin Gates  Feb 20, 2023 
Printed Page 181
Figure 10-5, list item 6

I believe that list item 6 should read: "The operating system scheduler code exits.", not "...scheduler code exists."

Anonymous  Dec 13, 2013 
Printed Page 265
3rd Paragraph

Today's (4-10-08) price for the VIPER-Lite Embedded Linux Development Kit is US$598.00 including discount. I was concerned the Arcom rep and I were not talking about the same product until I checked back on the review page for this book and saw an anonymous reviewer who was quoted full boat of $997.00.

May I suggest in the next printing you change "$295 (plus shipping)" to "40% discount".

Anonymous