eCosPro Reference Manual

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

12 January 2023

About this reference manual

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


Table of Contents

I. The eCos Kernel
Kernel Overview — Overview of the eCos Kernel
SMP Support — Support Symmetric Multiprocessing Systems
Thread creation — Create a new thread
Thread information — Get basic thread information
Thread control — Control whether or not a thread is running
Thread termination — Allow threads to terminate
Thread priorities — Examine and manipulate thread priorities
Per-thread data — Manipulate per-thread data
Thread destructors — Call functions on thread termination
Exception handling — Handle processor exceptions
Counters — Count event occurrences
Clocks — Provide system clocks
Alarms — Run an alarm function when a number of events have occurred
Mutexes — Synchronization primitive
Condition Variables — Synchronization primitive
Semaphores — Synchronization primitive
Mail boxes — Synchronization primitive
Event Flags — Synchronization primitive
Spinlocks — Low-level Synchronization Primitive
Scheduler Control — Control the state of the scheduler
Interrupt Handling — Manage interrupt handlers
Kernel Real-time Characterization — Measure the performance of the eCos kernel
Kernel thread-aware debugging — Overview of eCos Kernel thread-aware debugging
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. FlexCAN CAN Driver
FlexCAN CAN Driver — CAN Driver
92. MSCAN CAN Driver
MSCAN CAN Driver — CAN Driver
93. LPC2XXXX CAN Driver
LPC2XXX CAN Driver — CAN Driver
94. Atmel SAM CAN Driver
Atmel SAM CAN Driver — CAN Driver
95. Atmel MCAN CAN Driver
Atmel MCAN CAN Driver — CAN Driver
96. SJA1000 CAN Driver
SJA1000 CAN Driver — CAN Driver
97. BXCAN CAN Driver
BXCAN CAN Driver — CAN Driver
98. STR7XX CAN Driver
STR7XX CAN Driver — CAN Driver
XXVIII. Coherent Connection Bus
99. Coherent Connection Bus overview
99.1. Introduction
100. Configuration
100.1. Configuration Overview
100.1.1. Quick Start
100.1.2. Configuring the CCB memory footprint
100.1.3. Configuring the CCB control thread
100.1.4. Configuring the CCB master server
101. API Overview
101.1. Application support API
cyg_ccb_build_message — Construct message
cyg_ccb_check_response — Check response
101.2. I/O Device Driver Interface
102. Internals
103. Debug and Test
103.1. Debugging
103.1.1. Asserts
103.1.2. Diagnostic Output
103.2. Testing
103.2.1. ccb_ut
103.2.2. ccb_master
XXIX. STM32 Coherent Connection Bus Driver
104. STM32 Coherent Connection Bus Driver overview
104.1. Introduction
105. Configuration
105.1. Configuration Overview
105.1.1. Configuring the STM32 CCB driver
106. Debug and Test
106.1. Debugging
106.1.1. Asserts
106.1.2. Diagnostic Output
XXX. MODBUS
107. MODBUS overview
107.1. Introduction
108. Configuration
108.1. Configuration Overview
108.1.1. Quick Start
108.1.2. Configuring the MODBUS server
108.1.3. Configuring the ModbusTCP Server
109. API Overview
109.1. Application API
cyg_modbus_server_start — Start MODBUS server
cyg_modbus_server_stop — Stop MODBUS server
109.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
109.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
109.4. MODBUS Exceptions
109.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
109.6. Example backend
110. Internals
111. Debug and Test
111.1. Debugging
111.1.1. Asserts
111.1.2. Diagnostic Output
111.2. Testing
111.2.1. modbus_ut
111.2.2. modbus_server
XXXI. Direct Memory Access Controller (DMAC) Device Drivers
112. Atmel DMA Controller (DMAC)
Atmel DMAC Driver — eCos Support for the Atmel DMA Controller
113. 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
114. Freescale MCFxxxx Serial Driver
MCFxxxx Serial Driver — eCos Support for the MCFxxxx On-chip Serial Devices
115. NXP PNX8310 Serial Driver
PNX8310 Serial Driver — eCos Support for the PNX8310 On-chip UARTs
116. 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
117. USB Serial Support
Overview — eCosPro Support for USB Serial devices
118. USB Target CDC ACM Protocol Driver
Overview — eCosPro Support for CDC ACM Protocol in Peripheral Mode
119. USB Host CDC ACM Protocol Driver
Overview — eCosPro Support for CDC ACM Protocol in Host Mode
120. 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
121. Wallclock Support
Wallclock support — eCos Support Wallclock devices
C API — Details
122. Dallas DS1302 Wallclock Device Driver
Dallas DS1302 Wallclock Device Driver — eCos Support for the Dallas DS1302 Real-Time Clock
123. Dallas DS1306 Wallclock Device Driver
Dallas DS1306 Wallclock Device Driver — eCos Support for the Dallas DS1306 Real-Time Clock
124. Dallas DS1307 Wallclock Device Driver
Dallas DS1307 Wallclock Device Driver — eCos Support for the Dallas DS1307 Serial Real-Time Clock
125. Dallas DS1390 Wallclock Device Driver
Dallas DS1390 Wallclock Device Driver — eCos Support for the Dallas DS1390 Serial Real-Time Clock
126. 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
127. Intersil ISL1208 Wallclock Device Driver
Intersil ISL1208 Wallclock Device Driver — eCos Support for the Intersil ISL1208 Real-Time Clock
128. Intersil ISL12028 Wallclock Device Driver
Intersil ISL12028 Wallclock Device Driver — eCos Support for the Intersil ISL12028 Real-Time Clock
129. ST M41TXX Wallclock Device Driver
ST M41TXX Wallclock Device Driver — eCos Support for the ST M41TXX Serial Real-Time Clock
130. ST M48T Wallclock Device Driver
ST M48T Wallclock Device Driver — eCos Support for the ST M48T TimeKeeper SRAM chips and compatibles
XXXVIII. Watchdog Drivers
131. Freescale Kinetis Watchdog Driver
Kinetis Watchdog Driver — eCos Support for the Kinetis on-chip Watchdog timer device (WDOG)
132. Freescale MCFxxxx SCM Watchdog Driver
MCFxxxx SCM Watchdog Driver — eCos Support for the MCFxxxx SCM On-chip Watchdog Device
133. Freescale MCFxxxx Watchdog Driver
MCFxxxx Watchdog Driver — eCos Support for the MCFxxxx On-chip Watchdog Device
134. Freescale MCF5272 Watchdog Driver
MCF5272 Watchdog Driver — eCos Support for the MCF5272 On-chip Watchdog Device
135. Freescale MCF5282 Watchdog Driver
MCF5282 Watchdog Driver — eCos Support for the MCF5282 On-chip Watchdog Device
136. Freescale MCF532x Watchdog Driver
MCF532x Watchdog Driver — eCos Support for the MCF532x On-chip Watchdog Device
137. Nios II Avalon Timer Watchdog Driver
Nios II Avalon Timer Watchdog Driver — eCos Support for a Nios II Avalon Timer-based Watchdog Device
138. NXP PNX8310 Watchdog Driver
PNX8310 Watchdog Driver — eCos Support for the PNX8310 On-chip Watchdog Device
139. NXP PNX8330 Watchdog Driver
PNX8330 Watchdog Driver — eCos Support for the PNX8330 On-chip Watchdog Device
140. Synthetic Target Watchdog Device
Synthetic Target Watchdog Device — Emulate watchdog hardware in the synthetic target
XXXIX. eCos POSIX compatibility layer
141. POSIX Standard Support
141.1. Process Primitives [POSIX Section 3]
141.1.1. Functions Implemented
141.1.2. Functions Omitted
141.1.3. Notes
141.2. Process Environment [POSIX Section 4]
141.2.1. Functions Implemented
141.2.2. Functions Omitted
141.2.3. Notes
141.3. Files and Directories [POSIX Section 5]
141.3.1. Functions Implemented
141.3.2. Functions Omitted
141.3.3. Notes
141.4. Input and Output [POSIX Section 6]
141.4.1. Functions Implemented
141.4.2. Functions Omitted
141.4.3. Notes
141.5. Device and Class Specific Functions [POSIX Section 7]
141.5.1. Functions Implemented
141.5.2. Functions Omitted
141.5.3. Notes
141.6. C Language Services [POSIX Section 8]
141.6.1. Functions Implemented
141.6.2. Functions Omitted
141.6.3. Notes
141.7. System Databases [POSIX Section 9]
141.7.1. Functions Implemented
141.7.2. Functions Omitted
141.7.3. Notes
141.8. Data Interchange Format [POSIX Section 10]
141.9. Synchronization [POSIX Section 11]
141.9.1. Functions Implemented
141.9.2. Functions Omitted
141.9.3. Notes
141.10. Memory Management [POSIX Section 12]
141.10.1. Functions Implemented
141.10.2. Functions Omitted
141.10.3. Notes
141.11. Execution Scheduling [POSIX Section 13]
141.11.1. Functions Implemented
141.11.2. Functions Omitted
141.11.3. Notes
141.12. Clocks and Timers [POSIX Section 14]
141.12.1. Functions Implemented
141.12.2. Functions Omitted
141.12.3. Notes
141.13. Message Passing [POSIX Section 15]
141.13.1. Functions Implemented
141.13.2. Functions Omitted
141.13.3. Notes
141.14. Thread Management [POSIX Section 16]
141.14.1. Functions Implemented
141.14.2. Functions Omitted
141.14.3. Notes
141.15. Thread-Specific Data [POSIX Section 17]
141.15.1. Functions Implemented
141.15.2. Functions Omitted
141.15.3. Notes
141.16. Thread Cancellation [POSIX Section 18]
141.16.1. Functions Implemented
141.16.2. Functions Omitted
141.16.3. Notes
141.17. Non-POSIX Functions
141.17.1. General I/O Functions
141.17.2. Socket Functions
141.17.3. Notes
References and Bibliography
XL. µITRON
142. µITRON API
142.1. Introduction to µITRON
142.2. µITRON and eCos
142.3. Task Management Functions
142.3.1. Error checking
142.4. Task-Dependent Synchronization Functions
142.4.1. Error checking
142.5. Synchronization and Communication Functions
142.5.1. Error checking
142.6. Extended Synchronization and Communication Functions
142.7. Interrupt management functions
142.7.1. Error checking
142.8. Memory pool Management Functions
142.8.1. Error checking
142.9. Time Management Functions
142.9.1. Error checking
142.10. System Management Functions
142.10.1. Error checking
142.11. Network Support Functions
142.12. µITRON Configuration FAQ
XLI. TCP/IP Stack Support for eCos
143. Ethernet Driver Design
144. Sample Code
145. Configuring IP Addresses
146. Tests and Demonstrations
146.1. Loopback tests
146.2. Building the Network Tests
146.3. Standalone Tests
146.4. Performance Test
146.5. Interactive Tests
146.6. Maintenance Tools
147. Support Features
147.1. TFTP
147.2. DHCP
148. TCP/IP Library Reference
148.1. getdomainname
148.2. gethostname
148.3. byteorder
148.4. ethers
148.5. getaddrinfo
148.6. gethostbyname
148.7. getifaddrs
148.8. getnameinfo
148.9. getnetent
148.10. getprotoent
148.11. getrrsetbyname
148.12. getservent
148.13. if_nametoindex
148.14. inet
148.15. inet6_option_space
148.16. inet6_rthdr_space
148.17. inet_net
148.18. ipx
148.19. iso_addr
148.20. link_addr
148.21. net_addrcmp
148.22. ns
148.23. resolver
148.24. accept
148.25. bind
148.26. connect
148.27. getpeername
148.28. getsockname
148.29. getsockopt
148.30. ioctl
148.31. listen
148.32. poll
148.33. select
148.34. send
148.35. shutdown
148.36. socket
XLII. FreeBSD TCP/IP Stack port for eCos
149. Networking Stack Features
150. Freebsd TCP/IP stack port
150.1. Targets
150.2. Building the Network Stack
151. APIs
151.1. Standard networking
XLIII. eCos PPP User Guide
152. Features
153. Using PPP
154. 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
155. Installing and Configuring PPP
155.1. Including PPP in a Configuration
155.2. Configuring PPP
156. CHAT Scripts
156.1. Chat Script
156.2. ABORT Strings
156.3. TIMEOUT
156.4. Sending EOT
156.5. Escape Sequences
157. PPP Enabled Device Drivers
158. Testing
158.1. Test Programs
158.2. Test Script
XLIV. lwIP - the lightweight IP stack for eCosPro
159. lwIP overview
159.1. Introduction
159.2. lwIP sources and ports
159.3. External documentation
159.4. Licensing
160. Basic concepts
160.1. Structure
160.2. Application Programming Interfaces (APIs)
160.3. Protocol implementations
160.4. Packet data buffers
160.5. Configurability
160.6. Limitations
160.7. Quick Start
161. Port
161.1. Port status
161.2. Implementation
161.2.1. System Configuration
161.2.2. System Source
161.2.3. Threads
161.3. Extensions
161.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
162. Configuration
162.1. Configuration Overview
162.2. Configuring the lwIP stack
162.3. Performance and Footprint Tuning
162.3.1. Performance
162.3.2. Optimizations
162.3.3. Memory Footprint
163. Sequential API
163.1. Overview
163.2. Comparison with BSD sockets
163.2.1. BSD API Restrictions
163.3. Netbufs
163.4. TCP/IP thread
163.5. Usage
163.5.1. API declarations
163.5.2. Types
163.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
164. Raw API
164.1. Overview
164.2. Usage
164.3. Callbacks
tcp_arg() — Set the application connection state
164.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
164.5. Sending TCP data
tcp_write() — Enqueue data for transmission
tcp_sent() — Set callback for successful transmission
164.6. Receiving TCP data
tcp_recv() — Set callback for incoming data
tcp_recved() — Indicate receipt of data
164.7. Application polling
tcp_poll() — Set application poll callback
164.8. Closing connections, aborting connections and errors
tcp_close() — Close the connection
tcp_abort() — Abort the connection
tcp_err() — Set callback for errors
164.9. Lower layer TCP interface
164.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
164.11. System initialization
164.11.1. Initialization detail
165. Debug and Test
165.1. Debugging
165.1.1. Asserts
165.1.2. Memory Allocations
165.1.3. Statistics
165.1.4. GDB/RedBoot
165.1.5. Host Tools
165.2. Testing
165.2.1. lwipsnmp
165.2.2. lwipsntp
165.2.3. lwiperf
165.2.4. unitwrap
165.2.5. socket
165.2.6. tcpecho
165.2.7. udpecho
165.2.8. frag
165.2.9. nc_test_slave
165.2.10. httpd
165.2.11. httpd2
165.2.12. lookup
165.2.13. sys_timeout
165.2.14. lwiphttpd
XLV. Ethernet Device Support
166. Writing Ethernet Device Drivers
166.1. Generic Ethernet API
166.2. Review of the functions
166.2.1. Init function
166.2.2. Start function
166.2.3. Stop function
166.2.4. Control function
166.2.5. Can-send function
166.2.6. Send function
166.2.7. Deliver function
166.2.8. Receive function
166.2.9. Poll function
166.2.10. Interrupt-vector function
166.3. Upper Layer Functions
166.3.1. Callback Init function
166.3.2. Callback Tx-Done function
166.3.3. Callback Receive function
166.4. Calling graph for Transmission and Reception
166.4.1. Transmission
166.4.2. Receive
167. lwIP Direct Ethernet Device Driver
167.1. Introduction
167.2. API reference
167.3. Multiple direct drivers
168. CDC-EEM Target USB driver
168.1. Introduction
168.2. API
168.3. Configuration
168.3.1. Configuration Overview
168.4. Debug and Test
168.4.1. Debugging
169. RNDIS 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. Ethernet PHY Device Support
170.1. Ethernet PHY Device API
171. Synopsys DesignWare Ethernet GMAC Driver
Synopsys DesignWare Ethernet GMAC Driver — eCos Support for Synopsys DesignWare Ethernet GMAC Devices
172. Freescale ColdFire Ethernet Driver
Freescale ColdFire Ethernet Driver — eCos Support for Freescale ColdFire On-chip Ethernet Devices
173. Nios II Triple Speed Ethernet Driver
Nios II Triple Speed Ethernet Driver — eCos Support for Nios II Triple-Speed Ethernet Devices
174. SMSC LAN9118 Ethernet Driver
SMSC LAN9118 Ethernet Driver — eCos Support for SMSC LAN9118 Ethernet Devices
175. Synthetic Target Ethernet Driver
Synthetic Target Ethernet Driver — Allow synthetic target applications to perform ethernet I/O
XLVI. DNS for eCos and RedBoot
176. DNS
176.1. DNS API
176.2. DNS Client Testing
XLVII. eCosPro-SecureSockets
177. OpenSSL eCos Support
177.1. Introduction
177.1.1. Licensing, Copyrights and Patents
177.2. Configuration
177.2.1. Full Configuration
177.2.2. Default Configuration
177.2.3. Kernel Configuration
177.2.4. Serial Line Support
177.2.5. File System Dependencies
177.2.6. Configuring OpenSSL
177.3. openssl Command Tool
177.4. Thread Safety
177.5. eCos Customization
177.5.1. Random Number Support
177.5.2. BIO_diag
177.6. Tests
177.7. Limitations
178. OpenSSL Manual
178.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
178.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
178.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
179. Mbed TLS overview
179.1. Introduction
180. Configuration
180.1. Configuration Overview
180.1.1. Quick Start
181. eCos port
181.1. Overview
181.2. Entropy
182. Test Programs
182.1. Test Programs
XLIX. eCosPro-SecureShell
eCos Dropbear Port — provide ssh support
Dropbear Ssh Daemon — Ssh daemon support
Dropbear Ssh Client — Ssh client support
Dropbear Scp Client — scp client support
L. FTP Client for eCos TCP/IP Stack
183. FTP Client API and Configuration
183.1. FTP Client API
183.1.1. Support API
183.1.2. ftp_delete
183.1.3. ftpclient_printf
183.1.4. Basic FTP Client API
183.1.5. ftp_get
183.1.6. ftp_put
183.1.7. ftp_get_var
183.1.8. ftp_put_var
183.1.9. Extended FTP Client API
183.1.10. ftp_get_extended
183.1.11. ftp_put_extended
183.1.12. ftp_get_extended_var
183.1.13. ftp_put_extended_var
183.2. FTP Client Configuration
LI. FTP Server Support
Overview — Overview
FTP Server API — describe FTP server API, callback and configuration
Test Programs — describe the test programs and their host-side support
LII. Embedded HTTP Server
184. Embedded HTTP Server
184.1. Introduction
184.2. Server Organization
184.3. Server Configuration
184.4. Support Functions and Macros
184.4.1. HTTP Support
184.4.2. General HTML Support
184.4.3. Table Support
184.4.4. Forms Support
184.4.5. Predefined Handlers
184.5. System Monitor
LIII. SNMP
185. SNMP for eCos
185.1. Version
185.2. SNMP packages in the eCos source repository
185.3. MIBs supported
185.4. Changes to eCos sources
185.5. Starting the SNMP Agent
185.6. Configuring eCos
185.6.1. Version usage (v1, v2 or v3)
185.6.2. Traps
185.6.3. snmpd.conf file
185.7. Test cases
185.8. SNMP clients and package use
185.9. Unimplemented features
185.10. MIB Compiler
185.11. snmpd.conf
LIV. mDNS Responder and DNS-SD
186. mDNS overview
186.1. Introduction
187. API
187.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
187.2. Example Responder
187.3. Example DNS-SD Queries
188. Support API
188.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
189. Configuration
189.1. Configuration Overview
189.1.1. Quick Start
189.1.2. Configuring the mDNS Responder
189.1.3. Configuring the mDNS DNS-SD support
189.2. Tuning
189.2.1. Footprint
190. Debug and Test
190.1. Debugging
190.1.1. Asserts
190.1.2. Diagnostic Output
190.2. Testing
190.2.1. mdns_example
190.2.2. dnssd_example
190.2.3. mdns_testp
190.2.4. mdns_farm
190.2.5. Bonjour Conformance Test
190.2.6. DNS-SD Example
LV. NTP Client Support
Overview — Overview
NTP Client API — NTP client API and configuration
Test Programs — Describe the test programs and their host-side support
LVI. Simple Network Time Protocol Client
191. The SNTP Client
191.1. Starting the SNTP client
191.2. What it does
191.3. Configuring the unicast list of NTP servers
191.4. Warning: timestamp wrap around
191.5. The SNTP test program
LVII. WLAN
192. WLAN overview
192.1. Introduction
193. Configuration
193.1. Configuration Overview
193.2. Configuration Options
194. WLAN API
194.1. API
wlan_diag_dump_ascii — Output human-readable string
195. Testing
195.1. wlan_scan
195.2. wlan_switch
LVIII. Cypress WWD WLAN
196. Cypress WWD overview
196.1. Introduction
196.2. WICED-SDK Installation
197. Configuration
197.1. Configuration Overview
197.2. Chipset Firmware
197.3. Configuration Options
198. Platform/Variant HAL
LIX. Common Clock Services
199. Overview
199.1. Introduction
199.2. Functionality
199.3. Concepts and structure
200. Dependencies
200.1. HAL
200.2. Kernel
200.3. Wallclock (RTC)
200.4. C library and POSIX layers
201. Configuration
202. API reference
cyg_clock_get_systime() — Retrieve the current system time
cyg_clock_get_systime_res — Obtain the resolution of the system clock
cyg_clock_set_systime() — Sets the system clock to the supplied time
cyg_clock_sync_wallclock() — Force the wallclock to be updated from system time
cyg_clock_adjust_systime() — Adjust the system time
Time change notification — Registering and deregistering for notification of changes to system time
cyg_clock_sysclock_handle() — Return a handle to the system clock
Time conversions — Converting between clock ticks and calendar time
LX. Object Loader
Object Loader — eCos Support for Dynamic Module Loading
Extending the Object Loader — Extending the Object Loader
LXI. CPU load measurements
203. CPU Load Measurements
203.1. CPU Load API
203.1.1. cyg_cpuload_calibrate
203.1.2. cyg_cpuload_create
203.1.3. cyg_cpuload_delete
203.1.4. cyg_cpuload_get
203.1.5. Implementation details
203.1.6. SMP Support
LXII. gprof Profiling Support
Profiling — eCos Support for the gprof profiling tool
LXIII. gcov Test Coverage Support
Test Coverage — eCos Support for the gcov test coverage tool
LXIV. CRC Algorithms
204. CRC Functions
204.1. CRC API
204.1.1. cyg_posix_crc32
204.1.2. cyg_crc32
204.1.3. cyg_ether_crc32
204.1.4. cyg_crc16
LXV. CryptoAuthLib
205. CryptoAuthLib overview
205.1. Introduction
206. Configuration
206.1. Configuration Overview
206.1.1. Quick Start
207. eCos port
207.1. Overview
208. Test Programs
208.1. Test Programs
LXVI. LibTomCrypt Cryptography Library
LibTomCrypt Cryptography Library — Cryptography
LXVII. LibTomMath Multi-Precision Math Package
LibTomMath Multi-Precision Math Package — Multi-Precision Maths
LXVIII. BootUp ROM loader
209. BootUp overview
209.1. Introduction
209.2. Configuration
209.2.1. Platform Support
209.2.2. Building BootUp
209.3. Applications using VALID_ALT
LXIX. Bundle image support
210. Bundle overview
210.1. Introduction
210.2. Configuration
211. Bundle format
211.1. Introduction
211.2. Internal Structure
212. Bundle API
212.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
213. Host tool
213.1. Introduction
214. Bundle tests
214.1. bundle1
LXX. RedBoot User's Guide
215. Getting Started with RedBoot
215.1. More information about RedBoot on the web
215.2. Installing RedBoot
215.3. User Interface
215.4. RedBoot Editing Commands
215.5. RedBoot Command History
215.6. RedBoot Startup Mode
215.7. RedBoot Resource Usage
215.7.1. Flash Resources
215.7.2. RAM Resources
215.8. Configuring the RedBoot Environment
215.8.1. Target Network Configuration
215.8.2. Host Network Configuration
215.8.3. Verification
216. RedBoot Commands and Examples
216.1. Introduction
216.2. Common Commands
216.3. Flash Image System (FIS)
216.4. Filesystem Interface
216.5. Persistent State Flash-based Configuration and Control
216.6. Persistent State in a NAND-based environment
216.6.1. Manipulating persistent state stored on NAND
216.7. Executing Programs from RedBoot
216.8. NAND configuration commands
216.9. NAND manipulation commands
217. Rebuilding RedBoot
217.1. Introduction
217.2. Variables
217.3. Building RedBoot using ecosconfig
217.4. Rebuilding RedBoot from the eCos Configuration Tool
218. Updating RedBoot
218.1. Introduction
218.2. Load and start a RedBoot RAM instance
218.3. Update the primary RedBoot flash image
218.4. Reboot; run the new RedBoot image
219. Initial Installation
219.1. Hardware Installation
219.1.1. What to Expect
LXXI. 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
LXXII. RedBoot Extra Initialization
RedBoot Extra Initialization — provide extra RedBoot initialization
LXXIII. Unity
220. Unity overview
220.1. Introduction
221. Configuration
221.1. Configuration Overview
221.1.1. Quick Start
222. eCos port
222.1. Overview
223. Test Programs
223.1. Test Programs
LXXIV. Synthetic Target Architecture
224. 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
LXXV. ARM7/ARM9/XScale/Cortex-A Architecture
225. ARM Architectural Support
ARM Architectural HAL — eCos Support for the ARM Architecture
Configuration — Configuring the ARM Architectural HAL Package
The HAL Port — Implementation Details
226. 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
227. 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
228. 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
229. 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
230. 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
231. 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
232. NXP LPC2xxx variant HAL
Overview — Overview
On-chip subsystems and peripherals — Hardware support
The HAL Port — Implementation Details
233. 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
234. 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
235. 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
236. 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
237. Keil MCB2387 Board Support
Overview — Overview
Setup — Preparing the MCB2387 Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
238. 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
239. ST STR7XX variant HAL
Overview — Overview
On-chip Subsystems and Peripherals — Hardware Support
The HAL Port — Implementation Details
Power Management — Details
240. 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
241. 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
242. 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
243. Cogent CSB337 Board Support
Overview — Overview
Setup — Preparing the CSB337 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
244. 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
245. 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
246. 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
247. 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
248. 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
249. 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
250. 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
251. 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
252. 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
253. 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
254. 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
255. 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
256. 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
257. 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
258. 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
259. Intel IQ80321 Board Support
Overview — Overview
Setup — Preparing the IQ80321 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
260. 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
261. 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
262. 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
263. 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
264. 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
265. 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
266. 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
267. 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
268. 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
269. Atmel SAMA5D3x-CM (CPU Module) Platform HAL
SAMA5D3x-CM Platform HAL — eCos Support for the SAMA5D3x-CM CPU Module
The HAL Port — Implementation Details
270. 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
271. 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
272. Virtual Machine Support
Overview — Overview
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
273. 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
274. 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
LXXVI. Cortex-M Architecture
275. 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
276. Kinetis Variant HAL
Kinetis Variant HAL — eCos Support for the Kinetis Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
277. 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
278. 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
279. LM3S Variant HAL
LM3S Variant HAL — eCos Support for the LM3S Microprocessor Family
On-chip Subsystems and Peripherals — Hardware Support
GPIO Support — Details
280. 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
281. 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
282. 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
283. 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
284. 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
285. 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
286. 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
287. 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
288. 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
289. 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
290. 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
291. 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
292. 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
293. 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
294. 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
295. 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
296. 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
297. 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
298. 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
299. 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
300. 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
301. STM32L4R9-EVAL Platform HAL
302. 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
303. NXP MIMXRT1050-EVK Platform HAL
NXP MIMXRT1050-EVK Platform HAL — eCos Support for the MIMXRT1050-EVK Board
Setup — Preparing the MIMXRT1050-EVK Board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
LXXVII. H8300 Architecture
304. 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
LXXVIII. i386 Architecture
305. 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
306. STPC Atlas Support
STPC Atlas Processor — eCos Support for the STPC Atlas Processor
LXXIX. M68000 / ColdFire Architecture
307. M68000 / ColdFire Architectural Support
Overview — eCos Support for the M68K Family of Processors
Configuration — Configuring the M68K Architectural Package
The HAL Port — Implementation Details
308. Freescale MCFxxxx Variant Support
MCFxxxx ColdFire Processors — eCos Support for Freescale MCFxxxx Processors
309. Freescale MCF5272 Processor Support
The MCF5272 ColdFire Processor — eCos Support for the Freescale MCF5272 Processor
310. Freescale M5272C3 Board Support
Overview — Overview
Setup — Preparing the M5272C3 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
311. Freescale MCF5275 Processor Support
The MCF5275 ColdFire Processor Family — eCos Support for Freescale MCF5275 Processors
312. Freescale MCF5282 Processor Support
The MCF5282 ColdFire Processor — eCos Support for the Freescale MCF5282 Processor
313. Freescale M5282EVB Board Support
Overview — Overview
Setup — Preparing the M5282EVB board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
314. Freescale M5282LITE Board Support
Overview — Overview
Setup — Preparing the M5282LITE board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
315. 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
316. Motorola MCF521x Processor Support
The MCF521x ColdFire Processor Family — eCos Support for Freescale MCF521x Processors
317. Motorola M5213EVB Board Support
M5213EVB Board — eCos Platform HAL
318. Freescale M5208EVBe Platform HAL
Overview — Overview
Setup — Preparing the M5208EVBe board for eCos Development
Configuration — Platform-specific Configuration Options
Test Programs — Details
319. Motorola MCF532x Processor Support
The MCF532x ColdFire Processor Family — eCos Support for Freescale MCF532x Processors
320. senTec Cobra5329 Board Support
Overview — Overview
Setup — Preparing the Cobra5329 board for eCos Development
Configuration — Platform-specific Configuration Options
321. Motorola MCF520x Processor Support
The MCF520x ColdFire Processor Family — eCos Support for Freescale MCF520x Processors
LXXX. MIPS Architecture
322. MIPS Architectural HAL
MIPS Architectural HAL — eCos Support for the MIPS Architecture
Configuration — Configuring the MIPS Architectural HAL Package
The HAL Port — Implementation Details
323. 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
324. 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
325. MIPS Malta Board Support
Overview — Overview
Setup — Preparing the Malta board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
326. NXP PNX83xx Common Support
PNX83xx Processors — eCos Support for NXP PNX83xx Processors
327. NXP PNX8310 Processor Support
The NXP PNX8310 Processor — eCos Support for the NXP PNX8310 Processor
328. NXP STB200 Board Support
Overview — Overview
Setup — Preparing the STB200 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
329. NXP PNX8330 Processor Support
The NXP PNX8330 Processor — eCos Support for the NXP PNX8330 Processor
330. NXP STB220 Board Support
Overview — Overview
Setup — Preparing the STB220 board for eCos Development
Configuration — Platform-specific Configuration Options
The HAL Port — Implementation Details
LXXXI. NIOS2 Architecture
331. 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
332. 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
333. 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
334. 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
335. 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
336. 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
337. 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
338. 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
LXXXII. PowerPC Architecture
339. 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
340. 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
341. 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
342. 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
343. 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
LXXXIII. SH Architecture
344. 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
345. 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
346. 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
LXXXIV. TILE-Gx Architecture
347. 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
348. 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
196.1. Example WICED-Studio installation complete
196.2. Example WICED-Studio WiFi directory copy and rename
196.3. Example WICED-SDK installation
211.1. <bundle> image
211.2. <arbitrary> chunk
211.3. <hash> chunk
211.4. Uncompressed <item>
211.5. Compressed <item>
267.1. ROMRAM RedBoot
267.2. ROM RedBoot
268.1. On-chip RomBOOT executes
268.2. On-chip RomBOOT copies second-level boot code from NVM to on-chip SRAM
268.3. SRAM loaded second-level boot code is executed
268.4. Final application ROMRAM is located in SPI or NOR NVM
268.5. Second-level boot copies ROMRAM from NVM to DDR2-SDRAM
268.6. Application is started
268.7. Second-level boot code built with AES-256 key
268.8. Stored key is used to decrypt NVM application into RAM
268.9. Decrypted application is started
270.1. SAM-BA Board Connection
270.2. Enabling DDRAM
270.3. Enabling NAND
270.4. Programming the Second-Stage bootstrap
270.5. Programming the Application
295.1. On-chip flash
295.2. NVM bundle
295.3. BootUp and Application
295.4. Application Update image
296.1. On-chip flash
296.2. NVM bundle
296.3. BootUp and Application
296.4. Application Update image
297.1. BootUp and Application
297.2. Application Update image
303.1. Checksum of QSPI image and Execution of RedBoot
303.2. RedBoot Output
303.3. Initialise Flash
303.4. Loading RedBoot QSPI boot image into memory
303.5. RedBoot cksum of memory image
303.6. Program RedBoot into QSPI from memory image

List of Examples

1. Mounting and unmounting a JFFS2 filesystem
2. Secure erase usage
163.1. This example shows the basic mechanisms for using netbufs.
163.2. This example shows a simple use of the netbuf_ref()
163.3. This example shows how to use the netbuf_next() function
163.4. This example shows a simple use of netbuf_copy()
163.5. This example shows how to open a TCP server on port 2000
163.6. This example demonstrates usage of the netconn_recv() function
163.7. This example demonstrates basic usage of the netconn_write() function
163.8. This example demonstrates basic usage of the netconn_send() function
179.1. Apache 2.0 License
182.1. lb_ssl test run
190.1. doc/bct_stm32f207_result.txt
205.1. “AS IS” License
215.1. Sample DHCP configuration file
215.2. Sample /etc/named.conf for most Linux distributions
220.1. “MIT” License
228.1. at91sam7a2ek Real-time characterization
229.1. at91sam7a3ek Real-time characterization
230.1. at91sam7sek Real-time characterization
231.1. at91sam7xek Real-time characterization
235.1. ea_quickstart Real-time characterization
236.1. iar_kickstart Real-time characterization
242.1. atmel-at91rm9200-kits Real-time characterization
244.1. dnp_sk23 Real-time characterization
245.1. kb9200 Real-time characterization
249.1. sam9260ek Real-time characterization
250.1. sam9261ek Real-time characterization
251.1. sam9263ek Real-time characterization
252.1. sam9g20ek Real-time characterization
253.1. sam9g45ek Real-time characterization
256.1. zoom_l138 Real-time characterization
258.1. mcimx25x Real-time characterization
265.1. bcm56150_ref Real-time characterization
266.1. cyclone5_sx Real-time characterization
269.1. sama5d3x_cm Real-time characterization
270.1. sama5d3xpld Real-time characterization
271.1. Raspberry Pi3 Real-time characterization
273.1. VM Real-time characterization
274.1. VM Real-time characterization
277.1. twr_k60n512 Real-time characterization
278.1. twr_k70f120m Real-time characterization
284.1. sam4e_ek Real-time characterization
285.1. samv71-XULT Real-time characterization
289.1. stm32x0g_eval Real-time characterization
290.1. stm32f429i_disco Real-time characterization
291.1. stm32f746g_disco Real-time characterization
292.1. stm32h735_disco Real-time characterization
293.1. nucleo144_stm32h723 Real-time characterization
294.1. stm32f4dis Real-time characterization
295.1. stm324x9i_eval Real-time characterization
296.1. stm32f7xx_eval Real-time characterization
297.1. stm32l476_disco Real-time characterization
298.1. bcm943362wcd4 Real-time characterization
299.1. bcm943364wcd1 Real-time characterization
300.1. stm32l4r9_disco Real-time characterization
303.1. MIMXRT1050-EVK Real-time characterization
317.1. m5213evb Real-time characterization
340.1. ads512101 Real-time characterization
341.1. mpc5554demo Real-time characterization
342.1. mpc8309kit Real-time characterization