Embedded Software Development with ECos

Front Cover
Prentice Hall Professional, 2002 - Computers - 376 pages
Embedded Software Development with eCos is the first complete guide to building solutions with this flexible, low-cost, royalty-free embedded software development platform. Author Anthony J. Massa covers eCos architecture, installation, configuration, coding, deployment, and the entire eCos development platform, including support components. Extensive code examples and a full application case study demonstrate every key programming concept, including exceptions, interrupts, virtual vectors, threads, synchronization, networking, Web connectivity, debug/bootstrap, and even porting eCos to new hardware.
 

What people are saying - Write a review

User Review - Flag as inappropriate

book

Selected pages

Contents

An Introduction to the eCos World
1
12 The Origins of eCos
2
Configurability
3
122 The eCos Configuration Method
4
123 eCos Core Components
5
124 Processor and Evaluation Platform Support
6
The Origins of eCos 7
7
13 Architecture Overview
8
863 lwIP
170
865 Networking Configuration
171
866 Networking Tests
176
867 DNS Support
178
87 SNMP Support
179
88 The GoAhead Embedded WebServer
180
89 Symmetric MultiProcessing Support
182
810 Additional Features
183

1313 Configuration Options
13
1314 Components and Packages
14
1316 Templates
15
14 Summary
16
The Hardware Abstraction Layer
17
Chapter 2 The Hardware Abstraction Layer
18
211 HAL Directory Structure
19
212 HAL Macro Definitions
23
213 HAL Configuration
24
2131 Common Configuration Components
25
214 HAL Startup
26
22 Summary
29
Exceptions and Interrupts
31
311 HAL and Kernel Exception Handling
32
312 Application Exception Handling
38
32 Interrupts
40
3211 Interrupt and Scheduler Synchronization
41
322 Interrupt Configuration
42
323 Interrupt Handling
44
324 Interrupt Control
50
3241 Interrupt Service Routine Management
51
3242 Interrupt State Management
53
3243 Interrupt Controller Management
54
33 Summary
58
Virtual Vectors
59
411 Virtual Vector Configuration
63
412 Virtual Vector Table Initialization
64
4121 Communication Channels
67
42 Summary
71
The Kernel
73
511 Kernel Directory Structure
74
512 Kernel Startup
75
513 The Scheduler
77
5131 Multilevel Queue Scheduler
79
5132 Bitmap Scheduler
81
5134 Scheduler Configuration
83
52 Summary
84
Threads and Synchronization Mechanisms
85
611 Thread Stacks and Stack Sizes
94
62 Synchronization Mechanisms
95
622 Semaphores
101
623 Condition Variables
105
Code Listing 64 Condition variable example code
109
624 Flags
110
625 Message Boxes
113
626 Spinlocks
118
63 Summary
120
Other eCos Architecture Components
121
711 Counters
125
712 Clocks
129
713 Alarms
130
714 Timers
133
72 Asserts and Tracing
134
73 ISO C and Math Libraries
138
74 IO Control System
140
741 IO SubSystem
142
742 Device Drivers
146
75 Summary
148
Additional Functionality and ThirdParty Contributions
149
81 Compatibility Layers
150
8111 ELIX
151
812 𝞵ITRON
152
821 CygMon
153
823 GDB Stub
154
83 File Systems
155
831 ROM File System
157
832 RAM File System
158
833 Journalling Flash File System Version 2
160
841 PCI Library API
161
85 USB Support
165
86 Networking Support
167
861 OpenBSD
168
862 FreeBSD
169
811 Summary
184
The RedBoot ROM Monitor
185
92 RedBoot Directory Structure
187
93 Installation and Configuration
188
931 RedBoot Configuration
189
932 Host Configuration
193
9322 Ethernet
194
94 User Interface and Command Set
195
941 RedBoot Commands
196
9411 Boot Scripting
204
95 Summary
206
The Host Development Platform
207
102 Configuring the Windows Host
209
1021 Installing the Cygwin Native Tools
210
10212 Upgrading the Cygwin Tools
219
1022 Installing the PlatformSpecific CrossDevelopment Tools
220
1023 Installing the eCos Development Kit
223
10231 eCos Development Kit Directory Structure
229
10241 Installing WinCVS
230
10242 Setting WinCVS Preferences
235
10243 WinCVS Update Commands
236
103 Summary
238
The eCos Toolset
239
1111 Package Directory Structure
240
1112 The Component Definition Language Overview
243
112 The Configuration Tool
248
11211 Saving Configurations
251
11213 Configuration Window
254
11214 Conflicts Window
255
11215 Properties Window
256
11219 Memory Layout Manipulation
257
1122 eCos Repository Database
264
1123 Graphical Representation of CDL Script Files
266
1124 Using Templates
270
11241 Conflicts and Resolutions
272
1125 Package Control
274
1131 The Package Administration Tool
275
1132 The CommandLine Configuration Tool
277
1151 SourceNavigator
278
1152 Splint
279
116 Summary
280
An Example Application Using eCos
281
1211 A Closer Look
282
122 Examples Overview
285
1221 Development Hardware Setup
286
1222 eCos Tools
288
1232 Installing RedBoot
292
1233 Booting RedBoot
293
124 eCos
295
125 Application
298
1251 Building the Application
299
1252 Loading the Application
303
1253 Debugging the Application
305
12531 Using the GDB CommandLine Interface
309
126 The eCos Tests
310
127 Simulators
311
128 Summary
313
Porting eCos
315
132 A Platform Porting Example
317
1321 PowerPC HAL Directory and File Structure
320
1322 Porting Hints
334
133 Summary
335
Supported Processors and Evaluation Platforms
337
eCos License
345
B2 GNU General Public License
346
B23 How to Apply These Terms to Your New Programs
352
Cygwin Tools Upgrade Procedure
355
Building the GNU CrossDevelopment Tools
361
About the Author
369
Index
371
About the CDROM
392
Copyright

Common terms and phrases

About the author (2002)

ANTHONY J. MASSA earned a dual B.S./B.A. degree in electrical engineering from the University of San Diego. He has developed embedded software, device drivers, and applications on a wide range of processors and embedded RTOS platforms, for successful products including satellite PC receiver cards and modems, set-top boxes, networking broadcast equipment, and Internet-enabled wireless modems. Massa has written extensively on eCos in many leading publications including Doctor Dobb's Journal, Embedded Systems Programming, and Software Development.

Bibliographic information