eCosPro Reference Manual

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

10 December 2024

About this reference manual

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


Table of Contents

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

List of Examples

1. Mounting and unmounting a JFFS2 filesystem
2. Secure erase usage
164.1. This example shows the basic mechanisms for using netbufs.
164.2. This example shows a simple use of the netbuf_ref()
164.3. This example shows how to use the netbuf_next() function
164.4. This example shows a simple use of netbuf_copy()
164.5. This example shows how to open a TCP server on port 2000
164.6. This example demonstrates usage of the netconn_recv() function
164.7. This example demonstrates basic usage of the netconn_write() function
164.8. This example demonstrates basic usage of the netconn_send() function
180.1. Apache 2.0 License
183.1. lb_ssl test run
184.1. Apache 2.0 License
187.1. lb_ssl test run
195.1. doc/bct_stm32f207_result.txt
210.1. “AS IS” License
220.1. “AS IS” License
228.1. Sample DHCP configuration file
228.2. Sample /etc/named.conf for most Linux distributions
233.1. “MIT” License
241.1. at91sam7a2ek Real-time characterization
242.1. at91sam7a3ek Real-time characterization
243.1. at91sam7sek Real-time characterization
244.1. at91sam7xek Real-time characterization
248.1. ea_quickstart Real-time characterization
249.1. iar_kickstart Real-time characterization
255.1. atmel-at91rm9200-kits Real-time characterization
257.1. dnp_sk23 Real-time characterization
258.1. kb9200 Real-time characterization
262.1. sam9260ek Real-time characterization
263.1. sam9261ek Real-time characterization
264.1. sam9263ek Real-time characterization
265.1. sam9g20ek Real-time characterization
266.1. sam9g45ek Real-time characterization
269.1. zoom_l138 Real-time characterization
271.1. mcimx25x Real-time characterization
278.1. bcm56150_ref Real-time characterization
279.1. cyclone5_sx Real-time characterization
280.1. dreamchip_a10 Real-time characterization
283.1. sama5d3x_cm Real-time characterization
284.1. sama5d3xpld Real-time characterization
285.1. Raspberry Pi3 Real-time characterization
287.1. VM Real-time characterization
288.1. VM Real-time characterization
291.1. twr_k60n512 Real-time characterization
292.1. twr_k70f120m Real-time characterization
298.1. sam4e_ek Real-time characterization
299.1. samv71-XULT Real-time characterization
303.1. stm32x0g_eval Real-time characterization
304.1. stm32f429i_disco Real-time characterization
305.1. stm32f746g_disco Real-time characterization
306.1. stm32h735_disco Real-time characterization
307.1. nucleo144_stm32h723 Real-time characterization
308.1. stm32f4dis Real-time characterization
309.1. stm324x9i_eval Real-time characterization
310.1. stm32f7xx_eval Real-time characterization
311.1. stm32l476_disco Real-time characterization
312.1. bcm943362wcd4 Real-time characterization
313.1. bcm943364wcd1 Real-time characterization
314.1. stm32l4r9_disco Real-time characterization
317.1. MIMXRT1050-EVK Real-time characterization
331.1. m5213evb Real-time characterization
354.1. ads512101 Real-time characterization
355.1. mpc5554demo Real-time characterization
356.1. mpc8309kit Real-time characterization