eCosTM Reference Manual

Version 1.2.1

Table of Contents
I. Preliminaries
1. eCos kernel overview
The scheduler
Thread synchronization
Counters, clocks, alarms and timers
2. A tour of the kernel sources
Kernel headers
Kernel source files
II. Kernel APIs
3. Requirements for programs
Necessary headers
Necessary link instructions
Interrupt and exception handlers
Memory allocation
Assertions and bad parameter handling
4. System start-up
System start-up — the HAL
System start-up — 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
Memory pools
Message boxes
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
7. The eCos Hardware Abstraction Layer (HAL)
Architecture, implementation and platform
General principles
Architectural HAL files
Future developments
Kernel porting notes
8. eCos Interrupt Model
III. I/O Package (Device Drivers)
9. Introduction
10. User API
11. Serial driver details
“simple serial” driver
“tty” driver
12. How to write a driver
How to write a serial hardware interface module
13. Device Driver Interface to the Kernel
Interrupt Model
Device Driver Models
Synchronization Levels
IV. The ISO Standard C and Math Libraries
14. C and math library overview
Omitted functionality
Included non-ISO functions
Math library compatibility modes
Some implementation details
Thread safety
C library startup
V. Configuration Option Reference
15. Package: eCos HAL
Component: Platform-independent HAL options
Component: Source-level debugging support
Package: ARM architecture
Package: i386 architecture
Package: MN10300 architecture
Package: PowerPC architecture
Package: SPARClite architecture
Package: TX39 architecture
16. Package: Infrastructure
Option: Use varargs in diag_printf()
Component: Asserts & Tracing
Component: Startup options
Option: Smaller slower memcpy()
Option: Smaller slower memset()
17. 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
18. Package: eCos uITRON Compatibility Layer
Option: Check Strict uITRON Standards Conformance
Option: System configuration overrides uITRON
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
19. 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
Option: Size of locale name strings
Component: Signals
Component: ISO C startup/termination
Component: errno
Component: Date/Time
20. Package: Math Library
Component: Compatibility mode
Component: Thread safety
Component: Tracing output levels in Math library
Option: Bessel function limit of significance
21. Package: Common error code support
22. Package: I/O sub-system
Option: Debug I/O sub-system
Package: Serial device drivers
23. Package: Wallclock device
24. Package: Watchdog device