eCosTM Reference Manual

The eCos Team

Cygnus Solutions


Table of Contents
I. Preliminaries
1. eCos kernel overview
The scheduler
Thread synchronization
Exceptions
Interrupts
Counters, clocks, alarms and timers
2. A tour of the kernel sources
Kernel headers
Kernel source files
II. Kernel APIs
3. Requirements for programs
main() versus cyg_user_start()
Necessary headers
Necessary link instructions
Interrupt and exception handlers
Memory allocation
Assertions and bad parameter handling
4. System startup
System startup — the HAL
System startup — cyg_start()
System startup — cyg_prestart()
System startup — cyg_package_start()
System startup — cyg_user_start()
5. Native kernel C language API
Types used in programming eCos
Thread operations
Priority manipulation
Exception handling
Interrupt handling
Counters, clocks and alarms
Synchronization
Memory pools
Message boxes
Flags
6. µITRON API
Task Management Functions
Task-Dependent Synchronization Functions
Synchronization and Communication Functions
Extended Synchronization and Communication Functions
Interrupt management functions
Memory pool Management Functions
Time Management Functions
System Management Functions
Network Support Functions
A. The eCos Hardware Abstraction Layer (HAL)
Architecture, implementation and platform
General principles
Architectural HAL files
Future developments
Kernel porting notes
III. eCos Device Drivers
7. Philosophy of device drivers
Simple device drivers
Managing request queues
Connecting to standard I/O
Device drivers shipped with eCos
Language choice
8. Writing a device driver
Interrupt handling
Input Output Request Blocks (IORBs)
Integrating a device driver with the Standard C Library
9. Serial device driver C API
Preliminaries and configuration
The system calls
10. Wallclock and watchdog devices
Wallclock device
Watchdog device
IV. The ISO Standard C and Math Libraries
11. C and math library overview
Omitted functionality
Included non-ISO functions
Deviations from the standard
Math library compatibility modes
Some implementation details
Thread safety
C library startup
V. Configuration Option Reference
12. Package: eCos HAL
Component: Platform-independent HAL options
Component: Source-level debugging support
Package: MN10300 architecture
Package: TX39 architecture
Package: PowerPC architecture
13. Package: Infrastructure
Option: Use varargs in diag_printf()
Component: Asserts & Tracing
Component: Startup options
Option: Smaller slower memcpy()
Option: Smaller slower memset()
14. Package: eCos kernel
Component: Kernel interrupt handling
Component: Exception handling
Component: Kernel schedulers
Component: Counters and clocks
Component: Thread-related options
Component: Synchronization primitives
Component: Kernel instrumentation
Component: Memory allocators
Component: Source-level debugging support
Component: Kernel APIs
15. Package: eCos µITRON Compatibility Layer
Option: Check Strict µITRON Standards Conformance
Option: System configuration overrides µITRON
Option: Inline Functions
Option: C++ Function Names
Option: Return Error Codes for Bad Params
Option: NULL is a good pointer
Component: Semaphores
Component: Mailboxes
Component: Eventflags
Component: Tasks
Component: Fixed-Size Memorypools
Component: Variable-Size Memorypools
Component: Alarm Handlers
Component: Cyclic Handlers
Component: Version information
16. Package: C Library
Option: Inline versions of <ctype.h> functions
Component: String functions
Option: Inline version of the longjmp() function
Component: Standard utility functions
Component: Standard Input/Output functions
Component: Thread safety
Option: Size of locale name strings
Component: ISO C startup/termination
Component: Tracing output levels in C library
17. Package: Math Library
Component: Compatibility mode
Component: Thread safety
Component: Tracing output levels in Math library
Option: Bessel function limit of significance
18. Package: Common error code support
19. Package: Device drivers
Package: GDB pseudo device
Package: Serial RS232 devices
Package: Wallclock device
Package: Watchdog device