eCosPro Reference Manual

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

10 January 2025

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. PHY Event Polling
169.1. Introduction
169.2. Configuration
170. CDC-EEM 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. RNDIS Target USB driver
171.1. Introduction
171.2. API
171.3. Configuration
171.3.1. Configuration Overview
171.4. Debug and Test
171.4.1. Debugging
172. Ethernet PHY Device Support
172.1. Ethernet PHY Device API
173. Synopsys DesignWare Ethernet GMAC Driver
Synopsys DesignWare Ethernet GMAC Driver — eCos Support for Synopsys DesignWare Ethernet GMAC Devices
174. Freescale ColdFire Ethernet Driver
Freescale ColdFire Ethernet Driver — eCos Support for Freescale ColdFire On-chip Ethernet Devices
175. Nios II Triple Speed Ethernet Driver
Nios II Triple Speed Ethernet Driver — eCos Support for Nios II Triple-Speed Ethernet Devices
176. SMSC LAN9118 Ethernet Driver
SMSC LAN9118 Ethernet Driver — eCos Support for SMSC LAN9118 Ethernet Devices
177. Synthetic Target Ethernet Driver
Synthetic Target Ethernet Driver — Allow synthetic target applications to perform ethernet I/O
XLVI. DNS for eCos and RedBoot
178. DNS
178.1. DNS API
178.2. DNS Client Testing
XLVII. eCosPro-SecureSockets
179. OpenSSL eCos Support
179.1. Introduction
179.1.1. Licensing, Copyrights and Patents
179.2. Configuration
179.2.1. Full Configuration
179.2.2. Default Configuration
179.2.3. Kernel Configuration
179.2.4. Serial Line Support
179.2.5. File System Dependencies
179.2.6. Configuring OpenSSL
179.3. openssl Command Tool
179.4. Thread Safety
179.5. eCos Customization
179.5.1. Random Number Support
179.5.2. BIO_diag
179.6. Tests
179.7. Limitations
180. OpenSSL Manual
180.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
180.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
180.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
181. Mbed TLS overview
181.1. Introduction
182. Configuration
182.1. Configuration Overview
182.1.1. Quick Start
183. eCos port
183.1. Overview
183.2. Entropy
184. Test Programs
184.1. Test Programs
XLIX. Mbed TLS v3
185. Mbed TLS overview
185.1. Introduction
186. Configuration
186.1. Configuration Overview
186.1.1. Quick Start
186.1.2. Configuring Options
187. eCos port
187.1. Overview
187.2. Entropy
188. Test Programs
188.1. Test Programs
L. 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
LI. FTP Client for eCos TCP/IP Stack
189. FTP Client API and Configuration
189.1. FTP Client API
189.1.1. Support API
189.1.2. ftp_delete
189.1.3. ftpclient_printf
189.1.4. Basic FTP Client API
189.1.5. ftp_get
189.1.6. ftp_put
189.1.7. ftp_get_var
189.1.8. ftp_put_var
189.1.9. Extended FTP Client API
189.1.10. ftp_get_extended
189.1.11. ftp_put_extended
189.1.12. ftp_get_extended_var
189.1.13. ftp_put_extended_var
189.2. FTP Client Configuration
LII. 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
LIII. Embedded HTTP Server
190. Embedded HTTP Server
190.1. Introduction
190.2. Server Organization
190.3. Server Configuration
190.4. Support Functions and Macros
190.4.1. HTTP Support
190.4.2. General HTML Support
190.4.3. Table Support
190.4.4. Forms Support
190.4.5. Predefined Handlers
190.5. System Monitor
LIV. SNMP
191. SNMP for eCos
191.1. Version
191.2. SNMP packages in the eCos source repository
191.3. MIBs supported
191.4. Changes to eCos sources
191.5. Starting the SNMP Agent
191.6. Configuring eCos
191.6.1. Version usage (v1, v2 or v3)
191.6.2. Traps
191.6.3. snmpd.conf file
191.7. Test cases
191.8. SNMP clients and package use
191.9. Unimplemented features
191.10. MIB Compiler
191.11. snmpd.conf
LV. mDNS Responder and DNS-SD
192. mDNS overview
192.1. Introduction
193. API
193.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
193.2. Example Responder
193.3. Example DNS-SD Queries
194. Support API
194.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
195. Configuration
195.1. Configuration Overview
195.1.1. Quick Start
195.1.2. Configuring the mDNS Responder
195.1.3. Configuring the mDNS DNS-SD support
195.2. Tuning
195.2.1. Footprint
196. Debug and Test
196.1. Debugging
196.1.1. Asserts
196.1.2. Diagnostic Output
196.2. Testing
196.2.1. mdns_example
196.2.2. dnssd_example
196.2.3. mdns_testp
196.2.4. mdns_farm
196.2.5. Bonjour Conformance Test
196.2.6. DNS-SD Example
LVI. NTP Client Support
Overview — Overview
NTP Client API — NTP client API and configuration
Test Programs — Describe the test programs and their host-side support
LVII. Simple Network Time Protocol Client
197. The SNTP Client
197.1. Starting the SNTP client
197.2. What it does
197.3. Configuring the unicast list of NTP servers
197.4. Warning: timestamp wrap around
197.5. The SNTP test program
LVIII. WLAN
198. WLAN overview
198.1. Introduction
199. Configuration
199.1. Configuration Overview
199.2. Configuration Options
200. WLAN API
200.1. API
wlan_diag_dump_ascii — Output human-readable string
201. Testing
201.1. wlan_scan
201.2. wlan_switch
LIX. Cypress WWD WLAN
202. Cypress WWD overview
202.1. Introduction
202.2. WICED-SDK Installation
203. Configuration
203.1. Configuration Overview
203.2. Chipset Firmware
203.3. Configuration Options
204. Platform/Variant HAL
LX. Common Clock Services
205. Overview
205.1. Introduction
205.2. Functionality
205.3. Concepts and structure
206. Dependencies
206.1. HAL
206.2. Kernel
206.3. Wallclock (RTC)
206.4. C library and POSIX layers
207. Configuration
208. 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
LXI. Object Loader
Object Loader — eCos Support for Dynamic Module Loading
Extending the Object Loader — Extending the Object Loader
LXII. CPU load measurements
209. CPU Load Measurements
209.1. CPU Load API
209.1.1. cyg_cpuload_calibrate
209.1.2. cyg_cpuload_create
209.1.3. cyg_cpuload_delete
209.1.4. cyg_cpuload_get
209.1.5. Implementation details
209.1.6. SMP Support
LXIII. gprof Profiling Support
Profiling — eCos Support for the gprof profiling tool
LXIV. gcov Test Coverage Support
Test Coverage — eCos Support for the gcov test coverage tool
LXV. CRC Algorithms
210. CRC Functions
210.1. CRC API
210.1.1. cyg_posix_crc32
210.1.2. cyg_crc32
210.1.3. cyg_ether_crc32
210.1.4. cyg_crc16
LXVI. CryptoAuthLib
211. CryptoAuthLib overview
211.1. Introduction
212. Configuration
212.1. Configuration Overview
212.1.1. Quick Start
213. eCos port
213.1. Overview
214. Test Programs
214.1. Test Programs
LXVII. LibTomCrypt Cryptography Library
LibTomCrypt Cryptography Library — Cryptography
LXVIII. LibTomMath Multi-Precision Math Package
LibTomMath Multi-Precision Math Package — Multi-Precision Maths
LXIX. BootUp ROM loader
215. BootUp overview
215.1. Introduction
215.2. Configuration
215.2.1. Platform Support
215.2.2. Building BootUp
215.3. Applications using VALID_ALT
215.4. Supported Platform HALs and targets
LXX. Bundle image support
216. Bundle overview
216.1. Introduction
216.2. Configuration
217. Bundle format
217.1. Introduction
217.2. Internal Structure
218. Bundle API
218.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
219. Host tool
219.1. Introduction
220. Bundle tests
220.1. bundle1
LXXI. RTT
221. RTT overview
221.1. Introduction
222. Configuration
222.1. Configuration Overview
222.1.1. Quick Start
222.1.2. Options
223. eCos port
223.1. Overview
224. Test Programs
224.1. Test Programs
LXXII. eCos Support for Segger SystemView tracing
225. SystemView overview
225.1. Introduction
226. SystemView Recording
226.1. H/W debugger
226.1.1. J-Link/J-Trace H/W debugger
226.1.2. svproxy
226.2. I/O Communication
226.2.1. Performance and Analysis
226.3. Overflows
227. Events
227.1. SystemView Events
227.2. Kernel Instrumentation
227.3. Infra Trace
228. Configuration
228.1. CYGBLD_SYSTEMVIEW_ENABLED
228.2. CYGOPT_SYSTEMVIEW_RECORDER_HAL
228.3. CYGOPT_SYSTEMVIEW_RECORDER
228.3.1. CYGBLD_SYSTEMVIEW_RECORDER_UART
LXXIII. RedBoot User's Guide
229. Getting Started with RedBoot
229.1. More information about RedBoot on the web
229.2. Installing RedBoot
229.3. User Interface
229.4. RedBoot Editing Commands
229.5. RedBoot Command History
229.6. RedBoot Startup Mode
229.7. RedBoot Resource Usage
229.7.1. Flash Resources
229.7.2. RAM Resources
229.8. Configuring the RedBoot Environment
229.8.1. Target Network Configuration
229.8.2. Host Network Configuration
229.8.3. Verification
230. RedBoot Commands and Examples
230.1. Introduction
230.2. Common Commands
230.3. Flash Image System (FIS)
230.4. Filesystem Interface
230.5. Persistent State Flash-based Configuration and Control
230.6. Persistent State in a NAND-based environment
230.6.1. Manipulating persistent state stored on NAND
230.7. Executing Programs from RedBoot
230.8. NAND configuration commands
230.9. NAND manipulation commands
231. Rebuilding RedBoot
231.1. Introduction
231.2. Variables
231.3. Building RedBoot using ecosconfig
231.4. Rebuilding RedBoot from the eCos Configuration Tool
232. Updating RedBoot
232.1. Introduction
232.2. Load and start a RedBoot RAM instance
232.3. Update the primary RedBoot flash image
232.4. Reboot; run the new RedBoot image
233. Initial Installation
233.1. Hardware Installation
233.1.1. What to Expect
LXXIV. 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
LXXV. RedBoot Extra Initialization
RedBoot Extra Initialization — provide extra RedBoot initialization
LXXVI. Unity
234. Unity overview
234.1. Introduction
235. Configuration
235.1. Configuration Overview
235.1.1. Quick Start
236. eCos port
236.1. Overview
237. Test Programs
237.1. Test Programs
LXXVII. Synthetic Target Architecture
238. 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
LXXVIII. ARM7/ARM9/XScale/Cortex-A Architecture
239. ARM Architectural Support
ARM Architectural HAL — eCos Support for the ARM Architecture
Configuration — Configuring the ARM Architectural HAL Package
The HAL Port — Implementation Details
240. 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
241. 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
242. 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
243. 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
244. 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
245. 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
246. NXP LPC2xxx variant HAL
Overview — Overview
On-chip subsystems and peripherals — Hardware support
The HAL Port — Implementation Details
247. 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
248. 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
249. 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
250. 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
251. Keil MCB2387 Board Support
Overview — Overview
Setup — Preparing the MCB2387 Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
252. 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
253. ST STR7XX variant HAL
Overview — Overview
On-chip Subsystems and Peripherals — Hardware Support
The HAL Port — Implementation Details
Power Management — Details
254. 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
255. 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
256. 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
257. Cogent CSB337 Board Support
Overview — Overview
Setup — Preparing the CSB337 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
258. 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
259. 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
260. 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
261. 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
262. 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
263. 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
264. 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
265. 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
266. 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
267. 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
268. 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
269. 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
270. 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
271. 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
272. 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
273. Intel IQ80321 Board Support
Overview — Overview
Setup — Preparing the IQ80321 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
274. 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
275. 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
276. 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
277. 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
278. 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
279. 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
280. 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
281. 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
282. 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
283. 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
284. Atmel SAMA5D3x-CM (CPU Module) Platform HAL
SAMA5D3x-CM Platform HAL — eCos Support for the SAMA5D3x-CM CPU Module
The HAL Port — Implementation Details
285. 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
286. 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
287. Virtual Machine Support
Overview — Overview
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
288. 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
289. 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
LXXIX. Cortex-M Architecture
290. 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
291. Kinetis Variant HAL
Kinetis Variant HAL — eCos Support for the Kinetis Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
292. 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
293. 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
294. LM3S Variant HAL
LM3S Variant HAL — eCos Support for the LM3S Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
GPIO Support — Details
295. 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
296. 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
297. 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
298. 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
299. 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
300. 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
301. 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
302. 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
303. 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
304. 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
305. 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
306. 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
307. 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
308. 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
309. 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
310. 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
311. 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
312. 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
313. 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
314. 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
315. 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
316. STM32L4R9-EVAL Platform HAL
317. 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
318. 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
LXXX. H8300 Architecture
319. 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
LXXXI. i386 Architecture
320. 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
321. STPC Atlas Support
STPC Atlas Processor — eCos Support for the STPC Atlas Processor
LXXXII. M68000 / ColdFire Architecture
322. M68000 / ColdFire Architectural Support
Overview — eCos Support for the M68K Family of Processors
Configuration — Configuring the M68K Architectural Package
The HAL Port — Implementation Details
323. Freescale MCFxxxx Variant Support
MCFxxxx ColdFire Processors — eCos Support for Freescale MCFxxxx Processors
324. Freescale MCF5272 Processor Support
The MCF5272 ColdFire Processor — eCos Support for the Freescale MCF5272 Processor
325. Freescale M5272C3 Board Support
Overview — Overview
Setup — Preparing the M5272C3 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
326. Freescale MCF5275 Processor Support
The MCF5275 ColdFire Processor Family — eCos Support for Freescale MCF5275 Processors
327. Freescale MCF5282 Processor Support
The MCF5282 ColdFire Processor — eCos Support for the Freescale MCF5282 Processor
328. Freescale M5282EVB Board Support
Overview — Overview
Setup — Preparing the M5282EVB board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
329. Freescale M5282LITE Board Support
Overview — Overview
Setup — Preparing the M5282LITE board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
330. 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
331. Motorola MCF521x Processor Support
The MCF521x ColdFire Processor Family — eCos Support for Freescale MCF521x Processors
332. Motorola M5213EVB Board Support
M5213EVB Board — eCos Platform HAL
333. Freescale M5208EVBe Platform HAL
Overview — Overview
Setup — Preparing the M5208EVBe board for eCos Development
Configuration — Platform-specific Configuration Options
Test Programs — Details
334. Motorola MCF532x Processor Support
The MCF532x ColdFire Processor Family — eCos Support for Freescale MCF532x Processors
335. senTec Cobra5329 Board Support
Overview — Overview
Setup — Preparing the Cobra5329 board for eCos Development
Configuration — Platform-specific Configuration Options
336. Motorola MCF520x Processor Support
The MCF520x ColdFire Processor Family — eCos Support for Freescale MCF520x Processors
LXXXIII. MIPS Architecture
337. MIPS Architectural HAL
MIPS Architectural HAL — eCos Support for the MIPS Architecture
Configuration — Configuring the MIPS Architectural HAL Package
The HAL Port — Implementation Details
338. 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
339. 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
340. MIPS Malta Board Support
Overview — Overview
Setup — Preparing the Malta board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
341. NXP PNX83xx Common Support
PNX83xx Processors — eCos Support for NXP PNX83xx Processors
342. NXP PNX8310 Processor Support
The NXP PNX8310 Processor — eCos Support for the NXP PNX8310 Processor
343. NXP STB200 Board Support
Overview — Overview
Setup — Preparing the STB200 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
344. NXP PNX8330 Processor Support
The NXP PNX8330 Processor — eCos Support for the NXP PNX8330 Processor
345. NXP STB220 Board Support
Overview — Overview
Setup — Preparing the STB220 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
LXXXIV. NIOS2 Architecture
346. 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
347. 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
348. 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
349. 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
350. 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
351. 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
352. 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
353. 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
LXXXV. PowerPC Architecture
354. 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
355. 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
356. 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
357. 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
358. 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
LXXXVI. SH Architecture
359. 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
360. 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
361. 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
LXXXVII. TILE-Gx Architecture
362. 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
363. 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
202.1. Example WICED-Studio installation complete
202.2. Example WICED-Studio WiFi directory copy and rename
202.3. Example WICED-SDK installation
217.1. <bundle> image
217.2. <arbitrary> chunk
217.3. <hash> chunk
217.4. Uncompressed <item>
217.5. Compressed <item>
227.1. Example from application with SEGGER_SYSVIEW_Mark() use
227.2. Example from application with Kernel instrumentation enabled
227.3. Example from application using INFRA trace
282.1. ROMRAM RedBoot
282.2. ROM RedBoot
283.1. On-chip RomBOOT executes
283.2. On-chip RomBOOT copies second-level boot code from NVM to on-chip SRAM
283.3. SRAM loaded second-level boot code is executed
283.4. Final application ROMRAM is located in SPI or NOR NVM
283.5. Second-level boot copies ROMRAM from NVM to DDR2-SDRAM
283.6. Application is started
283.7. Second-level boot code built with AES-256 key
283.8. Stored key is used to decrypt NVM application into RAM
283.9. Decrypted application is started
285.1. SAM-BA Board Connection
285.2. Enabling DDRAM
285.3. Enabling NAND
285.4. Programming the Second-Stage bootstrap
285.5. Programming the Application
310.1. On-chip flash
310.2. NVM bundle
310.3. BootUp and Application
310.4. Application Update image
311.1. On-chip flash
311.2. NVM bundle
311.3. BootUp and Application
311.4. Application Update image
312.1. BootUp and Application
312.2. Application Update image
317.1. On-chip ROM Bootloader executes
317.2. On-chip ROM Bootloader copies second-level boot code from NVM to on-chip SRAM
317.3. SRAM loaded second-level boot code is executed
317.4. Final application is located in NVM
317.5. Second-level boot copies application from NVM to SDRAM
317.6. Application is started
318.1. Standalone mimxrt1064_evk SRAM application
318.2. Standalone mimxrt1050_evk SRAM application
318.3. Standalone mimxrt1064_evk JSDRAM application
318.4. Standalone mimxrt1050_evk JSDRAM application
318.5. Standalone mimxrt1064_evk RBRAM application
318.6. Standalone mimxrt1050_evk RBRAM application
318.7. mimxrt1064_evk SRAM RedBoot and RAM application
318.8. mimxrt1064_evk SRAM RedBoot and JSDRAM application
318.9. Checksum of QSPI image and Execution of RedBoot
318.10. RedBoot Output
318.11. Initialise Flash
318.12. Loading RedBoot QSPI boot image into memory
318.13. RedBoot cksum of memory image
318.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
181.1. Apache 2.0 License
184.1. lb_ssl test run
185.1. Apache 2.0 License
188.1. lb_ssl test run
196.1. doc/bct_stm32f207_result.txt
211.1. “AS IS” License
221.1. “AS IS” License
229.1. Sample DHCP configuration file
229.2. Sample /etc/named.conf for most Linux distributions
234.1. “MIT” License
242.1. at91sam7a2ek Real-time characterization
243.1. at91sam7a3ek Real-time characterization
244.1. at91sam7sek Real-time characterization
245.1. at91sam7xek Real-time characterization
249.1. ea_quickstart Real-time characterization
250.1. iar_kickstart Real-time characterization
256.1. atmel-at91rm9200-kits Real-time characterization
258.1. dnp_sk23 Real-time characterization
259.1. kb9200 Real-time characterization
263.1. sam9260ek Real-time characterization
264.1. sam9261ek Real-time characterization
265.1. sam9263ek Real-time characterization
266.1. sam9g20ek Real-time characterization
267.1. sam9g45ek Real-time characterization
270.1. zoom_l138 Real-time characterization
272.1. mcimx25x Real-time characterization
279.1. bcm56150_ref Real-time characterization
280.1. cyclone5_sx Real-time characterization
281.1. dreamchip_a10 Real-time characterization
284.1. sama5d3x_cm Real-time characterization
285.1. sama5d3xpld Real-time characterization
286.1. Raspberry Pi3 Real-time characterization
288.1. VM Real-time characterization
289.1. VM Real-time characterization
292.1. twr_k60n512 Real-time characterization
293.1. twr_k70f120m Real-time characterization
299.1. sam4e_ek Real-time characterization
300.1. samv71-XULT Real-time characterization
304.1. stm32x0g_eval Real-time characterization
305.1. stm32f429i_disco Real-time characterization
306.1. stm32f746g_disco Real-time characterization
307.1. stm32h735_disco Real-time characterization
308.1. nucleo144_stm32h723 Real-time characterization
309.1. stm32f4dis Real-time characterization
310.1. stm324x9i_eval Real-time characterization
311.1. stm32f7xx_eval Real-time characterization
312.1. stm32l476_disco Real-time characterization
313.1. bcm943362wcd4 Real-time characterization
314.1. bcm943364wcd1 Real-time characterization
315.1. stm32l4r9_disco Real-time characterization
318.1. MIMXRT1050-EVK Real-time characterization
332.1. m5213evb Real-time characterization
355.1. ads512101 Real-time characterization
356.1. mpc5554demo Real-time characterization
357.1. mpc8309kit Real-time characterization