eCosPro Reference Manual

Documentation licensing terms
Trademarks
eCos and RedBoot Warranty
eCosPro Warranty
Other copyrights

15 August 2023

About this reference manual

This reference manual is for eCos and eCosPro. It forms part of the eCosPro Developer's kit and includes documentation of the standard features of eCos as well documentation of eCosPro libraries and runtime features. Not all the eCosPro features or libraries documented in this reference manual may be available in the runtime code due to licensing restrictions. Some eCosPro features are subject to the eCosPro Evaluation License and require seperate licensing exclusively from eCosCentric when included in a product.


Table of Contents

I. The eCos Kernel
Kernel Overview — Overview of the eCos Kernel
SMP Support — Support Symmetric Multiprocessing Systems
Thread creation — Create a new thread
Thread information — Get basic thread information
Thread control — Control whether or not a thread is running
Thread termination — Allow threads to terminate
Thread priorities — Examine and manipulate thread priorities
Per-thread data — Manipulate per-thread data
Thread destructors — Call functions on thread termination
Exception handling — Handle processor exceptions
Counters — Count event occurrences
Clocks — Provide system clocks
Alarms — Run an alarm function when a number of events have occurred
Mutexes — Synchronization primitive
Condition Variables — Synchronization primitive
Semaphores — Synchronization primitive
Mail boxes — Synchronization primitive
Event Flags — Synchronization primitive
Spinlocks — Low-level Synchronization Primitive
Scheduler Control — Control the state of the scheduler
Interrupt Handling — Manage interrupt handlers
Kernel Real-time Characterization — Measure the performance of the eCos kernel
Kernel thread-aware debugging — Overview of eCos Kernel thread-aware debugging
Kernel and infrastructure instrumentation — Overview of eCos Kernel and Infrastructure instrumentation
II. The eCos Hardware Abstraction Layer (HAL)
1. Introduction
2. Architecture, Variant and Platform
3. General principles
4. HAL Interfaces
4.1. Base Definitions
4.1.1. Byte order
4.1.2. Label Translation
4.1.3. Base types
4.1.4. Atomic types
4.2. Architecture Characterization
4.2.1. Register Save Format
4.2.2. Thread Context Initialization
4.2.3. Thread Context Switching
4.2.4. Bit indexing
4.2.5. Idle thread activity
4.2.6. Reorder barrier
4.2.7. Breakpoint support
4.2.8. GDB support
4.2.9. Setjmp and longjmp support
4.2.10. Stack Sizes
4.2.11. Address Translation
4.2.12. Global Pointer
4.3. Interrupt Handling
4.3.1. Vector numbers
4.3.2. Interrupt state control
4.3.3. ISR and VSR management
4.3.4. Interrupt controller management
4.4. Clocks and Timers
4.4.1. Clock Control
4.4.2. Microsecond Delay
4.4.3. Clock Frequency Definition
4.5. HAL I/O
4.5.1. Register address
4.5.2. Register read
4.5.3. Register write
4.6. HAL Unique-ID
4.6.1. HAL_UNIQUE_ID_LEN
4.6.2. HAL_UNIQUE_ID
4.7. Cache Control
4.7.1. Cache Dimensions
4.7.2. Global Cache Control
4.7.3. Cache Line Control
4.8. Linker Scripts
4.9. Diagnostic Support
4.10. SMP Support
4.10.1. Target Hardware Limitations
4.10.2. HAL Support
5. Exception Handling
5.1. HAL Startup
5.2. Vectors and VSRs
5.3. Default Synchronous Exception Handling
5.4. Default Interrupt Handling
6. HAL GDB File I/O Routines
HAL GDB File I/O Routines — access host file system
7. Porting Guide
7.1. Introduction
7.2. HAL Structure
7.2.1. HAL Classes
7.2.2. File Descriptions
7.3. Virtual Vectors (eCos/ROM Monitor Calling Interface)
7.3.1. Virtual Vectors
7.3.2. The COMMS channels
7.3.3. The calling Interface API
7.3.4. IO channels
7.4. HAL Coding Conventions
7.4.1. Implementation issues
7.4.2. Source code details
7.4.3. Nested Headers
7.5. Platform HAL Porting
7.5.1. HAL Platform Porting Process
7.5.2. HAL Platform CDL
7.5.3. Platform Memory Layout
7.5.4. Platform Serial Device Support
7.6. Variant HAL Porting
7.6.1. HAL Variant Porting Process
7.6.2. HAL Variant CDL
7.6.3. Cache Support
7.7. Architecture HAL Porting
7.7.1. HAL Architecture Porting Process
7.7.2. CDL Requirements
8. Future developments
III. The ISO Standard C and Math Libraries
9. C and math library overview
9.1. Included non-ISO functions
9.2. Math library compatibility modes
9.2.1. matherr()
9.2.2. Thread-safety and re-entrancy
9.3. Some implementation details
9.4. Thread safety
9.5. C library startup
10. Overview of ISO Standards Compliance
10.1. Definitions
10.2. Scope
10.3. General Overview
10.4. Common C/C++ headers
10.4.1. <assert.h>
10.4.2. <complex.h>
10.4.3. <ctype.h>
10.4.4. <errno.h>
10.4.5. <fenv.h>
10.4.6. <float.h>
10.4.7. <inttypes.h>
10.4.8. <iso646.h>
10.4.9. <limits.h>
10.4.10. <locale.h>
10.4.11. <math.h>
10.4.12. <setjmp.h>
10.4.13. <signal.h>
10.4.14. <stdarg.h>
10.4.15. <stdbool.h>
10.4.16. <stddef.h>
10.4.17. <stdint.h>
10.4.18. <stdio.h>
10.4.19. <stdlib.h>
10.4.20. <string.h>
10.4.21. <tgmath.h>
10.4.22. <time.h>
10.4.23. <wchar.h>
10.4.24. <wctype.h>
10.5. C11 specific headers
10.5.1. <stdalign.h>
10.5.2. <stdatomic.h>
10.5.3. <threads.h>
10.5.4. <uchar.h>
IV. eCosPro Standard C++ library support package
11. Introduction
11.1. Overview of features
12. Usage
12.1. Requirements
12.2. Issues to consider
12.2.1. Using C++ exceptions
12.2.2. Application size
12.2.3. C++ exceptions in callbacks
12.2.4. Licensing
12.2.5. Standards Compliance
12.2.6. Open issues
13. Testing
14. Toolchain
V. eCos Support for Dynamic Memory Allocation
Memory Allocation — Access the System Heap
Memory Pool Functions — Additional Memory Pools
Memory Debug Data — Analyze Memory Usage
VI. I/O Package (Device Drivers)
15. Introduction
16. User API
17. Serial driver details
17.1. Raw Serial Driver
17.1.1. Runtime Configuration
17.1.2. API Details
17.2. TTY driver
17.2.1. Runtime configuration
17.2.2. API details
18. How to Write a Driver
18.1. How to Write a Serial Hardware Interface Driver
18.1.1. DevTab Entry
18.1.2. Serial Channel Structure
18.1.3. Serial Functions Structure
18.1.4. Callbacks
18.2. Serial testing with ser_filter
18.2.1. Rationale
18.2.2. The Protocol
18.2.3. The Serial Tests
18.2.4. Serial Filter Usage
18.2.5. A Note on Failures
18.2.6. Debugging
19. Device Driver Interface to the Kernel
19.1. Interrupt Model
19.2. Synchronization
19.3. SMP Support
19.4. Device Driver Models
19.5. Synchronization Levels
19.6. The API
19.6.1. cyg_drv_isr_lock
19.6.2. cyg_drv_isr_unlock
19.6.3. cyg_drv_spinlock_init
19.6.4. cyg_drv_spinlock_destroy
19.6.5. cyg_drv_spinlock_spin
19.6.6. cyg_drv_spinlock_clear
19.6.7. cyg_drv_spinlock_try
19.6.8. cyg_drv_spinlock_test
19.6.9. cyg_drv_spinlock_spin_intsave
19.6.10. cyg_drv_spinlock_clear_intsave
19.6.11. cyg_drv_dsr_lock
19.6.12. cyg_drv_dsr_unlock
19.6.13. cyg_drv_mutex_init
19.6.14. cyg_drv_mutex_destroy
19.6.15. cyg_drv_mutex_lock
19.6.16. cyg_drv_mutex_trylock
19.6.17. cyg_drv_mutex_unlock
19.6.18. cyg_drv_mutex_release
19.6.19. cyg_drv_cond_init
19.6.20. cyg_drv_cond_destroy
19.6.21. cyg_drv_cond_wait
19.6.22. cyg_drv_cond_signal
19.6.23. cyg_drv_cond_broadcast
19.6.24. cyg_drv_interrupt_create
19.6.25. cyg_drv_interrupt_delete
19.6.26. cyg_drv_interrupt_attach
19.6.27. cyg_drv_interrupt_detach
19.6.28. cyg_drv_interrupt_mask
19.6.29. cyg_drv_interrupt_mask_intunsafe
19.6.30. cyg_drv_interrupt_unmask
19.6.31. cyg_drv_interrupt_unmask_intunsafe
19.6.32. cyg_drv_interrupt_acknowledge
19.6.33. cyg_drv_interrupt_configure
19.6.34. cyg_drv_interrupt_level
19.6.35. cyg_drv_interrupt_set_cpu
19.6.36. cyg_drv_interrupt_get_cpu
19.6.37. cyg_ISR_t
19.6.38. cyg_DSR_t
19.7. Instrumentation
VII. File System Support Infrastructure
20. Introduction
21. File System Table
22. Mount Table
23. File Table
24. Directories
25. Synchronization
26. Initialization and Mounting
27. Automounter
28. Sockets
29. Select
30. Devices
31. Writing a New Filesystem
VIII. FAT File System Support
32. Introduction
33. Configuring the FAT Filesystem
33.1. Including FAT Filesystem in a Configuration
33.2. Configuring the FAT Filesystem
34. Using the FAT Filesystem
35. Removable Media Support
36. Non-ASCII Character Set Support
37. Formatting Support
38. Testing
IX. Multimedia File System
39. Introduction
40. Disk Data Structure
40.1. Directory
40.2. Free List
40.3. Block Allocation Tables
40.4. Data Area
41. Runtime Filesystem Organization
41.1. FILEIO Interface
41.2. File and Directory Handling
41.3. Caches
41.4. Disk Interface
41.5. Scan and Format
42. Configuration
42.1. Configuration Options
42.1.1. General Options
42.1.2. Formatting Options
42.1.3. Footprint Options
42.2. Configuration Guidelines
42.2.1. Block Size
42.2.2. BAT Size
42.2.3. Directory Size
42.2.4. Cache Sizes
43. Usage
43.1. FILEIO Interface
43.2. MMFSLib
43.2.1. MMFSLib API
43.2.2. Example
44. Testing
X. Disk IO Package
45. Introduction
46. Configuring the DISK I/O Package
46.1. Including DISK I/O in a Configuration
46.2. Configuring the DISK I/O Package
47. Usage
48. Hardware Driver Interface
48.1. DevTab Entry
48.2. Disk Controller Structure
48.3. Disk Channel Structure
48.4. Disk Functions Structure
48.5. Callbacks
48.6. Putting It All Together
XI. USB Mass Storage Support
Overview — eCosPro Support for USB Mass Storage
XII. MMC, SD, SDHC and SDIO Media Card Disk Driver
Device Driver for MMC, SD, SDHC and SDIO media Cards — eCos Support for MMC, SD, SDHC and SDIO media Cards
XIII. MMC/SD Card Device Drivers
49. Atmel SAM series Multimedia Card Interface (MCI) driver
Overview — Using MMC/SD cards with block drivers and filesystems
XIV. The Yaffs filesystem
50. What is Yaffs?
51. Getting started with Yaffs
51.1. Licensing considerations
51.2. Installation
51.2.1. Installation via the eCos Configuration Tool
51.2.2. Installing from the command-line
51.3. Configuration and Building
51.3.1. Package dependencies
51.3.2. Configuration options
51.4. Using Yaffs
51.4.1. Mounting a filesystem
51.4.2. Data flushing
51.4.3. Checkpointing
51.4.4. Limitations
51.5. Memory requirements
51.5.1. Worked example
51.6. Testing
52. Using Yaffs with RedBoot
52.1. Memory considerations under RedBoot
XV. eCos NAND I/O
53. eCos NAND Flash Library
53.1. Description
53.1.1. Structure of the library
53.1.2. Device support
53.2. Danger, Will Robinson! Danger!
53.3. Differences between NAND and NOR flash
53.4. Preparing for deployment
54. Using the NAND library
54.1. Configuring the NAND library
54.2. The NAND Application API
54.2.1. Device initialisation and lookup
54.2.2. NAND device addressing
54.2.3. Manipulating the NAND array
54.2.4. Ancillary NAND functions
55. Writing NAND device drivers
55.1. Planning a port
55.1.1. Driver structure and layout
55.1.2. Chip partitions
55.1.3. Locking against concurrent access
55.1.4. Required CDL declarations
55.2. High-level (chip) functions
55.2.1. Device initialisation
55.2.2. Reading, writing and erasing data
55.2.3. Searching for factory-bad blocks
55.2.4. Declaring the function set
55.3. Low-level (board) functions
55.3.1. Talking to the chip
55.3.2. Setting up the chip partition table
55.3.3. Putting it all together…
55.4. ECC implementation
55.4.1. The ECC interface
56. Tests and utilities
56.1. Unit and functional tests
56.2. Ancillary NAND utilities
57. eCos configuration store
57.1. Overview
57.1.1. Design limitations
57.2. Using the config store
57.2.1. Locking
57.2.2. Configuration
57.2.3. Storage details
57.2.4. Padding
57.2.5. Scanning
XVI. NAND Device Drivers
58. Samsung K9 family NAND chips
58.1. Overview
58.2. Using this driver in a board port
58.2.1. Memory usage
58.2.2. Low-level functions required from the platform HAL
59. ST Microelectronics NANDxxxx3a chips
59.1. Overview
59.1.1. Using this driver in a board port
59.1.2. Memory usage note
59.1.3. Low-level functions required from the platform HAL
60. Micron MT29F family NAND chips
60.1. Overview
60.2. Using this driver in a board port
60.2.1. Memory usage
60.2.2. Low-level functions required from the platform HAL
Synthetic Target NAND Flash Device — Emulate NAND flash hardware in the synthetic target
XVII. Journalling Flash File System v2 (JFFS2)
Journalling Flash File System v2 overview — Provides Journalling file system for Flash
Using JFFS2 — Description of how to use JFFS2
XVIII. NOR Flash Support
61. The eCos NOR FLASH Library
61.1. Notes on using the NOR FLASH library
61.2. Danger, Will Robinson! Danger!
62. The Version 2 eCos FLASH API
62.1. FLASH user API
62.1.1. Initializing the FLASH library
62.1.2. Retrieving information about FLASH devices
62.1.3. Reading from FLASH
62.1.4. Erasing areas of FLASH
62.1.5. Programming the FLASH
62.1.6. Locking and unlocking blocks
62.1.7. Locking FLASH mutexes
62.1.8. Configuring diagnostic output
62.1.9. Return values and errors
62.2. FLASH device API
62.2.1. The FLASH device Structure
63. The legacy Version 1 eCos FLASH API
63.1. FLASH user API
63.1.1. Initializing the FLASH library
63.1.2. Retrieving information about the FLASH
63.1.3. Reading from FLASH
63.1.4. Erasing areas of FLASH
63.1.5. Programming the FLASH
63.1.6. Locking and unlocking blocks
63.1.7. Return values and errors
63.1.8. Notes on using the FLASH library
63.2. FLASH device API
63.2.1. The flash_info structure
63.2.2. Initializing the device driver
63.2.3. Querying the FLASH
63.2.4. Erasing a block of FLASH
63.2.5. Programming a region of FLASH
63.2.6. Reading a region from FLASH
63.2.7. Locking and unlocking FLASH blocks
63.2.8. Mapping FLASH error codes to FLASH IO error codes
63.2.9. Determining if code is in FLASH
63.2.10. Implementation Notes
64. FLASH I/O devices
64.1. Overview and CDL Configuration
64.2. Using FLASH I/O devices
65. Common SPI Flash Memory Device Driver
eCos Common Support for SPI Flash Memory Devices — Overview
Common SPI Memory Device Hardware Driver — Interface to a hardware device driver
66. AMD AM29xxxxx Flash Device Driver
eCos Support for AMD AM29xxxxx Flash Devices and Compatibles — Overview
Instantiating an AM29xxxxx Device — including the driver in an eCos target
67. Atmel AT45xxxxxx DataFlash Device Driver
Overview — eCos Support for Atmel AT45xxxxxx DataFlash Devices and Compatibles
Instantiating a DataFlash Device — including the driver in an eCos target
68. Freescale MCFxxxx CFM Flash Device Driver
Freescale MCFxxxx CFM Flash Support — eCos Flash Driver for MCFxxxx CFM On-chip Flash
69. Intel Strata Flash Device Driver
Overview — eCos Support for Intel Strata Flash Devices and Compatibles
Instantiating a Strata Device — including the driver in an eCos target
Strata-Specific Functions — driver-specific functions
70. SST 39VFXXX Flash Device Driver
Overview — eCos Support for SST 39VFXXX Flash Devices and Compatibles
Instantiating an 39vfxxx Device — including the driver in an eCos target
XIX. ecoflash Flash Programming Utility
ecoflash Flash Programming Utility — Flash Programming Utility
XX. Flash Safe
Flash Safe — provide safe storage for data in flash memory
Flash Safe Programmer Interface — API Details
XXI. PCI Library
71. The eCos PCI Library
71.1. PCI Library
71.1.1. PCI Overview
71.1.2. Initializing the bus
71.1.3. Scanning for devices
71.1.4. Generic config information
71.1.5. Specific config information
71.1.6. Allocating memory
71.1.7. Interrupts
71.1.8. Activating a device
71.1.9. Links
71.2. PCI Library reference
71.2.1. PCI Library API
71.2.2. Definitions
71.2.3. Types and data structures
71.2.4. Functions
71.2.5. Resource allocation
71.2.6. PCI Library Hardware API
71.2.7. HAL PCI support
XXII. SPI Support
72. SPI Support
Overview — eCos Support for SPI, the Serial Peripheral Interface
SPI Interface — allow applications and other packages to access SPI devices
Porting to New Hardware — Adding SPI support to new hardware
73. Freescale MCFxxxx ColdFire QSPI Bus Driver
Freescale MCFxxxx Coldfire QSPI Bus Driver — eCos Support for the Freescale Coldfire QSPI Bus
74. Microchip (Atmel) USART-as-SPI Bus Driver
Microchip (Atmel) SAM E70/S70/V70/V71 USART-as-SPI Bus Driver — eCos Support for the Microchip (Atmel) USART-as-SPI Bus
XXIII. I²C Support
75. I²C Support
Overview — eCos Support for I²C, the Inter IC Bus
I²C Interface — allow applications and other packages to access I²C devices
Porting to New Hardware — Adding I²C support to new hardware
76. Freescale MCFxxxx ColdFire I2C Bus Driver
Freescale MCFxxxx Coldfire I2C Bus Driver — eCos Support for the Freescale Coldfire I2C Bus
XXIV. ADC Support
77. ADC Support
eCos Support for Analog/Digital Converters — Overview
ADC Device Drivers — ADC Device Drivers
78. STM32 ADC Driver
STM32 ADC Driver — ADC Driver
79. STR7XX ADC Driver
STR7XX ADC Driver — ADC Driver
80. TSC ADC Driver
TSC ADC Driver — ADC Driver
81. Atmel AFEC (ADC) Driver
Atmel AFEC ADC Driver — ADC Driver
82. NXP i.MX RT ADC Driver
NXP i.MX RT ADC Driver — ADC Driver
XXV. Pulse Width Modulation (PWM) Support
83. PWM Support
Overview — eCos Support for PWM, the Inter IC Bus
XXVI. Framebuffer Support
84. Framebuffer Support
Overview — eCos Support for Framebuffer Devices
Framebuffer Parameters — determining framebuffer capabilities
Framebuffer Control Operations — managing a framebuffer
Framebuffer Colours — formats and palette management
Framebuffer Drawing Primitives — updating the display
Framebuffer Pixel Manipulation — iterating over the display
Writing a Framebuffer Device Driver — writing a new framebuffer device driver
85. CSB337/900 Framebuffer Device Driver
CSB337/900 Framebuffer Device Driver — eCos framebuffer support for a CSB337/900
86. i.MXxx Framebuffer Device Driver
i.MXxx Framebuffer Device Driver — eCos Support for the i.MXxx framebuffer
87. iPAQ Framebuffer Device Driver
iPAQ Framebuffer Device Driver — eCos Support for the iPAQ framebuffer
88. PC VGA Framebuffer Device Driver
PC VGA Framebuffer Device Driver — eCos Support for PC VGA Cards
89. Synthetic Target Framebuffer Device
Synthetic Target Framebuffer Device — Emulate framebuffer hardware in the synthetic target
XXVII. CAN Support
90. CAN Support
Overview — eCos Support for CAN, the Controller Area Network
CAN Interface — allow applications and other packages to access CAN devices
Configuration — CAN subsystem configuration
Device Drivers — Writing new CAN device drivers
91. NXP FlexCAN CAN Driver
NXP FlexCAN CAN Driver — CAN Driver
92. FlexCAN CAN Driver
FlexCAN CAN Driver — CAN Driver
93. MSCAN CAN Driver
MSCAN CAN Driver — CAN Driver
94. LPC2XXXX CAN Driver
LPC2XXX CAN Driver — CAN Driver
95. Atmel SAM CAN Driver
Atmel SAM CAN Driver — CAN Driver
96. Atmel MCAN CAN Driver
Atmel MCAN CAN Driver — CAN Driver
97. SJA1000 CAN Driver
SJA1000 CAN Driver — CAN Driver
98. BXCAN CAN Driver
BXCAN CAN Driver — CAN Driver
99. STR7XX CAN Driver
STR7XX CAN Driver — CAN Driver
XXVIII. Coherent Connection Bus
100. Coherent Connection Bus overview
100.1. Introduction
101. Configuration
101.1. Configuration Overview
101.1.1. Quick Start
101.1.2. Configuring the CCB memory footprint
101.1.3. Configuring the CCB control thread
101.1.4. Configuring the CCB master server
102. API Overview
102.1. Application support API
cyg_ccb_build_message — Construct message
cyg_ccb_check_response — Check response
102.2. I/O Device Driver Interface
103. Internals
104. Debug and Test
104.1. Debugging
104.1.1. Asserts
104.1.2. Diagnostic Output
104.2. Testing
104.2.1. ccb_ut
104.2.2. ccb_master
XXIX. STM32 Coherent Connection Bus Driver
105. STM32 Coherent Connection Bus Driver overview
105.1. Introduction
106. Configuration
106.1. Configuration Overview
106.1.1. Configuring the STM32 CCB driver
107. Debug and Test
107.1. Debugging
107.1.1. Asserts
107.1.2. Diagnostic Output
XXX. MODBUS
108. MODBUS overview
108.1. Introduction
109. Configuration
109.1. Configuration Overview
109.1.1. Quick Start
109.1.2. Configuring the MODBUS server
109.1.3. Configuring the ModbusTCP Server
110. API Overview
110.1. Application API
cyg_modbus_server_start — Start MODBUS server
cyg_modbus_server_stop — Stop MODBUS server
110.2. Backend API
cyg_modbus_response — Provide MODBUS response
cyg_modbus_raw_pdu — Access raw PDU buffer
cyg_modbus_response_nocopy — Provide MODBUS response (no copy)
cyg_modbus_response_exception — Provide MODBUS exception response
cyg_modbus_get_uid — Read “Unit ID” of request
110.3. ModbusTCP specific API
cyg_modbus_acm_add — Add client address to Access Control Mechanism pool
cyg_modbus_acm_remove — Remove ACM registered client address
110.4. MODBUS Exceptions
110.5. Backend Interface
cyg_mbop_read_discrete_inputs — Read discrete inputs
cyg_mbop_read_coils — Read coils
cyg_mbop_write_single_coil — Write single coil
cyg_mbop_write_multiple_coils — Write multiple coils
cyg_mbop_read_input_regs — Read input registers
cyg_mbop_read_holding_regs — Read holding registers
cyg_mbop_write_single_reg — Write single holding register
cyg_mbop_write_multiple_regs — Write multiple holding registers
cyg_mbop_rw_multiple_regs — Read and/or write multiple holding registers
cyg_mbop_mask_reg — Mask holding register
cyg_mbop_read_fifo_queue — Read FIFO contents
cyg_mbop_read_file_record — Read file records
cyg_mbop_write_file_record — Write file records
cyg_mbop_read_id — Return specific extended device ID
cyg_mbop_canopen — Perform CANOPEN operation
110.6. Example backend
111. Internals
112. Debug and Test
112.1. Debugging
112.1.1. Asserts
112.1.2. Diagnostic Output
112.2. Testing
112.2.1. modbus_ut
112.2.2. modbus_server
XXXI. Direct Memory Access Controller (DMAC) Device Drivers
113. Atmel DMA Controller (DMAC)
Atmel DMAC Driver — eCos Support for the Atmel DMA Controller
114. Atmel DMA Controller (XDMAC)
Atmel XDMAC Driver — eCos Support for the Atmel XDMAC Controller
XXXII. RPMSG Support
Overview — eCosPro Support for RPMSG
RPMSG Application API — Functions
XXXIII. Serial Device Drivers
115. Freescale MCFxxxx Serial Driver
MCFxxxx Serial Driver — eCos Support for the MCFxxxx On-chip Serial Devices
116. NXP PNX8310 Serial Driver
PNX8310 Serial Driver — eCos Support for the PNX8310 On-chip UARTs
117. Nios II Avalon UART Serial Driver
Nios II Avalon UART Serial Driver — eCos Serial Driver for Nios II Avalon UARTs
XXXIV. USB Support
Overview — eCosPro Support for USB
Configuration — USB System Configuration
Transfer Objects — Structure and Interface
Host Device Objects — Structure and Interface
Class Drivers — Structure and Interface
Host Controller Drivers — Structure and Interface
Target Objects — Structure and Interface
Peripheral Controller Drivers — Structure and Interface
XXXV. USB Serial Support
118. USB Serial Support
Overview — eCosPro Support for USB Serial devices
119. USB Target CDC ACM Protocol Driver
Overview — eCosPro Support for CDC ACM Protocol in Peripheral Mode
120. USB Host CDC ACM Protocol Driver
Overview — eCosPro Support for CDC ACM Protocol in Host Mode
121. USB Host FTDI Protocol Driver
Overview — eCosPro Support for FTDI Protocol in Host Mode
XXXVI. VirtIO Support
Overview — eCosPro Support for VirtIO
Virtio API — Functions
XXXVII. Wallclock Device Drivers
122. Wallclock Support
Wallclock support — eCos Support Wallclock devices
C API — Details
123. Dallas DS1302 Wallclock Device Driver
Dallas DS1302 Wallclock Device Driver — eCos Support for the Dallas DS1302 Real-Time Clock
124. Dallas DS1306 Wallclock Device Driver
Dallas DS1306 Wallclock Device Driver — eCos Support for the Dallas DS1306 Real-Time Clock
125. Dallas DS1307 Wallclock Device Driver
Dallas DS1307 Wallclock Device Driver — eCos Support for the Dallas DS1307 Serial Real-Time Clock
126. Dallas DS1390 Wallclock Device Driver
Dallas DS1390 Wallclock Device Driver — eCos Support for the Dallas DS1390 Serial Real-Time Clock
127. Freescale MCFxxxx On-Chip Wallclock Device Driver
Freescale MCFxxxx On-Chip Wallclock Device Driver — eCos Support for the Freescale MCFxxxx On-Chip Real-Time Clock
128. Intersil ISL1208 Wallclock Device Driver
Intersil ISL1208 Wallclock Device Driver — eCos Support for the Intersil ISL1208 Real-Time Clock
129. Intersil ISL12028 Wallclock Device Driver
Intersil ISL12028 Wallclock Device Driver — eCos Support for the Intersil ISL12028 Real-Time Clock
130. ST M41TXX Wallclock Device Driver
ST M41TXX Wallclock Device Driver — eCos Support for the ST M41TXX Serial Real-Time Clock
131. ST M48T Wallclock Device Driver
ST M48T Wallclock Device Driver — eCos Support for the ST M48T TimeKeeper SRAM chips and compatibles
XXXVIII. Watchdog Drivers
132. Freescale Kinetis Watchdog Driver
Kinetis Watchdog Driver — eCos Support for the Kinetis on-chip Watchdog timer device (WDOG)
133. Freescale MCFxxxx SCM Watchdog Driver
MCFxxxx SCM Watchdog Driver — eCos Support for the MCFxxxx SCM On-chip Watchdog Device
134. Freescale MCFxxxx Watchdog Driver
MCFxxxx Watchdog Driver — eCos Support for the MCFxxxx On-chip Watchdog Device
135. Freescale MCF5272 Watchdog Driver
MCF5272 Watchdog Driver — eCos Support for the MCF5272 On-chip Watchdog Device
136. Freescale MCF5282 Watchdog Driver
MCF5282 Watchdog Driver — eCos Support for the MCF5282 On-chip Watchdog Device
137. Freescale MCF532x Watchdog Driver
MCF532x Watchdog Driver — eCos Support for the MCF532x On-chip Watchdog Device
138. Nios II Avalon Timer Watchdog Driver
Nios II Avalon Timer Watchdog Driver — eCos Support for a Nios II Avalon Timer-based Watchdog Device
139. NXP PNX8310 Watchdog Driver
PNX8310 Watchdog Driver — eCos Support for the PNX8310 On-chip Watchdog Device
140. NXP PNX8330 Watchdog Driver
PNX8330 Watchdog Driver — eCos Support for the PNX8330 On-chip Watchdog Device
141. Synthetic Target Watchdog Device
Synthetic Target Watchdog Device — Emulate watchdog hardware in the synthetic target
XXXIX. eCos POSIX compatibility layer
142. POSIX Standard Support
142.1. Process Primitives [POSIX Section 3]
142.1.1. Functions Implemented
142.1.2. Functions Omitted
142.1.3. Notes
142.2. Process Environment [POSIX Section 4]
142.2.1. Functions Implemented
142.2.2. Functions Omitted
142.2.3. Notes
142.3. Files and Directories [POSIX Section 5]
142.3.1. Functions Implemented
142.3.2. Functions Omitted
142.3.3. Notes
142.4. Input and Output [POSIX Section 6]
142.4.1. Functions Implemented
142.4.2. Functions Omitted
142.4.3. Notes
142.5. Device and Class Specific Functions [POSIX Section 7]
142.5.1. Functions Implemented
142.5.2. Functions Omitted
142.5.3. Notes
142.6. C Language Services [POSIX Section 8]
142.6.1. Functions Implemented
142.6.2. Functions Omitted
142.6.3. Notes
142.7. System Databases [POSIX Section 9]
142.7.1. Functions Implemented
142.7.2. Functions Omitted
142.7.3. Notes
142.8. Data Interchange Format [POSIX Section 10]
142.9. Synchronization [POSIX Section 11]
142.9.1. Functions Implemented
142.9.2. Functions Omitted
142.9.3. Notes
142.10. Memory Management [POSIX Section 12]
142.10.1. Functions Implemented
142.10.2. Functions Omitted
142.10.3. Notes
142.11. Execution Scheduling [POSIX Section 13]
142.11.1. Functions Implemented
142.11.2. Functions Omitted
142.11.3. Notes
142.12. Clocks and Timers [POSIX Section 14]
142.12.1. Functions Implemented
142.12.2. Functions Omitted
142.12.3. Notes
142.13. Message Passing [POSIX Section 15]
142.13.1. Functions Implemented
142.13.2. Functions Omitted
142.13.3. Notes
142.14. Thread Management [POSIX Section 16]
142.14.1. Functions Implemented
142.14.2. Functions Omitted
142.14.3. Notes
142.15. Thread-Specific Data [POSIX Section 17]
142.15.1. Functions Implemented
142.15.2. Functions Omitted
142.15.3. Notes
142.16. Thread Cancellation [POSIX Section 18]
142.16.1. Functions Implemented
142.16.2. Functions Omitted
142.16.3. Notes
142.17. Non-POSIX Functions
142.17.1. General I/O Functions
142.17.2. Socket Functions
142.17.3. Notes
References and Bibliography
XL. µITRON
143. µITRON API
143.1. Introduction to µITRON
143.2. µITRON and eCos
143.3. Task Management Functions
143.3.1. Error checking
143.4. Task-Dependent Synchronization Functions
143.4.1. Error checking
143.5. Synchronization and Communication Functions
143.5.1. Error checking
143.6. Extended Synchronization and Communication Functions
143.7. Interrupt management functions
143.7.1. Error checking
143.8. Memory pool Management Functions
143.8.1. Error checking
143.9. Time Management Functions
143.9.1. Error checking
143.10. System Management Functions
143.10.1. Error checking
143.11. Network Support Functions
143.12. µITRON Configuration FAQ
XLI. TCP/IP Stack Support for eCos
144. Ethernet Driver Design
145. Sample Code
146. Configuring IP Addresses
147. Tests and Demonstrations
147.1. Loopback tests
147.2. Building the Network Tests
147.3. Standalone Tests
147.4. Performance Test
147.5. Interactive Tests
147.6. Maintenance Tools
148. Support Features
148.1. TFTP
148.2. DHCP
149. TCP/IP Library Reference
149.1. getdomainname
149.2. gethostname
149.3. byteorder
149.4. ethers
149.5. getaddrinfo
149.6. gethostbyname
149.7. getifaddrs
149.8. getnameinfo
149.9. getnetent
149.10. getprotoent
149.11. getrrsetbyname
149.12. getservent
149.13. if_nametoindex
149.14. inet
149.15. inet6_option_space
149.16. inet6_rthdr_space
149.17. inet_net
149.18. ipx
149.19. iso_addr
149.20. link_addr
149.21. net_addrcmp
149.22. ns
149.23. resolver
149.24. accept
149.25. bind
149.26. connect
149.27. getpeername
149.28. getsockname
149.29. getsockopt
149.30. ioctl
149.31. listen
149.32. poll
149.33. select
149.34. send
149.35. shutdown
149.36. socket
XLII. FreeBSD TCP/IP Stack port for eCos
150. Networking Stack Features
151. Freebsd TCP/IP stack port
151.1. Targets
151.2. Building the Network Stack
152. APIs
152.1. Standard networking
XLIII. eCos PPP User Guide
153. Features
154. Using PPP
155. PPP Interface
cyg_ppp_options_init() — Initialize PPP link options
cyg_ppp_up() — Bring PPP connection up
cyg_ppp_down() — Bring PPP connection down
cyg_ppp_wait_up() — Wait for PPP connection to come up
cyg_ppp_wait_down() — Wait for PPP connection to terminate
cyg_ppp_chat() — Execute chat script
156. Installing and Configuring PPP
156.1. Including PPP in a Configuration
156.2. Configuring PPP
157. CHAT Scripts
157.1. Chat Script
157.2. ABORT Strings
157.3. TIMEOUT
157.4. Sending EOT
157.5. Escape Sequences
158. PPP Enabled Device Drivers
159. Testing
159.1. Test Programs
159.2. Test Script
XLIV. lwIP - the lightweight IP stack for eCosPro
160. lwIP overview
160.1. Introduction
160.2. lwIP sources and ports
160.3. External documentation
160.4. Licensing
161. Basic concepts
161.1. Structure
161.2. Application Programming Interfaces (APIs)
161.3. Protocol implementations
161.4. Packet data buffers
161.5. Configurability
161.6. Limitations
161.7. Quick Start
162. Port
162.1. Port status
162.2. Implementation
162.2.1. System Configuration
162.2.2. System Source
162.2.3. Threads
162.3. Extensions
162.4. eCos API reference
cyg_lwip_init — Initialise lwIP network stack
cyg_lwip_netif_print_info — Output network interface address information
cyg_net_eth_phy_ctx_acquire — Allocate PHY event context
cyg_net_eth_phy_dsr — Notify lwIP stack of PHY event
cyg_lwip_tick_to_msec — Convert eCos kernel clock ticks to millisecond count
cyg_lwip_msec_to_tick — Convert millisecond count to eCos kernel clock ticks
cyg_lwip_statistics — Statistics output
163. Configuration
163.1. Configuration Overview
163.2. Configuring the lwIP stack
163.3. Performance and Footprint Tuning
163.3.1. Performance
163.3.2. Optimizations
163.3.3. Memory Footprint
164. Sequential API
164.1. Overview
164.2. Comparison with BSD sockets
164.2.1. BSD API Restrictions
164.3. Netbufs
164.4. TCP/IP thread
164.5. Usage
164.5.1. API declarations
164.5.2. Types
164.6. API reference
netbuf_new() — Allocate a netbuf structure
netbuf_delete() — Deallocate a netbuf structure
netbuf_alloc() — Allocate space in a netbuf
netbuf_free() — Deallocate buffer memory associated with a netbuf
netbuf_ref() — Associate a data pointer with a netbuf
netbuf_len() — Obtain the total length of a netbuf
netbuf_data() — Obtain a pointer to netbuf data
netbuf_next() — Traverse internal fragments in a netbuf
netbuf_first() — Reset fragment pointer to start of netbuf
netbuf_copy() — Copy all netbuf data to memory pointer
netbuf_copy_partial() — Copy some netbuf data to memory pointer
netbuf_chain() — Chain two netbufs together
netbuf_fromaddr() — Obtain the sender's IPv4 address for a netbuf
netbuf_fromaddr_ip6() — Obtain the sender's IPv6 address for a netbuf
netbuf_fromport() — Obtain the sender's port number for a netbuf
netconn_new() — Create a new connection structure
netconn_new_with_callback() — Create a new connection structure with a callback
netconn_new_with_proto_and_callback() — Create a new connection structure with a callback for a specific protocol
netconn_delete() — Deallocate a netconn
netconn_type() — Obtain the type of netconn
netconn_peer() — Obtain the remote host IP address/port of a netconn
netconn_addr() — Obtain the local host IPv4 address/port of a netconn
netconn_bind() — Set local IP address/port of a netconn
netconn_bind_ip6() — Set local IPv6 address/port of a netconn
netconn_connect() — Connect netconn to remote peer
netconn_connect_ip6() — Connect netconn to remote peer
netconn_disconnect() — Disconnect UDP connection
netconn_listen() — Make a listening TCP netconn
netconn_accept() — Wait for incoming connections
netconn_recv() — Wait for data
netconn_recv_tcp_pbuf() — Wait for data
netconn_recved() — Update receive window
netconn_write() — Send data on TCP connection
netconn_send() — Send data on UDP connection
netconn_close() — Close a connection
netconn_shutdown() — Shutdown a connection
netconn_set_noautorecved() — Set the connection no-auto-recved state
netconn_get_noautorecved() — Get the connection no-auto-recved state
netconn_err() — Obtain connection error status
165. Raw API
165.1. Overview
165.2. Usage
165.3. Callbacks
tcp_arg() — Set the application connection state
165.4. TCP connection setup
tcp_new() — Create a new TCP PCB
tcp_bind() — Bind PCB to local IP address and port
tcp_listen() — Make PCB listen for incoming connections
tcp_accept() — Set callback used for new incoming connections
tcp_connect() — Open connection to remote host
165.5. Sending TCP data
tcp_write() — Enqueue data for transmission
tcp_sent() — Set callback for successful transmission
165.6. Receiving TCP data
tcp_recv() — Set callback for incoming data
tcp_recved() — Indicate receipt of data
165.7. Application polling
tcp_poll() — Set application poll callback
165.8. Closing connections, aborting connections and errors
tcp_close() — Close the connection
tcp_abort() — Abort the connection
tcp_err() — Set callback for errors
165.9. Lower layer TCP interface
165.10. UDP interface
udp_new() — Create a new UDP pcb
udp_remove() — Remove a UDP pcb
udp_bind() — Bind PCB to local IP address and port
udp_connect() — Set remote UDP peer
udp_disconnect() — Set remote UDP peer
udp_send() — Send UDP packet
udp_recv() — Set callback for incoming UDP data
165.11. System initialization
165.11.1. Initialization detail
166. Debug and Test
166.1. Debugging
166.1.1. Asserts
166.1.2. Memory Allocations
166.1.3. Statistics
166.1.4. GDB/RedBoot
166.1.5. Host Tools
166.2. Testing
166.2.1. lwipsnmp
166.2.2. lwipsntp
166.2.3. lwiperf
166.2.4. unitwrap
166.2.5. socket
166.2.6. tcpecho
166.2.7. udpecho
166.2.8. frag
166.2.9. nc_test_slave
166.2.10. httpd
166.2.11. httpd2
166.2.12. lookup
166.2.13. sys_timeout
166.2.14. lwiphttpd
XLV. Ethernet Device Support
167. Writing Ethernet Device Drivers
167.1. Generic Ethernet API
167.2. Review of the functions
167.2.1. Init function
167.2.2. Start function
167.2.3. Stop function
167.2.4. Control function
167.2.5. Can-send function
167.2.6. Send function
167.2.7. Deliver function
167.2.8. Receive function
167.2.9. Poll function
167.2.10. Interrupt-vector function
167.3. Upper Layer Functions
167.3.1. Callback Init function
167.3.2. Callback Tx-Done function
167.3.3. Callback Receive function
167.4. Calling graph for Transmission and Reception
167.4.1. Transmission
167.4.2. Receive
168. lwIP Direct Ethernet Device Driver
168.1. Introduction
168.2. API reference
168.3. Multiple direct drivers
168.4. lwIP MANUAL initialisation
169. CDC-EEM Target USB driver
169.1. Introduction
169.2. API
169.3. Configuration
169.3.1. Configuration Overview
169.4. Debug and Test
169.4.1. Debugging
170. RNDIS Target USB driver
170.1. Introduction
170.2. API
170.3. Configuration
170.3.1. Configuration Overview
170.4. Debug and Test
170.4.1. Debugging
171. Ethernet PHY Device Support
171.1. Ethernet PHY Device API
172. Synopsys DesignWare Ethernet GMAC Driver
Synopsys DesignWare Ethernet GMAC Driver — eCos Support for Synopsys DesignWare Ethernet GMAC Devices
173. Freescale ColdFire Ethernet Driver
Freescale ColdFire Ethernet Driver — eCos Support for Freescale ColdFire On-chip Ethernet Devices
174. Nios II Triple Speed Ethernet Driver
Nios II Triple Speed Ethernet Driver — eCos Support for Nios II Triple-Speed Ethernet Devices
175. SMSC LAN9118 Ethernet Driver
SMSC LAN9118 Ethernet Driver — eCos Support for SMSC LAN9118 Ethernet Devices
176. Synthetic Target Ethernet Driver
Synthetic Target Ethernet Driver — Allow synthetic target applications to perform ethernet I/O
XLVI. DNS for eCos and RedBoot
177. DNS
177.1. DNS API
177.2. DNS Client Testing
XLVII. eCosPro-SecureSockets
178. OpenSSL eCos Support
178.1. Introduction
178.1.1. Licensing, Copyrights and Patents
178.2. Configuration
178.2.1. Full Configuration
178.2.2. Default Configuration
178.2.3. Kernel Configuration
178.2.4. Serial Line Support
178.2.5. File System Dependencies
178.2.6. Configuring OpenSSL
178.3. openssl Command Tool
178.4. Thread Safety
178.5. eCos Customization
178.5.1. Random Number Support
178.5.2. BIO_diag
178.6. Tests
178.7. Limitations
179. OpenSSL Manual
179.1. openssl Command Line Tool
openssl — OpenSSL command line tool
asn1parse — ASN.1 parsing tool
ca — sample minimal CA application
ciphers — SSL cipher display and cipher list tool.
cms — CMS utility
crl — CRL utility
crl2pkcs7 — Create a PKCS#7 structure from a CRL and certificates.
dgst — message digests
dhparam — DH parameter manipulation and generation
dsa — DSA key processing
dsaparam — DSA parameter manipulation and generation
ec — EC key processing
ecparam — EC parameter manipulation and generation
enc — symmetric cipher routines
errstr — lookup error codes
gendsa — generate a DSA private key from a set of parameters
genpkey — generate a private key
genrsa — generate an RSA private key
nseq — create or examine a netscape certificate sequence
ocsp — Online Certificate Status Protocol utility
passwd — compute password hashes
pkcs12 — PKCS#12 file utility
pkcs7 — PKCS#7 utility
pkcs8 — PKCS#8 format private key conversion tool
pkey — public or private key processing tool
pkeyparam — public key algorithm parameter processing tool
pkeyutl — public key algorithm utility
rand — generate pseudo-random bytes
req — PKCS#10 certificate request and certificate generating utility.
rsa — RSA key processing tool
rsautl — RSA utility
s_client — SSL/TLS client program
s_server — SSL/TLS server program
s_time — SSL/TLS performance timing program
sess_id — SSL/TLS session handling utility
smime — S/MIME utility
speed — test library performance
spkac — SPKAC printing and generating utility
ts — Time Stamping Authority tool (client/server)
verify — Utility to verify certificates.
version — print OpenSSL version information
x509 — Certificate display and signing utility
config — OpenSSL CONF library configuration files
x509v3_config — X509 V3 certificate extension configuration format
179.2. Cryptographic functions
crypto — OpenSSL cryptographic library
ASN1_generate_nconf — ASN1 generation functions
ASN1_OBJECT_new — object allocation functions
ASN1_STRING_length — ASN1_STRING utility functions
ASN1_STRING_new — ASN1_STRING allocation functions
ASN1_STRING_print_ex — ASN1_STRING output routines.
bio — I/O abstraction
BIO_ctrl — BIO control operations
BIO_f_base64 — base64 BIO filter
BIO_f_buffer — buffering BIO
BIO_f_cipher — cipher BIO filter
BIO_find_type — BIO chain traversal
BIO_f_md — message digest BIO filter
BIO_f_null — null filter
BIO_f_ssl — SSL BIO
BIO_new_CMS — CMS streaming filter BIO
BIO_new — BIO allocation and freeing functions
BIO_push — add and remove BIOs from a chain.
BIO_read — BIO I/O functions
BIO_s_accept — accept BIO
BIO_s_bio — BIO pair BIO
BIO_s_connect — connect BIO
BIO_set_callback — BIO callback functions
BIO_s_fd — file descriptor BIO
BIO_s_file — FILE bio
BIO_should_retry — BIO retry functions
BIO_s_mem — memory BIO
BIO_s_null — null data sink
BIO_s_socket — socket BIO
blowfish — Blowfish encryption
bn — multiprecision integer arithmetics
bn_internal — BIGNUM library internal functions
BN_add — arithmetic operations on BIGNUMs
BN_add_word — arithmetic functions on BIGNUMs with integers
BN_BLINDING_new — blinding related BIGNUM functions.
BN_bn2bin — format conversions
BN_cmp — BIGNUM comparison and test functions
BN_copy — copy BIGNUMs
BN_CTX_new — allocate and free BN_CTX structures
BN_CTX_start — use temporary BIGNUM variables
BN_generate_prime — generate primes and test for primality
BN_mod_inverse — compute inverse modulo n
BN_mod_mul_montgomery — Montgomery multiplication
BN_mod_mul_reciprocal — modular multiplication using reciprocal
BN_new — allocate and free BIGNUMs
BN_num_bytes — get BIGNUM size
BN_rand — generate pseudo-random number
BN_set_bit — bit operations on BIGNUMs
BN_swap — exchange BIGNUMs
BN_zero — BIGNUM assignment operations
buffer — simple character array structure, with some standard C library equivalents
CMS_add0_cert — CMS certificate and CRL utility functions
CMS_add1_recipient_cert — add recipients to a CMS enveloped data structure
CMS_compress — create a CMS CompressedData structure
CMS_decrypt — decrypt content from a CMS envelopedData structure
CMS_encrypt — create a CMS envelopedData structure
CMS_final — finalise a CMS_ContentInfo structure
CMS_get0_RecipientInfos — CMS envelopedData RecipientInfo routines
CMS_get0_SignerInfos — CMS signedData signer functions.
CMS_get0_type — get and set CMS content types and content
CMS_get1_ReceiptRequest — CMS signed receipt request functions.
CMS_add1_signer — add a signer to a CMS_ContentInfo signed data structure.
CMS_sign — create a CMS SignedData structure
CMS_sign_receipt — create a CMS signed receipt
CMS_uncompress — uncompress a CMS CompressedData structure
CMS_verify — verify a CMS SignedData structure
CMS_verify_receipt — verify a CMS signed receipt
CONF_modules_free — OpenSSL configuration cleanup functions
CONF_modules_load_file — OpenSSL configuration functions
CRYPTO_set_ex_data — internal application specific data functions
d2i_ASN1_OBJECT — ASN1 OBJECT IDENTIFIER functions
d2i_CMS_ContentInfo — CMS ContentInfo functions
d2i_DHparams — PKCS#3 DH parameter functions.
d2i_DSAPublicKey — DSA key encoding and parsing functions.
d2i_ECPrivateKey — Encode and decode functions for saving and reading EC_KEY structures
d2i_PKCS8PrivateKey — PKCS#8 format private key functions
d2i_PrivateKey — decode and encode functions for reading and saving EVP_PKEY structures.
d2i_RSAPublicKey — RSA public and private key encoding functions.
d2i_X509_ALGOR — AlgorithmIdentifier functions.
d2i_X509_CRL — PKCS#10 certificate request functions.
d2i_X509_NAME — X509_NAME encoding functions
d2i_X509 — X509 encode and decode functions
d2i_X509_REQ — PKCS#10 certificate request functions.
d2i_X509_SIG — DigestInfo functions.
des — DES encryption
des_modes — the variants of DES and other crypto algorithms of OpenSSL
dh — Diffie-Hellman key agreement
DH_generate_key — perform Diffie-Hellman key exchange
DH_generate_parameters — generate and check Diffie-Hellman parameters
DH_get_ex_new_index — add application specific data to DH structures
DH_new — allocate and free DH objects
DH_set_method — select DH method
DH_size — get Diffie-Hellman prime size
dsa — Digital Signature Algorithm
DSA_do_sign — raw DSA signature operations
DSA_dup_DH — create a DH structure out of DSA structure
DSA_generate_key — generate DSA key pair
DSA_generate_parameters — generate DSA parameters
DSA_get_ex_new_index — add application specific data to DSA structures
DSA_new — allocate and free DSA objects
DSA_set_method — select DSA method
DSA_SIG_new — allocate and free DSA signature objects
DSA_sign — DSA signatures
DSA_size — get DSA signature size
ecdsa — Elliptic Curve Digital Signature Algorithm
engine — ENGINE cryptographic module support
err — error codes
ERR_clear_error — clear the error queue
ERR_error_string — obtain human-readable error message
ERR_get_error — obtain error code and data
ERR_GET_LIB — get library, function and reason code
ERR_load_crypto_strings — load and free error strings
ERR_load_strings — load arbitrary error strings
ERR_print_errors — print error messages
ERR_put_error — record an error
ERR_remove_state — free a thread's error queue
ERR_set_mark — set marks and pop errors until mark
evp — high-level cryptographic functions
EVP_BytesToKey — password based encryption routine
EVP_DigestInit — EVP digest routines
EVP_DigestSignInit — EVP signing functions
EVP_DigestVerifyInit — EVP signature verification functions
EVP_EncodeInit — EVP base 64 encode/decode routines
EVP_EncryptInit — EVP cipher routines
EVP_OpenInit — EVP envelope decryption
EVP_PKEY_cmp — public key parameter and comparison functions
EVP_PKEY_CTX_ctrl — algorithm specific control operations
EVP_PKEY_CTX_new — public key algorithm context functions.
EVP_PKEY_decrypt — decrypt using a public key algorithm
EVP_PKEY_derive — derive public key algorithm shared secret.
EVP_PKEY_encrypt — encrypt using a public key algorithm
EVP_PKEY_get_default_digest — get default signature digest
EVP_PKEY_keygen — key and parameter generation functions
EVP_PKEY_new — private key allocation functions.
EVP_PKEY_print_private — public key algorithm printing routines.
EVP_PKEY_set1_RSA — EVP_PKEY assignment functions.
EVP_PKEY_sign — sign using a public key algorithm
EVP_PKEY_verify — signature verification using a public key algorithm
EVP_PKEY_verify_recover — recover signature using a public key algorithm
EVP_SealInit — EVP envelope encryption
EVP_SignInit — EVP signing functions
EVP_VerifyInit — EVP signature verification functions
hmac — HMAC message authentication code
i2d_CMS_bio_stream — output CMS_ContentInfo structure in BER format.
i2d_PKCS7_bio_stream — output PKCS7 structure in BER format.
lhash — dynamic hash table
lh_stats — LHASH statistics
md5 — MD2, MD4, and MD5 hash functions
mdc2 — MDC2 hash function
OBJ_nid2obj — ASN1 object utility functions
OpenSSL_add_all_algorithms — add algorithms to internal table
OPENSSL_Applink — glue between OpenSSL BIO and Win32 compiler run-time
OPENSSL_config — simple OpenSSL configuration functions
OPENSSL_ia32cap — finding the IA-32 processor capabilities
OPENSSL_load_builtin_modules — add standard configuration modules
OPENSSL_VERSION_NUMBER — get OpenSSL version number
pem — PEM routines
PEM_write_bio_CMS_stream — output CMS_ContentInfo structure in PEM format.
PEM_write_bio_PKCS7_stream — output PKCS7 structure in PEM format.
PKCS12_create — create a PKCS#12 structure
PKCS12_parse — parse a PKCS#12 structure
PKCS7_decrypt — decrypt content from a PKCS#7 envelopedData structure
PKCS7_encrypt — create a PKCS#7 envelopedData structure
PKCS7_sign_add_signer — add a signer PKCS7 signed data structure.
PKCS7_sign — create a PKCS#7 signedData structure
PKCS7_verify — verify a PKCS#7 signedData structure
rand — pseudo-random number generator
RAND_add — add entropy to the PRNG
RAND_bytes — generate random data
RAND_cleanup — erase the PRNG state
RAND_egd — query entropy gathering daemon
RAND_load_file — PRNG seed file
RAND_set_rand_method — select RAND method
rc4 — RC4 encryption
ripemd — RIPEMD-160 hash function
rsa — RSA public key cryptosystem
RSA_blinding_on — protect the RSA operation from timing attacks
RSA_check_key — validate private RSA keys
RSA_generate_key — generate RSA key pair
RSA_get_ex_new_index — add application specific data to RSA structures
RSA_new — allocate and free RSA objects
RSA_padding_add_PKCS1_type_1 — asymmetric encryption padding
RSA_print — print cryptographic parameters
RSA_private_encrypt — low level signature operations
RSA_public_encrypt — RSA public key cryptography
RSA_set_method — select RSA method
RSA_sign_ASN1_OCTET_STRING — RSA signatures
RSA_sign — RSA signatures
RSA_size — get RSA modulus size
sha — Secure Hash Algorithm
SMIME_read_CMS — parse S/MIME message.
SMIME_read_PKCS7 — parse S/MIME message.
SMIME_write_CMS — convert CMS structure to S/MIME format.
SMIME_write_PKCS7 — convert PKCS#7 structure to S/MIME format.
threads — OpenSSL thread support
ui_compat — Compatibility user interface functions
ui — New User Interface
x509 — X.509 certificate handling
X509_NAME_add_entry_by_txt — X509_NAME modification functions
X509_NAME_ENTRY_get_object — X509_NAME_ENTRY utility functions
X509_NAME_get_index_by_NID — X509_NAME lookup and enumeration functions
X509_NAME_print_ex — X509_NAME printing routines.
X509_new — X509 certificate ASN1 allocation functions
X509_STORE_CTX_get_error — get or set certificate verification status information
X509_STORE_CTX_get_ex_new_index — add application specific data to X509_STORE_CTX structures
X509_STORE_CTX_new — X509_STORE_CTX initialisation
X509_STORE_CTX_set_verify_cb — set verification callback
X509_STORE_set_verify_cb_func — set verification callback
X509_verify_cert — discover and verify X509 certificte chain
X509_VERIFY_PARAM_set_flags — X509 verification parameters
179.3. SSL Functions
ssl — OpenSSL SSL/TLS library
d2i_SSL_SESSION — convert SSL_SESSION object from/to ASN1 representation
SSL_accept — wait for a TLS/SSL client to initiate a TLS/SSL handshake
SSL_alert_type_string — get textual description of alert information
SSL_CIPHER_get_name — get SSL_CIPHER properties
SSL_clear — reset SSL object to allow another connection
SSL_COMP_add_compression_method — handle SSL/TLS integrated compression methods
SSL_connect — initiate the TLS/SSL handshake with an TLS/SSL server
SSL_CTX_add_extra_chain_cert — add or clear extra chain certificates
SSL_CTX_add_session — manipulate session cache
SSL_CTX_ctrl — internal handling functions for SSL_CTX and SSL objects
SSL_CTX_flush_sessions — remove expired sessions
SSL_CTX_free — free an allocated SSL_CTX object
SSL_CTX_get_ex_new_index — internal application specific data functions
SSL_CTX_get_verify_mode — get currently set verification parameters
SSL_CTX_load_verify_locations — set default locations for trusted CA certificates
SSL_CTX_new — create a new SSL_CTX object as framework for TLS/SSL enabled functions
SSL_CTX_sessions — access internal session cache
SSL_CTX_sess_number — obtain session cache statistics
SSL_CTX_sess_set_cache_size — manipulate session cache size
SSL_CTX_sess_set_get_cb — provide callback functions for server side external session caching
SSL_CTX_set_cert_store — manipulate X509 certificate verification storage
SSL_CTX_set_cert_verify_callback — set peer certificate verification procedure
SSL_CTX_set_cipher_list — choose list of available SSL_CIPHERs
SSL_CTX_set_client_CA_list — set list of CAs sent to the client when requesting a client certificate
SSL_CTX_set_client_cert_cb — handle client certificate callback function
SSL_CTX_set_default_passwd_cb — set passwd callback for encrypted PEM file handling
SSL_CTX_set_generate_session_id — manipulate generation of SSL session IDs (server only)
SSL_CTX_set_info_callback — handle information callback for SSL connections
SSL_CTX_set_max_cert_list — manipulate allowed for the peer's certificate chain
SSL_CTX_set_mode — manipulate SSL engine mode
SSL_CTX_set_msg_callback — install callback for observing protocol messages
SSL_CTX_set_options — manipulate SSL options
SSL_CTX_set_psk_client_callback — set PSK client callback
SSL_CTX_set_quiet_shutdown — manipulate shutdown behaviour
SSL_CTX_set_read_ahead — manage whether to read as many input bytes as possible
SSL_CTX_set_session_cache_mode — enable/disable session caching
SSL_CTX_set_session_id_context — set context within which session can be reused (server side only)
SSL_CTX_set_ssl_version — choose a new TLS/SSL method
SSL_CTX_set_timeout — manipulate timeout values for session caching
SSL_CTX_set_tlsext_status_cb — OCSP Certificate Status Request functions
SSL_CTX_set_tmp_dh_callback — handle DH keys for ephemeral key exchange
SSL_CTX_set_tmp_rsa_callback — handle RSA keys for ephemeral key exchange
SSL_CTX_set_verify — set peer certificate verification parameters
SSL_CTX_use_certificate — load certificate and key data
SSL_CTX_use_psk_identity_hint — set PSK identity hint to use
SSL_do_handshake — perform a TLS/SSL handshake
SSL_free — free an allocated SSL structure
SSL_get_ciphers — get list of available SSL_CIPHERs
SSL_get_client_CA_list — get list of client CAs
SSL_get_current_cipher — get SSL_CIPHER of a connection
SSL_get_default_timeout — get default session timeout value
SSL_get_error — obtain result code for TLS/SSL I/O operation
SSL_get_ex_data_X509_STORE_CTX_idx — get ex_data index to access SSL structure from X509_STORE_CTX
SSL_get_ex_new_index — internal application specific data functions
SSL_get_fd — get file descriptor linked to an SSL object
SSL_get_peer_cert_chain — get the X509 certificate chain of the peer
SSL_get_peer_certificate — get the X509 certificate of the peer
SSL_get_psk_identity — get PSK client identity and hint
SSL_get_rbio — get BIO linked to an SSL object
SSL_get_session — retrieve TLS/SSL session data
SSL_get_SSL_CTX — get the SSL_CTX from which an SSL is created
SSL_get_verify_result — get result of peer certificate verification
SSL_get_version — get the protocol version of a connection.
SSL_library_init — initialize SSL library by registering algorithms
SSL_load_client_CA_file — load certificate names from file
SSL_new — create a new SSL structure for a connection
SSL_pending — obtain number of readable bytes buffered in an SSL object
SSL_read — read bytes from a TLS/SSL connection.
SSL_rstate_string — get textual description of state of an SSL object during read operation
SSL_SESSION_free — free an allocated SSL_SESSION structure
SSL_SESSION_get_ex_new_index — internal application specific data functions
SSL_SESSION_get_time — retrieve and manipulate session time and timeout settings
SSL_session_reused — query whether a reused session was negotiated during handshake
SSL_set_bio — connect the SSL object with a BIO
SSL_set_connect_state — prepare SSL object to work in client or server mode
SSL_set_fd — connect the SSL object with a file descriptor
SSL_set_session — set a TLS/SSL session to be used during TLS/SSL connect
SSL_set_shutdown — manipulate shutdown state of an SSL connection
SSL_set_verify_result — override result of peer certificate verification
SSL_shutdown — shut down a TLS/SSL connection
SSL_state_string — get textual description of state of an SSL object
SSL_want — obtain state information TLS/SSL I/O operation
SSL_write — write bytes to a TLS/SSL connection.
XLVIII. Mbed TLS
180. Mbed TLS overview
180.1. Introduction
181. Configuration
181.1. Configuration Overview
181.1.1. Quick Start
182. eCos port
182.1. Overview
182.2. Entropy
183. Test Programs
183.1. Test Programs
XLIX. eCosPro-SecureShell
eCos Dropbear Port — provide ssh support
Dropbear Ssh Daemon — Ssh daemon support
Dropbear Ssh Client — Ssh client support
Dropbear Scp Client — scp client support
L. FTP Client for eCos TCP/IP Stack
184. FTP Client API and Configuration
184.1. FTP Client API
184.1.1. Support API
184.1.2. ftp_delete
184.1.3. ftpclient_printf
184.1.4. Basic FTP Client API
184.1.5. ftp_get
184.1.6. ftp_put
184.1.7. ftp_get_var
184.1.8. ftp_put_var
184.1.9. Extended FTP Client API
184.1.10. ftp_get_extended
184.1.11. ftp_put_extended
184.1.12. ftp_get_extended_var
184.1.13. ftp_put_extended_var
184.2. FTP Client Configuration
LI. FTP Server Support
Overview — Overview
FTP Server API — describe FTP server API, callback and configuration
Test Programs — describe the test programs and their host-side support
LII. Embedded HTTP Server
185. Embedded HTTP Server
185.1. Introduction
185.2. Server Organization
185.3. Server Configuration
185.4. Support Functions and Macros
185.4.1. HTTP Support
185.4.2. General HTML Support
185.4.3. Table Support
185.4.4. Forms Support
185.4.5. Predefined Handlers
185.5. System Monitor
LIII. SNMP
186. SNMP for eCos
186.1. Version
186.2. SNMP packages in the eCos source repository
186.3. MIBs supported
186.4. Changes to eCos sources
186.5. Starting the SNMP Agent
186.6. Configuring eCos
186.6.1. Version usage (v1, v2 or v3)
186.6.2. Traps
186.6.3. snmpd.conf file
186.7. Test cases
186.8. SNMP clients and package use
186.9. Unimplemented features
186.10. MIB Compiler
186.11. snmpd.conf
LIV. mDNS Responder and DNS-SD
187. mDNS overview
187.1. Introduction
188. API
188.1. API
cyg_mdns_init — Initialise mDNS Responder
cyg_mdns_terminate — Terminate mDNS Responder
cyg_mdns_enable — Enable mDNS
cyg_mdns_disable — Disable mDNS
cyg_mdns_service_register — Register set of services
cyg_mdns_service_unregister — Remove registered services
cyg_mdns_sethostname — Set base hostname
cyg_mdns_hostname_callback_register — Register hostname generation callback
cyg_mdns_gethostname — Get current hostname value
cyg_mdns_setservicelabel — Set service label
cyg_mdns_getservicelabel — Get current service label value
cyg_mdns_servicelabel_callback_register — Register service label generation callback
cyg_mdns_hinfo_register — Register HINFO record data
cyg_mdns_discovery_callback_register — Register DNS-SD response callback
cyg_mdns_discovery_callback_unregister — Unregister DNS-SD response callback
cyg_mdns_discovery_callback_flags — Read/Modify DNS-SD response callback control flags
cyg_mdns_discovery_query — Issue a DNS-SD query
188.2. Example Responder
188.3. Example DNS-SD Queries
189. Support API
189.1. Support API
cyg_mdns_strlen — Calculate uncompressed length of (possibly compressed) string
cyg_mdns_name_uncompress — Uncompress encoded string
cyg_mdns_strlen_vector — Calculate uncompressed length of string vector
cyg_mdns_strlen_uncompressed — Length of uncompressed encoded string
cyg_mdns_name — Convert encoded name into dot-notation
cyg_mdns_build_txt_vector — Build vector of pointers to individual TXT Record fields
cyg_mdns_build_strtab_vector — Build vector of pointers to individual encoded string fields
cyg_mdns_strcasecmp_strtab — Compare two encoded string-tables ignoring case
190. Configuration
190.1. Configuration Overview
190.1.1. Quick Start
190.1.2. Configuring the mDNS Responder
190.1.3. Configuring the mDNS DNS-SD support
190.2. Tuning
190.2.1. Footprint
191. Debug and Test
191.1. Debugging
191.1.1. Asserts
191.1.2. Diagnostic Output
191.2. Testing
191.2.1. mdns_example
191.2.2. dnssd_example
191.2.3. mdns_testp
191.2.4. mdns_farm
191.2.5. Bonjour Conformance Test
191.2.6. DNS-SD Example
LV. NTP Client Support
Overview — Overview
NTP Client API — NTP client API and configuration
Test Programs — Describe the test programs and their host-side support
LVI. Simple Network Time Protocol Client
192. The SNTP Client
192.1. Starting the SNTP client
192.2. What it does
192.3. Configuring the unicast list of NTP servers
192.4. Warning: timestamp wrap around
192.5. The SNTP test program
LVII. WLAN
193. WLAN overview
193.1. Introduction
194. Configuration
194.1. Configuration Overview
194.2. Configuration Options
195. WLAN API
195.1. API
wlan_diag_dump_ascii — Output human-readable string
196. Testing
196.1. wlan_scan
196.2. wlan_switch
LVIII. Cypress WWD WLAN
197. Cypress WWD overview
197.1. Introduction
197.2. WICED-SDK Installation
198. Configuration
198.1. Configuration Overview
198.2. Chipset Firmware
198.3. Configuration Options
199. Platform/Variant HAL
LIX. Common Clock Services
200. Overview
200.1. Introduction
200.2. Functionality
200.3. Concepts and structure
201. Dependencies
201.1. HAL
201.2. Kernel
201.3. Wallclock (RTC)
201.4. C library and POSIX layers
202. Configuration
203. API reference
cyg_clock_get_systime() — Retrieve the current system time
cyg_clock_get_systime_res — Obtain the resolution of the system clock
cyg_clock_set_systime() — Sets the system clock to the supplied time
cyg_clock_sync_wallclock() — Force the wallclock to be updated from system time
cyg_clock_adjust_systime() — Adjust the system time
Time change notification — Registering and deregistering for notification of changes to system time
cyg_clock_sysclock_handle() — Return a handle to the system clock
Time conversions — Converting between clock ticks and calendar time
LX. Object Loader
Object Loader — eCos Support for Dynamic Module Loading
Extending the Object Loader — Extending the Object Loader
LXI. CPU load measurements
204. CPU Load Measurements
204.1. CPU Load API
204.1.1. cyg_cpuload_calibrate
204.1.2. cyg_cpuload_create
204.1.3. cyg_cpuload_delete
204.1.4. cyg_cpuload_get
204.1.5. Implementation details
204.1.6. SMP Support
LXII. gprof Profiling Support
Profiling — eCos Support for the gprof profiling tool
LXIII. gcov Test Coverage Support
Test Coverage — eCos Support for the gcov test coverage tool
LXIV. CRC Algorithms
205. CRC Functions
205.1. CRC API
205.1.1. cyg_posix_crc32
205.1.2. cyg_crc32
205.1.3. cyg_ether_crc32
205.1.4. cyg_crc16
LXV. CryptoAuthLib
206. CryptoAuthLib overview
206.1. Introduction
207. Configuration
207.1. Configuration Overview
207.1.1. Quick Start
208. eCos port
208.1. Overview
209. Test Programs
209.1. Test Programs
LXVI. LibTomCrypt Cryptography Library
LibTomCrypt Cryptography Library — Cryptography
LXVII. LibTomMath Multi-Precision Math Package
LibTomMath Multi-Precision Math Package — Multi-Precision Maths
LXVIII. BootUp ROM loader
210. BootUp overview
210.1. Introduction
210.2. Configuration
210.2.1. Platform Support
210.2.2. Building BootUp
210.3. Applications using VALID_ALT
210.4. Supported Platform HALs and targets
LXIX. Bundle image support
211. Bundle overview
211.1. Introduction
211.2. Configuration
212. Bundle format
212.1. Introduction
212.2. Internal Structure
213. Bundle API
213.1. API
cyg_bundle_access_direct — Initialise “direct” bundle context
cyg_bundle_access_file — Initialise “file” bundle context
cyg_bundle_access_flash — Initialise “flash” bundle context
cyg_bundle_access_init — Common bundle context initialisation
cyg_bundle_access_release — Release bundle context
cyg_bundle_verify — Verify bundle and initialise context references
cyg_bundle_item_find — Provide handle onto bundle item
cyg_bundle_item_release — Release reference to specific bundle item
cyg_bundle_enumerate — Enumerate bundle contents
cyg_bundle_info — Length of raw item
cyg_bundle_read — Extract data from a bundle item
214. Host tool
214.1. Introduction
215. Bundle tests
215.1. bundle1
LXX. RTT
216. RTT overview
216.1. Introduction
217. Configuration
217.1. Configuration Overview
217.1.1. Quick Start
217.1.2. Options
218. eCos port
218.1. Overview
219. Test Programs
219.1. Test Programs
LXXI. eCos Support for Segger SystemView tracing
220. SystemView overview
220.1. Introduction
221. SystemView Recording
221.1. H/W debugger
221.1.1. J-Link/J-Trace H/W debugger
221.1.2. svproxy
221.2. I/O Communication
221.2.1. Performance and Analysis
221.3. Overflows
222. Events
222.1. SystemView Events
222.2. Kernel Instrumentation
222.3. Infra Trace
223. Configuration
223.1. CYGBLD_SYSTEMVIEW_ENABLED
223.2. CYGOPT_SYSTEMVIEW_RECORDER_HAL
223.3. CYGOPT_SYSTEMVIEW_RECORDER
223.3.1. CYGBLD_SYSTEMVIEW_RECORDER_UART
LXXII. RedBoot User's Guide
224. Getting Started with RedBoot
224.1. More information about RedBoot on the web
224.2. Installing RedBoot
224.3. User Interface
224.4. RedBoot Editing Commands
224.5. RedBoot Command History
224.6. RedBoot Startup Mode
224.7. RedBoot Resource Usage
224.7.1. Flash Resources
224.7.2. RAM Resources
224.8. Configuring the RedBoot Environment
224.8.1. Target Network Configuration
224.8.2. Host Network Configuration
224.8.3. Verification
225. RedBoot Commands and Examples
225.1. Introduction
225.2. Common Commands
225.3. Flash Image System (FIS)
225.4. Filesystem Interface
225.5. Persistent State Flash-based Configuration and Control
225.6. Persistent State in a NAND-based environment
225.6.1. Manipulating persistent state stored on NAND
225.7. Executing Programs from RedBoot
225.8. NAND configuration commands
225.9. NAND manipulation commands
226. Rebuilding RedBoot
226.1. Introduction
226.2. Variables
226.3. Building RedBoot using ecosconfig
226.4. Rebuilding RedBoot from the eCos Configuration Tool
227. Updating RedBoot
227.1. Introduction
227.2. Load and start a RedBoot RAM instance
227.3. Update the primary RedBoot flash image
227.4. Reboot; run the new RedBoot image
228. Initial Installation
228.1. Hardware Installation
228.1.1. What to Expect
LXXIII. Robust Boot Loader
Robust Boot Loader — provide a robust boot service
RedBoot Commands — access RBL functionality via the RedBoot prompt
Application Library — allow applications to access RBL services
Application Library Extensions — allow applications to access RBL services
LXXIV. RedBoot Extra Initialization
RedBoot Extra Initialization — provide extra RedBoot initialization
LXXV. Unity
229. Unity overview
229.1. Introduction
230. Configuration
230.1. Configuration Overview
230.1.1. Quick Start
231. eCos port
231.1. Overview
232. Test Programs
232.1. Test Programs
LXXVI. Synthetic Target Architecture
233. eCos Synthetic Target
Overview — Overview
Installation — Preparing to use the synthetic target
Running a Synthetic Target Application — Arguments and configuration files
The I/O Auxiliary's User Interface — Controlling the I/O Auxiliary
The Console Device — Show output from the eCos application
System Calls — Access Linux system facilities
Writing New Devices - target — extending the synthetic target, target-side
Writing New Devices - host — extending the synthetic target, host-side
Porting — Adding support for other hosts
LXXVII. ARM7/ARM9/XScale/Cortex-A Architecture
234. ARM Architectural Support
ARM Architectural HAL — eCos Support for the ARM Architecture
Configuration — Configuring the ARM Architectural HAL Package
The HAL Port — Implementation Details
235. Atmel AT91 Processor Variant Support
Overview of Atmel AT91 Processor Variant — Overview
Hardware definitions — Details on obtaining hardware definitions for AT91
Interrupt Controller — Advanced Interrupt Controller definitions and usage
Timers — Use of on-chip Timer
Serial UARTs — Configuration and implementation details of serial UART support
236. Atmel AT91SAM7 Processor Variant Support
eCos Support for the Atmel AT91SAM7 Processor Variant — Overview
Hardware definitions — Details on obtaining hardware definitions for AT91
Interrupt Vector Definitions — Advanced Interrupt Controller vector definitions
237. Atmel AT91SAM7A2-EK Board Support
eCos Support for the Atmel AT91SAM7A2-EK — Overview
Setup — Preparing the AT91SAM7A2-EK board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
238. Atmel AT91SAM7A3-EK Board Support
eCos Support for the Atmel AT91SAM7A3-EK — Overview
Setup — Preparing the AT91SAM7A3-EK board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
239. Atmel AT91SAM7S-EK Board Support
eCos Support for the Atmel AT91SAM7S-EK — Overview
Setup — Preparing the AT91SAM7S-EK board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
240. Atmel AT91SAM7X-EK Board Support
eCos Support for the Atmel AT91SAM7X-EK — Overview
Setup — Preparing the AT91SAM7X-EK board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
241. NXP LPC2xxx variant HAL
Overview — Overview
On-chip subsystems and peripherals — Hardware support
The HAL Port — Implementation Details
242. Ashling EVBA7 Eval Board Support
Overview — Overview
Setup — Preparing the EVBA7 Eval Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
243. Embedded Artists LPC2468 OEM Board Support
Overview — Overview
Setup — Preparing the LPC2468 OEM Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
244. Embedded Artists QuickStart Board Support
Overview — Overview
Setup — Preparing the EA QuickStart Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
245. IAR KickStart Card Support
Overview — Overview
Setup — Preparing the IAR KickStart Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
246. Keil MCB2387 Board Support
Overview — Overview
Setup — Preparing the MCB2387 Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
247. Phytec phyCORE LPC2294 Board Support
Overview — Overview
Setup — Preparing the phyCORE LPC2294 Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
248. ST STR7XX variant HAL
Overview — Overview
On-chip Subsystems and Peripherals — Hardware Support
The HAL Port — Implementation Details
Power Management — Details
249. ST STR710-EVAL Board HAL
Overview — Overview
Setup — Preparing the STR710-EVAL Board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
250. Atmel AT91RM9200 Processor Support
eCos Support for the Atmel AT91RM9200 Processor — Overview
Hardware definitions — Details on obtaining hardware definitions for AT91RM9200
Interrupt controller — Advanced Interrupt Controller definitions and usage
Timer counters — Use of on-chip timer counters
Serial UARTs — Configuration and implementation details of serial UART support
Multimedia Card Interface (MCI) driver — Using MMC/SD cards with block drivers and filesystems
Two-Wire Interface (TWI) driver — Configuration and implementation details of TWI (I²C®) driver
Power saving support — Extensions for saving power
251. Atmel AT91RM9200 Development Kit/Evaluation Kit Board Support
eCos Support for the Atmel AT91RM9200 Development Kit/Evaluation Kit — Overview
Setup — Preparing the AT91RM9200-EK and AT91RM9200-DK boards for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
252. Cogent CSB337 Board Support
Overview — Overview
Setup — Preparing the CSB337 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
253. SSV DNP/9200 with DNP/EVA9 Board Support
Overview — Overview
Setup — Preparing the DNP/9200 with DNP/EVA9 evaluation board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
254. KwikByte KB920x Board Family Support
Overview — Overview
Setup — Preparing the KB920x boards for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
255. Motorola MX1ADS/A Board Support
Overview — Overview
Setup — Preparing the MX1ADS/A board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
256. Texas Instruments OMAP L1xx Processor Support
Overview — Overview
Hardware definitions — Details on obtaining hardware definitions for OMAP
Interrupt Controller — Advanced Interrupt Controller Definitions And usage
Timers — Use of on-chip timers
Serial UARTs — Configuration and Implementation Details of Serial UART Support
Multimedia Card Interface (MMC/SD) Driver — Using MMC/SD cards with block drivers and filesystems
I2C Two Wire Interface — Using I²C devices
Pin Configuration and GPIO Support — Use of pin configuration and GPIO
Peripheral Power Control — Description
DMA Support — Description
257. Atmel SAM9 Processor Support
Overview — Overview
Hardware definitions — Details on obtaining hardware definitions for SAM9
Interrupt controller — Advanced Interrupt Controller definitions and usage
Timers — Use of on-chip timers
Serial UARTs — Configuration and implementation details of serial UART support
Two-Wire Interface (TWI) driver — Configuration and implementation details of TWI (I²C®) driver
Power saving support — Extensions for saving power
258. Atmel AT91SAM9260 Evaluation Kit Board Support
Overview — Overview
Setup — Preparing the AT91SAM9260-EK board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
259. Atmel AT91SAM9261 Evaluation Kit Board Support
Overview — Overview
Setup — Preparing the AT91SAM9261-EK board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
260. Atmel AT91SAM9263 Evaluation Kit Board Support
Overview — Overview
Setup — Preparing the AT91SAM9263-EK board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
261. Atmel AT91SAM9G20 Evaluation Kit Board Support
Overview — Overview
Setup — Preparing the AT91SAM9G20-EK board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
262. Atmel AT91SAM9G45-EKES Evaluation Kit Board Support
Overview — Overview
Setup — Preparing the AT91SAM9G45-EKES board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
263. ARM Versatile 926EJ-S Board Support
Overview — Overview
Setup — Preparing the VPB926EJS board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
264. Spectrum Digital OMAP-L137 Board Support
Overview — Overview
Setup — Preparing the SD-L137 board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
265. Logic Zoom Board Support
Overview — Overview
Setup — Preparing the Zoom board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
266. Freescale i.MXxx Processor Support
Overview — Overview
Hardware definitions — Details on obtaining hardware definitions for i.MXxx
Interrupt Controller — Advanced Interrupt Controller Definitions And Usage
Timers — Use of on-chip timers
Serial UARTs — Configuration and Implementation Details of Serial UART Support
Pin Configuration and GPIO Support — Use of pin configuration and GPIO
Peripheral Clock Control — Description
267. Freescale MCIMX25WPDK Board Support
Overview — Overview
Setup — Preparing the board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
268. Intel IQ80321 Board Support
Overview — Overview
Setup — Preparing the IQ80321 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
269. Intel XScale IXP4xx Network Processor Support
Overview — Overview
IXP4xx hardware definitions — Details on obtaining hardware definitions for IXP4xx
IXP4xx interrupt controller — Interrupt controller definitions and usage
General-purpose timers — Use of IXP4xx general-purpose timers
Watchdog — Describes use of the hardware watchdog
Serial UARTs — Configuration and implementation details of serial UART support
PCI bus controller — PCI bus controller support implementation details
PCI bus IDE controllers — Configuring and using IDE controllers on the PCI bus
CompactFlash cards in TrueIDE mode — Using CompactFlash cards in TrueIDE mode on the IXP4xx expansion bus
GPIO — General purpose I/O
270. Intel XScale IXDP425 Network Processor Evaluation Board Support
Overview — Overview
Setup — Setting up the IXDP425 board
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
271. Altera Hard Processor System Support
Overview — Overview
Hardware definitions — Details on obtaining hardware definitions for HPS
Interrupt Controller — Advanced Interrupt Controller Definitions And usage
Timers — Use of on-chip timers
Serial UARTs — Configuration and Implementation Details of Serial UART Support
Multimedia Card Interface (MMC/SD) Driver — Using MMC/SD cards with block drivers and filesystems
I2C Interface — Using I²C devices
Pin Configuration and GPIO Support — Use of pin configuration and GPIO
272. Broadcom IProc Support
Overview — Overview
Hardware definitions — Details on obtaining hardware definitions for IProc
Interrupt Controller — Advanced Interrupt Controller Definitions and Usage
Timers — Use of on-chip timers
Serial UARTs — Configuration and Implementation Details of Serial UART Support
273. Broadcom BCM283X Processor Support
Overview — Overview
Hardware Definitions — Details on obtaining hardware definitions for BCM283X
Interrupt Controller — Interrupt Controller Definitions and Usage
Timers — Use of on-chip timers
Serial UARTs — Configuration and Implementation Details of Serial UART Support
I²C Interface — Using I²C devices
GPIO Support — Use of GPIO
DMA Support — Description
GPU Communication Support — Use of GPU mailbox
Frequency Control — control ARM and CORE frequencies
274. Broadcom BCM56150 Reference Board Support
Overview — Overview
Setup — Preparing the BCM56150 Reference board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
275. Altera Cyclone V SX Board Support
Overview — Overview
Setup — Preparing the Cyclone V SX board for eCos Development
Configuration — Platform-specific Configuration Options
SMP Development and Debugging Support — Usage
The HAL Port — Implementation Details
276. Dream Chip A10 Board Support
Overview — Overview
Setup — Preparing the Dream Chip A10 board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
SMP Development and Debugging Support — Usage
The HAL Port — Implementation Details
277. Atmel ATSAMA5D3 Variant HAL
Atmel SAMA5D3 Variant HAL — eCos Support for the Atmel SAMA5D3 Microprocessor Family
Hardware definitions — Details on obtaining hardware definitions for SAMA5D3
Bootstrap — System startup
On-chip Subsystems and Peripherals — Hardware Support
GPIO Support on SAMA5D3 processors — Details
Peripheral clock control — Details
DMA Support — Details
Configuration — Common SAMA5D3 configuration options
Test Programs — Details
278. Atmel SAMA5D3x-MB (MotherBoard) Platform HAL
SAMA5D3x-MB Platform HAL — eCos Support for the SAMA5D3x-MB Board
Setup — Preparing the SAMA5D3x-MB Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
BootUp Integration — Detail
279. Atmel SAMA5D3x-CM (CPU Module) Platform HAL
SAMA5D3x-CM Platform HAL — eCos Support for the SAMA5D3x-CM CPU Module
The HAL Port — Implementation Details
280. Atmel SAMA5D3 Xplained Platform HAL
SAMA5D3 Xplained Platform HAL — eCos Support for the SAMA5D3 Xplained platform
Setup — Preparing the SAMA5D3-XPLD Board for eCos Development
Configuration — Platform-specific configuration options
The HAL Port — Implementation Details
BootUp Integration — Detail
281. Raspberry Pi Board Support
Overview — Overview
Setup — Preparing the Raspberry Pi for eCos Development
JTAG Debugger Support — Usage
Configuration — Platform-specific Configuration Options
SMP Development and Debugging Support — Usage
The HAL Port — Implementation Details
RedBoot Extensions — Usage
282. Virtual Machine Support
Overview — Overview
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
283. QEMU Virtual Machine Support
Overview — Overview
Setup — Preparing for eCos Development
Configuration — Platform-specific Configuration Options
SMP Development and Debugging Support — Usage
The HAL Port — Implementation Details
284. Xvisor Virtual Machine Support
Overview — Overview
Setup — Preparing for eCos Development
Configuration — Platform-specific Configuration Options
SMP Development and Debugging Support — Usage
The HAL Port — Implementation Details
LXXVIII. Cortex-M Architecture
285. Cortex-M Architectural Support
Cortex-M Architectural HAL — eCos Support for the Cortex-M Architecture
Configuration — Configuring the Cortex-M Architectural HAL Package
Floating Point support — Overview of use of floating point
The HAL Port — Implementation Details
Cortex-M Hardware Debug — Overview of hardware debug features
286. Kinetis Variant HAL
Kinetis Variant HAL — eCos Support for the Kinetis Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
287. Freescale TWR-K60N512 and TWR-K60D100M Platform HAL
Freescale TWR-K60N512/TWR-K60D100M Platform HAL — eCos Support for the Freescale TWR-K60N512 and TWR-K60D100M boards
Setup — Preparing the TWR-K60N512/TWR-K60D100M Board for eCos Development
Configuration — Platform-specific Configuration Options
Hardware debugging support — Usage
The HAL Port — Implementation Details
288. Freescale TWR-K70F120M Platform HAL
Freescale TWR-K70F120M Platform HAL — eCos Support for the Freescale TWR-K70F120M board
Setup — Preparing the TWR-K70F120M Board for eCos Development
Configuration — Platform-specific Configuration Options
Hardware debugging support — Usage
The HAL Port — Implementation Details
289. LM3S Variant HAL
LM3S Variant HAL — eCos Support for the LM3S Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
GPIO Support — Details
290. LM3S8962-EVAL Platform HAL
LM3S8962 EVAL Platform HAL — eCos Support for the LM3S8962-EVAL Board
Setup — Preparing the LM3S8962-EVAL Board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
291. LPC1XXX Variant HAL
LPC1XXX Variant HAL — eCos Support for the LPC1XXX Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
GPIO Support — Details
Peripheral Clock and Power Control — Description
292. MCB1700 Platform HAL
MCB1700 Platform HAL — eCos Support for the MCB1700 Board
Setup — Preparing the MCB1700 Board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
293. SAM3/4/x70 Variant HAL
SAM3/4/X70 Variant HAL — eCos Support for the SAM3/4 Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
GPIO Support on SAM Processors — Details
Peripheral clock control — Details
294. Atmel SAM4E-EK Platform HAL
SAM4E-EK Platform HAL — eCos Support for the SAM4E-EK Board
Setup — Preparing the SAM4E-EK Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
295. Atmel SAMX70-EK Platform HAL
SAMX70-EK Platform HAL — eCos Support for the SAMX70-EK Board
Setup — Preparing the SAMX70-EK Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
296. STM32 Variant HAL
STM32 Variant HAL — eCos Support for the STM32 Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
GPIO Support on STM32F processors — Details
Peripheral clock control — Details
DMA Support — Details
Test Programs — Details
297. STM3210C-EVAL Platform HAL
STM3210C EVAL Platform HAL — eCos Support for the STM3210C-EVAL Board
Setup — Preparing the STM3210C-EVAL Board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
298. STM3210E-EVAL Platform HAL
STM3210E EVAL Platform HAL — eCos Support for the STM3210E-EVAL Board
Setup — Preparing the STM3210E-EVAL Board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
299. STM32X0G-EVAL Platform HAL
STM32X0G EVAL Platform HAL — eCos Support for the STM3220G-EVAL, STM3240G-EVAL and STM3241G-EVAL Boards
Setup — Preparing the STM32X0G-EVAL Board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
300. STM32F429I-DISCO Platform HAL
STM32F429I-DISCO Platform HAL — eCos Support for the STM32F429I-DISCO Board
Setup — Preparing the STM32F429I-DISCO Board for eCos Development
Configuration — Platform-specific Configuration Options
Hardware debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
301. STM32F746G-DISCO Platform HAL
STM32F746G-DISCO Platform HAL — eCos Support for the STM32F746G-DISCO Board
Setup — Preparing the STM32F746G-DISCO Board for eCos Development
Configuration — Platform-specific Configuration Options
Hardware debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
302. STM32H735-DISCO Platform HAL
STM32H735-DISCO Platform HAL — eCos Support for the STM32H735-DISCO Board
Setup — Preparing the STM32H735-DISCO Board for eCos Development
Configuration — Platform-specific Configuration Options
Hardware debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
303. STM32H7 Nucleo-144 Platform HAL
STM32H7 Nucleo-144 Platform HAL — eCos Support for the STM32H7 Nucleo-144 Board
Setup — Preparing the STM32H7 Nucleo-144 Board for eCos Development
Configuration — Platform-specific Configuration Options
Hardware debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
304. STM32F4DISCOVERY Platform HAL
STM32F4DISCOVERY Platform HAL — eCos Support for the STM32F4DISCOVERY Board
Setup — Preparing the STM32F4DISCOVERY Board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG/SWD debugging support — Usage
The HAL Port — Implementation Details
305. STM324X9I-EVAL Platform HAL
STM324X9I-EVAL Platform HAL — eCos Support for the STM324X9I-EVAL Board
Setup — Preparing the STM324X9I-EVAL Board for eCos Development
Configuration — Platform-specific Configuration Options
Hardware debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
BootUp Integration — Detail
306. STM32F7XX-EVAL Platform HAL
STM32F7XX-EVAL Platform HAL — eCos Support for the STM32F7XX-EVAL Board
Setup — Preparing the STM32F7XX-EVAL Board for eCos Development
Configuration — Platform-specific Configuration Options
Hardware debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
BootUp Integration — Detail
307. STM32L476-DISCO Platform HAL
STM32L476-DISCO Platform HAL — eCos Support for the STM32L476-DISCO Board
Setup — Preparing the STM32L476-DISCO Board for eCos Development
Configuration — Platform-specific Configuration Options
Hardware debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
BootUp Integration — Detail
308. BCM943362WCD4 Platform HAL
BCM943362WCD4 Platform HAL — eCos Support for the BCM943362WCD4 WICED Module
Setup — Preparing the Broadcom BCM943362WCD4 for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
309. BCM943364WCD1 Platform HAL
BCM943364WCD1 Platform HAL — eCos Support for the BCM943364WCD1 WICED Module
Setup — Preparing the Broadcom BCM943364WCD1 for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
310. STM32L4R9-DISCO Platform HAL
STM32L4R9-DISCO Platform HAL — eCos Support for the STM32L4R9-DISCO Board
Setup — Preparing the STM32L4R9-DISCO Board for eCos Development
Configuration — Platform-specific Configuration Options
Hardware debugging support — Usage
The HAL Port — Implementation Details
Test Programs — Details
BootUp Integration — Detail
311. STM32L4R9-EVAL Platform HAL
312. NXP i.MX RT10XX Variant HAL
NXP i.MX RT10XX Variant HAL — eCos Support for the NXP i.MX RT10XX Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
Hardware Configuration Support on IMX Processors — Details
OCOTP Support on IMX Processors — Details
BootUp — Bootstrap
313. NXP MIMXRT1xxx-EVK Platform HAL
NXP MIMXRT1xxx-EVK Platform HAL — eCos Support for the IMXRT1050-EVKB and MIMXRT1064-EVK boards
Setup — Preparing the MIMXRT1xxx-EVK Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
LXXIX. H8300 Architecture
314. H8/300 Architectural Support
Overview — eCos Support for the H8/300 Family of Processors
Configuration — Configuring the H8/300 Architectural Package
The HAL Port — Implementation Details
LXXX. i386 Architecture
315. I386 PC Support
eCos Support for the i386 PC — Overview
Setup — Preparing a PC for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
316. STPC Atlas Support
STPC Atlas Processor — eCos Support for the STPC Atlas Processor
LXXXI. M68000 / ColdFire Architecture
317. M68000 / ColdFire Architectural Support
Overview — eCos Support for the M68K Family of Processors
Configuration — Configuring the M68K Architectural Package
The HAL Port — Implementation Details
318. Freescale MCFxxxx Variant Support
MCFxxxx ColdFire Processors — eCos Support for Freescale MCFxxxx Processors
319. Freescale MCF5272 Processor Support
The MCF5272 ColdFire Processor — eCos Support for the Freescale MCF5272 Processor
320. Freescale M5272C3 Board Support
Overview — Overview
Setup — Preparing the M5272C3 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
321. Freescale MCF5275 Processor Support
The MCF5275 ColdFire Processor Family — eCos Support for Freescale MCF5275 Processors
322. Freescale MCF5282 Processor Support
The MCF5282 ColdFire Processor — eCos Support for the Freescale MCF5282 Processor
323. Freescale M5282EVB Board Support
Overview — Overview
Setup — Preparing the M5282EVB board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
324. Freescale M5282LITE Board Support
Overview — Overview
Setup — Preparing the M5282LITE board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
325. SSV DNP/5280 Board Support
Overview — Overview
Setup — Preparing the DNP/5280 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
326. Motorola MCF521x Processor Support
The MCF521x ColdFire Processor Family — eCos Support for Freescale MCF521x Processors
327. Motorola M5213EVB Board Support
M5213EVB Board — eCos Platform HAL
328. Freescale M5208EVBe Platform HAL
Overview — Overview
Setup — Preparing the M5208EVBe board for eCos Development
Configuration — Platform-specific Configuration Options
Test Programs — Details
329. Motorola MCF532x Processor Support
The MCF532x ColdFire Processor Family — eCos Support for Freescale MCF532x Processors
330. senTec Cobra5329 Board Support
Overview — Overview
Setup — Preparing the Cobra5329 board for eCos Development
Configuration — Platform-specific Configuration Options
331. Motorola MCF520x Processor Support
The MCF520x ColdFire Processor Family — eCos Support for Freescale MCF520x Processors
LXXXII. MIPS Architecture
332. MIPS Architectural HAL
MIPS Architectural HAL — eCos Support for the MIPS Architecture
Configuration — Configuring the MIPS Architectural HAL Package
The HAL Port — Implementation Details
333. MIPS32 Variant HAL
MIPS32 Variant HAL — eCos Support for the MIPS32 Architecture Variant
Configuration — Configuring the MIPS32 Variant HAL Package
The MIPS32 HAL Port — Implementation Details
334. MIPS SEAD3 Board Support
Overview — Overview
Setup — Preparing the SEAD3 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
JTAG Debugging — Using System Navigator
335. MIPS Malta Board Support
Overview — Overview
Setup — Preparing the Malta board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
336. NXP PNX83xx Common Support
PNX83xx Processors — eCos Support for NXP PNX83xx Processors
337. NXP PNX8310 Processor Support
The NXP PNX8310 Processor — eCos Support for the NXP PNX8310 Processor
338. NXP STB200 Board Support
Overview — Overview
Setup — Preparing the STB200 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
339. NXP PNX8330 Processor Support
The NXP PNX8330 Processor — eCos Support for the NXP PNX8330 Processor
340. NXP STB220 Board Support
Overview — Overview
Setup — Preparing the STB220 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
LXXXIII. NIOS2 Architecture
341. Nios II Architectural Support
Nios II Architectural HAL — eCos Support for the Nios II Architecture
Generic Installation Instructions — Generic Instructions
Configuration — Configuring the Nios II Architectural HAL Package
The HAL Port — Implementation Details
342. Nios II Stratix II/2s60_RoHS and Cyclone II/2c35 Platform HAL
Overview — eCos Platform HAL Support for the Stratix II/2s60-RoHS and Cyclone II/2c35 Boards
343. Nios II Cyclone II/2c35 Standard H/W Design HAL
Cyclone II Standard Hardware Design HAL — eCos Support for the Standard Hardware Design on a Cyclone II/2c35 Board
344. Nios II Cyclone II/2c35 TSEplus H/W Configuration HAL
Cyclone II TSEplus Hardware Design HAL — eCos Support for the TSEplus Hardware Design on a Cyclone II/2c35 Board
345. Nios II Stratix II/2s60_RoHS Standard H/W Design HAL
Stratix II Standard Hardware Design HAL — eCos Support for the Standard Hardware Design on a Stratix II/2s60-RoHS Board
346. Nios II Stratix II/2s60_RoHS TSEplus H/W Design HAL
Stratix II TSEplus Hardware Design HAL — eCos Support for the TSEplus Hardware Design on a Stratix II/2s60-RoHS Board
347. Board-level Support for the Nios II Embedded Evaluation Kit, Cyclone III edition
Overview — eCos Platform HAL Support for the Nios II Embedded Evaluation Kit, Cyclone III Edition
348. Nios II Embedded Evaluation Kit, Cyclone III Edition, appselector H/W Design HAL
Nios II Embedded Evaluation Kit, Cyclone III Edition, appselector Hardware Design HAL — eCos Support for the Appselector Hardware Design on a Nios II Embedded Evaluation Kit, Cyclone III Edition
LXXXIV. PowerPC Architecture
349. A&M Adder Board Support
Overview — Overview
Setup — Preparing the Adder board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
350. ADS512101 Board Support
Overview — Overview
Setup — Preparing the ADS512101 board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
351. Freescale MPC5554DEMO Board Support
Overview — Overview
Setup — Preparing the MPC5554DEMO board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
352. MPC8309KIT Board Support
Overview — Overview
Setup — Preparing the MPC8309KIT board for eCos Development
Configuration — Platform-specific Configuration Options
JTAG debugging support — Usage
The HAL Port — Implementation Details
GPIO Support — Details
Test Programs — Details
353. MPC512X Variant Support
MPC512X Variant HAL — eCos Support for the MPC512X Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
SPI Slave support — Hardware Support for SPI Slave Device
LXXXV. SH Architecture
354. Renesas SDK7780 Development Board Support
Overview — Overview
Setup — Preparing the SDK7780 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
355. SuperH SH4-202 MicroDev Board Support
Overview — Overview
Setup — Preparing the MicroDev board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
356. STMicroelectronics ST40 Evaluation Board Support
Overview — Overview
Setup — Preparing the ST40EB board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
LXXXVI. TILE-Gx Architecture
357. TILE-Gx Architectural Support
Overview — eCos Support for the TILE-Gx Family of Processors
Hardware Setup — preparing the hardware for eCos development
eCos Configuration Options — Configuring the TILE-Gx Architectural HAL Package
The HAL Port — Implementation Details
358. TILE-Gx TMC Library
Overview — eCos Port of a Subset of the TMC Library
Real-time characterization of selected targets

List of Figures

53.1. Library layout diagram
2. I/O auxiliary Dialog, Files
3. I/O auxiliary Dialog, Logging
75.1. I²C wiring specification
89.1. Synthetic Target Framebuffer X Window
197.1. Example WICED-Studio installation complete
197.2. Example WICED-Studio WiFi directory copy and rename
197.3. Example WICED-SDK installation
212.1. <bundle> image
212.2. <arbitrary> chunk
212.3. <hash> chunk
212.4. Uncompressed <item>
212.5. Compressed <item>
222.1. Example from application with SEGGER_SYSVIEW_Mark() use
222.2. Example from application with Kernel instrumentation enabled
222.3. Example from application using INFRA trace
277.1. ROMRAM RedBoot
277.2. ROM RedBoot
278.1. On-chip RomBOOT executes
278.2. On-chip RomBOOT copies second-level boot code from NVM to on-chip SRAM
278.3. SRAM loaded second-level boot code is executed
278.4. Final application ROMRAM is located in SPI or NOR NVM
278.5. Second-level boot copies ROMRAM from NVM to DDR2-SDRAM
278.6. Application is started
278.7. Second-level boot code built with AES-256 key
278.8. Stored key is used to decrypt NVM application into RAM
278.9. Decrypted application is started
280.1. SAM-BA Board Connection
280.2. Enabling DDRAM
280.3. Enabling NAND
280.4. Programming the Second-Stage bootstrap
280.5. Programming the Application
305.1. On-chip flash
305.2. NVM bundle
305.3. BootUp and Application
305.4. Application Update image
306.1. On-chip flash
306.2. NVM bundle
306.3. BootUp and Application
306.4. Application Update image
307.1. BootUp and Application
307.2. Application Update image
312.1. On-chip ROM Bootloader executes
312.2. On-chip ROM Bootloader copies second-level boot code from NVM to on-chip SRAM
312.3. SRAM loaded second-level boot code is executed
312.4. Final application is located in NVM
312.5. Second-level boot copies application from NVM to SDRAM
312.6. Application is started
313.1. Standalone mimxrt1064_evk SRAM application
313.2. Standalone mimxrt1050_evk SRAM application
313.3. Standalone mimxrt1064_evk JSDRAM application
313.4. Standalone mimxrt1050_evk JSDRAM application
313.5. Standalone mimxrt1064_evk RBRAM application
313.6. Standalone mimxrt1050_evk RBRAM application
313.7. mimxrt1064_evk SRAM RedBoot and RAM application
313.8. mimxrt1064_evk SRAM RedBoot and JSDRAM application
313.9. Checksum of QSPI image and Execution of RedBoot
313.10. RedBoot Output
313.11. Initialise Flash
313.12. Loading RedBoot QSPI boot image into memory
313.13. RedBoot cksum of memory image
313.14. Program RedBoot into QSPI from memory image

List of Examples

1. Mounting and unmounting a JFFS2 filesystem
2. Secure erase usage
164.1. This example shows the basic mechanisms for using netbufs.
164.2. This example shows a simple use of the netbuf_ref()
164.3. This example shows how to use the netbuf_next() function
164.4. This example shows a simple use of netbuf_copy()
164.5. This example shows how to open a TCP server on port 2000
164.6. This example demonstrates usage of the netconn_recv() function
164.7. This example demonstrates basic usage of the netconn_write() function
164.8. This example demonstrates basic usage of the netconn_send() function
180.1. Apache 2.0 License
183.1. lb_ssl test run
191.1. doc/bct_stm32f207_result.txt
206.1. “AS IS” License
216.1. “AS IS” License
224.1. Sample DHCP configuration file
224.2. Sample /etc/named.conf for most Linux distributions
229.1. “MIT” License
237.1. at91sam7a2ek Real-time characterization
238.1. at91sam7a3ek Real-time characterization
239.1. at91sam7sek Real-time characterization
240.1. at91sam7xek Real-time characterization
244.1. ea_quickstart Real-time characterization
245.1. iar_kickstart Real-time characterization
251.1. atmel-at91rm9200-kits Real-time characterization
253.1. dnp_sk23 Real-time characterization
254.1. kb9200 Real-time characterization
258.1. sam9260ek Real-time characterization
259.1. sam9261ek Real-time characterization
260.1. sam9263ek Real-time characterization
261.1. sam9g20ek Real-time characterization
262.1. sam9g45ek Real-time characterization
265.1. zoom_l138 Real-time characterization
267.1. mcimx25x Real-time characterization
274.1. bcm56150_ref Real-time characterization
275.1. cyclone5_sx Real-time characterization
276.1. dreamchip_a10 Real-time characterization
279.1. sama5d3x_cm Real-time characterization
280.1. sama5d3xpld Real-time characterization
281.1. Raspberry Pi3 Real-time characterization
283.1. VM Real-time characterization
284.1. VM Real-time characterization
287.1. twr_k60n512 Real-time characterization
288.1. twr_k70f120m Real-time characterization
294.1. sam4e_ek Real-time characterization
295.1. samv71-XULT Real-time characterization
299.1. stm32x0g_eval Real-time characterization
300.1. stm32f429i_disco Real-time characterization
301.1. stm32f746g_disco Real-time characterization
302.1. stm32h735_disco Real-time characterization
303.1. nucleo144_stm32h723 Real-time characterization
304.1. stm32f4dis Real-time characterization
305.1. stm324x9i_eval Real-time characterization
306.1. stm32f7xx_eval Real-time characterization
307.1. stm32l476_disco Real-time characterization
308.1. bcm943362wcd4 Real-time characterization
309.1. bcm943364wcd1 Real-time characterization
310.1. stm32l4r9_disco Real-time characterization
313.1. MIMXRT1050-EVK Real-time characterization
327.1. m5213evb Real-time characterization
350.1. ads512101 Real-time characterization
351.1. mpc5554demo Real-time characterization
352.1. mpc8309kit Real-time characterization