The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
| Version |
Location |
Description |
Submitted By |
Date submitted |
Date corrected |
| Printed |
Page v
Dedication page |
The new dedication should read:
This book is dedicated to
my beautiful and wonderful daughters, Katie and Ashley.
You mean everything to me. I love you.
--Anthony Massa
|
Anonymous |
|
|
| Printed |
Page xviii
Comments and Questions |
the wrong web site is listed, it should be - http://www.oreilly.com/catalog/9780596009830/
|
Anonymous |
|
|
|
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.
Note from the Author or Editor: Thank you for your feedback. I looked into this and you are correct, this is confusing.
The memory map shown on page 32 is for the Arcom Target188EB hardware board, including the Figure 2-6 memory map. You can see this by checking the source code examples including from Chapter 5.
The Viper-Lite memory map is not the same, using the PXA255 process.
/**********************************************************************
*
* Filename: tgt188eb.h
*
* Description: Header file for Arcom's Target188EB hardware.
*
* Notes:
*
*
* Copyright (c) 1998 by Michael Barr. This software is placed into
* the public domain and may be used for any purpose. However, this
* notice must not be changed or removed and no warranty is either
* expressed or implied by its publication or distribution.
**********************************************************************/
#ifndef _TGT188EB_H
#define _TGT188EB_H
/**********************************************************************
*
* Memory Map
*
* Base Address Size Description
* -------------- ----- ------------------------------------
* 0000:0000h 128K SRAM
* 2000:0000h Unused
* 7000:0000h Zilog SCC Registers
* 7000:1000h Zilog SCC Interrupt Acknowledge
* 7000:2000h Unused
* C000:0000h 128K Flash
* E000:0000h 128K EPROM
*
**********************************************************************/
#define SRAM_BASE (void *) 0x00000000
#define SCC_BASE (void *) 0x70000000
#define SCC_INTACK (void *) 0x70001000
#define FLASH_BASE (void *) 0xC0000000
#define EPROM_BASE (void *) 0xE0000000
|
Anonymous |
Mar 22, 2023 |
|
|
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).
Note from the Author or Editor: Thank you for the feedback, Martin.
Best,
Anthony
|
Martin King |
Jan 10, 2009 |
|
|
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;─────────────
472;─────────────^
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
Note from the Author or Editor: Thank you for the feedback.
Best,
Anthony
|
Anonymous |
|
|
|
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).
Note from the Author or Editor: Thank you for the feedback.
Best,
Anthony
|
Anonymous |
|
|
|
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.
Note from the Author or Editor: Thank you for the feedback, Christof.
Best,
Anthony
|
Christof Efkemann |
Jun 24, 2014 |
|
|
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:"
Note from the Author or Editor: Thank you for the feedback, Dmytro.
Best,
Anthony
|
Dmytro Vashkevych |
Jul 11, 2020 |
|
|
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?
Note from the Author or Editor: Colin,
Thanks for your feedback and finding the typo in the Programming Embedded Systems book. Not sure if it will be corrected.
Need to port the examples to a better (much, much cheaper) development board.
Thanks,
Anthony
|
Colin Gates |
Feb 20, 2023 |
|
|
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."
Note from the Author or Editor: Thank you for the feedback.
Best,
Anthony
|
Anonymous |
Dec 13, 2013 |
|
|
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".
Note from the Author or Editor: Thank you for the feedback.
Definitely need to find a cheaper alternative and port the examples to a new board.
Best,
Anthony
|
Anonymous |
|
|