Muutke küpsiste eelistusi

Embedded Systems Firmware Demystified [Pehme köide]

  • Formaat: Paperback / softback, 384 pages, kõrgus x laius: 229x178 mm
  • Ilmumisaeg: 15-Feb-2002
  • Kirjastus: CMP Books
  • ISBN-10: 1578200997
  • ISBN-13: 9781578200993
  • Pehme köide
  • Hind: 70,74 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 384 pages, kõrgus x laius: 229x178 mm
  • Ilmumisaeg: 15-Feb-2002
  • Kirjastus: CMP Books
  • ISBN-10: 1578200997
  • ISBN-13: 9781578200993
Show how to program embedded software systems, build a platform where an embedded system application can reside, and startup an embedded system project. The author covers exception handling, flash memory drivers, a flash file system, and serial and Ethernet connections. A familiarity with C is assumed. The CD-ROM contains the monitor package described in the book and Microcross GNU X-Tools. Annotation c. Book News, Inc., Portland, OR (booknews.com)

* Understand essential hardware details * Walk through an embedded system startup * Build an extensible development platform * Prebuilt GNU X-Tools for 21 platforms Build embedded microprocessor-based systems from the ground up. Develop an integrated und

Explore firmware development from cold-boot to network-boot. Investigate CPU-to-peripheral interfaces. Write a powerful CLI, flash drivers, a flash file system and a TFTP client/server. Includes a cross-compilation toolset for 21 processors and source for an extensible firmware development platform.
Preface vii
Who Is the Reader? ix
What's Covered in this Book? ix
Conventions xii
Source Code xii
Acknowledgments xii
A Hard Start
1(28)
System Requirements
2(1)
Central Processing Unit
3(7)
System Memory
10(2)
CPU Supervision
12(3)
Serial Port Drivers
15(2)
Ethernet Interface
17(1)
Flash Device Options
18(1)
The CPU/Memory Interface
19(8)
Summary
27(2)
Getting Started
29(32)
How Is It Done on a PC?
30(15)
Building Libraries
45(2)
Up Front
47(8)
Run Time
55(1)
Hardware Sanity Tests for the Firmware Developer
55(5)
Summary
60(1)
Introducing MicroMonitor
61(8)
An Embedded System Boot Platform
61(8)
Assembly Required
69(18)
Just After Reset
70(6)
I/O Initialization
76(1)
Establish Exception Handlers
76(10)
Summary
86(1)
Command Line Interface
87(30)
CLI Features
88(1)
CLI Data Structure and the Command Table
89(1)
CLI Processing
90(1)
The Functions Beneath the Command Name
91(5)
Shell Variable and Symbol Processing
96(3)
Command-Line Redirection
99(6)
Command Line Editing and History
105(6)
User Levels
111(4)
Password Protection
115(1)
Summary
116(1)
Interfacing to Flash Memory
117(20)
The Interface Functions
118(14)
Flash Driver Front End
132(4)
Summary
136(1)
A Flash File System
137(36)
The Role of TFS in the Platform
138(1)
The TFS Design Criteria
138(1)
File Attributes
139(2)
High-Level Details
141(2)
Flash Space Overhead Required by TFS
143(1)
Defragmentation
144(2)
TFS Implementation
146(9)
Adding and Deleting Files
155(10)
To Load or Not to Load
165(5)
File Decompression
170(1)
Execute In Place
171(1)
Summary
172(1)
Executing Scripts
173(20)
The Script Runner
173(8)
Conditional Branching
181(6)
A Few Examples
187(4)
Summary
191(2)
Network Connectivity
193(18)
Ethernet
194(1)
ARP
194(1)
IP
195(1)
ICMP
196(1)
UDP and TCP
197(1)
DHCP/BOOTP
198(1)
Applied to Embedded Systems
199(10)
Summary
209(2)
File/Data Transfer
211(22)
Xmodem
211(8)
TFTP
219(11)
Field Upgrade Capability
230(1)
Summary
231(2)
Adding the Application
233(14)
Different Memory Map
233(1)
Less Intense Startup
234(1)
Establishing an Application Stack
235(1)
Connecting to the Monitor's API
235(5)
The Application start( ) Function
240(1)
The Application main( ) Function
241(1)
Application-Originated Drivers
242(1)
Application-Based CLI Uses Monitor CLI
242(2)
Scripts Run Through the Application's CLI
244(1)
Summary
245(2)
Monitor-Based Debugging
247(54)
Different Type of Debug Philosophy
248(1)
Breakpoints
249(5)
Adding Symbolic Capabilities
254(1)
Displaying Memory
255(6)
Overlaying a C Structure onto Memory
261(16)
Stack Trace
277(6)
Testing for Stack Overflow
283(6)
System Profiling
289(10)
Summary
299(2)
Porting MicroMonitor to the ColdFire™ MCF5272
301(34)
Source Code Directory Tree
302(2)
The Makefile
304(9)
The Configuration Header File
313(6)
Stepping Through the Port
319(13)
Summary
332(3)
Conclusion 335(2)
Appendix A Building a Host-Based Toolbox 337(12)
Interfacing to Files on the Host
338(4)
Interfacing to the PC Serial Port
342(2)
PC-Based UDP Transactions: moncmd
344(4)
Summary
348(1)
Appendix B RTOS Overview 349(10)
The Scheduler
350(1)
Tasks, Threads, and Processes
351(1)
Preemption, Time Slicing, and Interrupts
352(1)
Semaphores, Events, Messages, and Timers
353(3)
Reentrancy
356(1)
Good Concurrency vs. Bad Concurrency
357(1)
Summary
358(1)
Index 359(13)
What's on the CD-ROM? 372
Ed Sutter started his career with AT&T Bell Labs in 1981. Now a distinguished member of the technical staff (DMTS) at Lucent, he has been working in embedded systems since 1983. Starting with the 8085, Ed has worked with a wide range of systems over the years including most of today's common CPU architectures. He has put his experience in developing hardware, firmware, and software to good use by building several different development environments. While he is most comfortable with C and assembly language on embedded systems, he has developed code for Win32 and Unix varieties as well. His firmware tools have recently been the subjects of articles in Embedded Systems Programming and Circuit Cellar OnLine magazines.