eCosPro Reference Manual
Copyright © 1998-2011 Free Software Foundation, Inc
Copyright © 2003-2023 eCosCentric Limited
18 March 2024
About this reference manual
This reference manual is for eCos and eCosPro. It forms part of the eCosPro Developer's kit and includes documentation of the standard features of eCos as well documentation of eCosPro libraries and runtime features. Not all the eCosPro features or libraries documented in this reference manual may be available in the runtime code due to licensing restrictions. Some eCosPro features are subject to the eCosPro Evaluation License and require seperate licensing exclusively from eCosCentric when included in a product.
Table of Contents
- I. The eCos Kernel
- Kernel Overview — Overview of the eCos Kernel
- SMP Support — Support Symmetric Multiprocessing Systems
- Thread creation — Create a new thread
- Thread information — Get basic thread information
- Thread control — Control whether or not a thread is running
- Thread termination — Allow threads to terminate
- Thread priorities — Examine and manipulate thread priorities
- Per-thread data — Manipulate per-thread data
- Thread destructors — Call functions on thread termination
- Exception handling — Handle processor exceptions
- Counters — Count event occurrences
- Clocks — Provide system clocks
- Alarms — Run an alarm function when a number of events have occurred
- Mutexes — Synchronization primitive
- Condition Variables — Synchronization primitive
- Semaphores — Synchronization primitive
- Mail boxes — Synchronization primitive
- Event Flags — Synchronization primitive
- Spinlocks — Low-level Synchronization Primitive
- Scheduler Control — Control the state of the scheduler
- Interrupt Handling — Manage interrupt handlers
- Kernel Real-time Characterization — Measure the performance of the eCos kernel
- Kernel thread-aware debugging — Overview of eCos Kernel thread-aware debugging
- Kernel and infrastructure instrumentation — Overview of eCos Kernel and Infrastructure instrumentation
- II. The eCos Hardware Abstraction Layer (HAL)
- 1. Introduction
- 2. Architecture, Variant and Platform
- 3. General principles
- 4. HAL Interfaces
- 4.1. Base Definitions
- 4.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.4. Clocks and Timers
- 4.5. HAL I/O
- 4.6. HAL Unique-ID
- 4.7. Cache Control
- 4.8. Linker Scripts
- 4.9. Diagnostic Support
- 4.10. SMP Support
- 5. Exception Handling
- 6. HAL GDB File I/O Routines
- HAL GDB File I/O Routines — access host file system
- 7. Porting Guide
- 8. Future developments
- III. The ISO Standard C and Math Libraries
- 9. C and math library overview
- 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.4.1.
- 10.5. C11 specific headers
- IV. eCosPro Standard C++ library support package
- 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
- 18. How to Write a Driver
- 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
- VIII. FAT File System Support
- IX. Multimedia File System
- X. Disk IO Package
- 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
- XV. eCos NAND I/O
- XVI. NAND Device Drivers
- 58. Samsung K9 family NAND chips
- 59. ST Microelectronics NANDxxxx3a chips
- 60. Micron MT29F family NAND chips
- 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
- 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
- 63. The legacy Version 1 eCos FLASH API
- 63.1. FLASH user API
- 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
- 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
- XXII. SPI Support
- 72. SPI Support
- Overview — eCos Support for SPI, the Serial Peripheral Interface
- SPI Interface — allow applications and other packages to access SPI devices
- Porting to New Hardware — Adding SPI support to new hardware
- 73. Freescale MCFxxxx ColdFire QSPI Bus Driver
- Freescale MCFxxxx Coldfire QSPI Bus Driver — eCos Support for the Freescale Coldfire QSPI Bus
- 74. Microchip (Atmel) USART-as-SPI Bus Driver
- Microchip (Atmel) SAM E70/S70/V70/V71 USART-as-SPI Bus Driver — eCos Support for the Microchip (Atmel) USART-as-SPI Bus
- XXIII. I²C Support
- 75. I²C Support
- Overview — eCos Support for I²C, the Inter IC Bus
- I²C Interface — allow applications and other packages to access I²C devices
- Porting to New Hardware — Adding I²C support to new hardware
- 76. Freescale MCFxxxx ColdFire I2C Bus Driver
- Freescale MCFxxxx Coldfire I2C Bus Driver — eCos Support for the Freescale Coldfire I2C Bus
- XXIV. ADC Support
- 77. ADC Support
- eCos Support for Analog/Digital Converters — Overview
- ADC Device Drivers — ADC Device Drivers
- 78. STM32 ADC Driver
- STM32 ADC Driver — ADC Driver
- 79. STR7XX ADC Driver
- STR7XX ADC Driver — ADC Driver
- 80. TSC ADC Driver
- TSC ADC Driver — ADC Driver
- 81. Atmel AFEC (ADC) Driver
- Atmel AFEC ADC Driver — ADC Driver
- 82. NXP i.MX RT ADC Driver
- NXP i.MX RT ADC Driver — ADC Driver
- XXV. Pulse Width Modulation (PWM) Support
- 83. PWM Support
- Overview — eCos Support for PWM, the Inter IC Bus
- XXVI. Framebuffer Support
- 84. Framebuffer Support
- Overview — eCos Support for Framebuffer Devices
- Framebuffer Parameters — determining framebuffer capabilities
- Framebuffer Control Operations — managing a framebuffer
- Framebuffer Colours — formats and palette management
- Framebuffer Drawing Primitives — updating the display
- Framebuffer Pixel Manipulation — iterating over the display
- Writing a Framebuffer Device Driver — writing a new framebuffer device driver
- 85. CSB337/900 Framebuffer Device Driver
- CSB337/900 Framebuffer Device Driver — eCos framebuffer support for a CSB337/900
- 86. i.MXxx Framebuffer Device Driver
- i.MXxx Framebuffer Device Driver — eCos Support for the i.MXxx framebuffer
- 87. iPAQ Framebuffer Device Driver
- iPAQ Framebuffer Device Driver — eCos Support for the iPAQ framebuffer
- 88. PC VGA Framebuffer Device Driver
- PC VGA Framebuffer Device Driver — eCos Support for PC VGA Cards
- 89. Synthetic Target Framebuffer Device
- Synthetic Target Framebuffer Device — Emulate framebuffer hardware in the synthetic target
- XXVII. CAN Support
- 90. CAN Support
- Overview — eCos Support for CAN, the Controller Area Network
- CAN Interface — allow applications and other packages to access CAN devices
- Configuration — CAN subsystem configuration
- Device Drivers — Writing new CAN device drivers
- 91. NXP FlexCAN CAN Driver
- NXP FlexCAN CAN Driver — CAN Driver
- 92. FlexCAN CAN Driver
- FlexCAN CAN Driver — CAN Driver
- 93. MSCAN CAN Driver
- MSCAN CAN Driver — CAN Driver
- 94. LPC2XXXX CAN Driver
- LPC2XXX CAN Driver — CAN Driver
- 95. Atmel SAM CAN Driver
- Atmel SAM CAN Driver — CAN Driver
- 96. Atmel MCAN CAN Driver
- Atmel MCAN CAN Driver — CAN Driver
- 97. SJA1000 CAN Driver
- SJA1000 CAN Driver — CAN Driver
- 98. BXCAN CAN Driver
- BXCAN CAN Driver — CAN Driver
- 99. STR7XX CAN Driver
- STR7XX CAN Driver — CAN Driver
- XXVIII. Coherent Connection Bus
- XXIX. STM32 Coherent Connection Bus Driver
- XXX. MODBUS
- 108. MODBUS overview
- 109. Configuration
- 110. API Overview
- 110.1. Application API
- cyg_modbus_server_start — Start MODBUS server
- cyg_modbus_server_stop — Stop MODBUS server
- 110.2. Backend API
- cyg_modbus_response — Provide MODBUS response
- cyg_modbus_raw_pdu — Access raw PDU buffer
- cyg_modbus_response_nocopy — Provide MODBUS response (no copy)
- cyg_modbus_response_exception — Provide MODBUS exception response
- cyg_modbus_get_uid — Read “Unit ID” of request
- 110.3. ModbusTCP specific API
- cyg_modbus_acm_add — Add client address to Access Control Mechanism pool
- cyg_modbus_acm_remove — Remove ACM registered client address
- 110.4. MODBUS Exceptions
- 110.5. Backend Interface
- cyg_mbop_read_discrete_inputs — Read discrete inputs
- cyg_mbop_read_coils — Read coils
- cyg_mbop_write_single_coil — Write single coil
- cyg_mbop_write_multiple_coils — Write multiple coils
- cyg_mbop_read_input_regs — Read input registers
- cyg_mbop_read_holding_regs — Read holding registers
- cyg_mbop_write_single_reg — Write single holding register
- cyg_mbop_write_multiple_regs — Write multiple holding registers
- cyg_mbop_rw_multiple_regs — Read and/or write multiple holding registers
- cyg_mbop_mask_reg — Mask holding register
- cyg_mbop_read_fifo_queue — Read FIFO contents
- cyg_mbop_read_file_record — Read file records
- cyg_mbop_write_file_record — Write file records
- cyg_mbop_read_id — Return specific extended device ID
- cyg_mbop_canopen — Perform CANOPEN operation
- 110.6. Example backend
- 111. Internals
- 112. Debug and Test
- XXXI. Direct Memory Access Controller (DMAC) Device Drivers
- 113. Atmel DMA Controller (DMAC)
- Atmel DMAC Driver — eCos Support for the Atmel DMA Controller
- 114. Atmel DMA Controller (XDMAC)
- Atmel XDMAC Driver — eCos Support for the Atmel XDMAC Controller
- XXXII. RPMSG Support
- Overview — eCosPro Support for RPMSG
- RPMSG Application API — Functions
- XXXIII. Serial Device Drivers
- 115. Freescale MCFxxxx Serial Driver
- MCFxxxx Serial Driver — eCos Support for the MCFxxxx On-chip Serial Devices
- 116. NXP PNX8310 Serial Driver
- PNX8310 Serial Driver — eCos Support for the PNX8310 On-chip UARTs
- 117. Nios II Avalon UART Serial Driver
- Nios II Avalon UART Serial Driver — eCos Serial Driver for Nios II Avalon UARTs
- XXXIV. USB Support
- Overview — eCosPro Support for USB
- Configuration — USB System Configuration
- Transfer Objects — Structure and Interface
- Host Device Objects — Structure and Interface
- Class Drivers — Structure and Interface
- Host Controller Drivers — Structure and Interface
- Target Objects — Structure and Interface
- Peripheral Controller Drivers — Structure and Interface
- XXXV. USB Serial Support
- 118. USB Serial Support
- Overview — eCosPro Support for USB Serial devices
- 119. USB Target CDC ACM Protocol Driver
- Overview — eCosPro Support for CDC ACM Protocol in Peripheral Mode
- 120. USB Host CDC ACM Protocol Driver
- Overview — eCosPro Support for CDC ACM Protocol in Host Mode
- 121. USB Host FTDI Protocol Driver
- Overview — eCosPro Support for FTDI Protocol in Host Mode
- XXXVI. VirtIO Support
- Overview — eCosPro Support for VirtIO
- Virtio API — Functions
- XXXVII. Wallclock Device Drivers
- 122. Wallclock Support
- Wallclock support — eCos Support Wallclock devices
- C API — Details
- 123. Dallas DS1302 Wallclock Device Driver
- Dallas DS1302 Wallclock Device Driver — eCos Support for the Dallas DS1302 Real-Time Clock
- 124. Dallas DS1306 Wallclock Device Driver
- Dallas DS1306 Wallclock Device Driver — eCos Support for the Dallas DS1306 Real-Time Clock
- 125. Dallas DS1307 Wallclock Device Driver
- Dallas DS1307 Wallclock Device Driver — eCos Support for the Dallas DS1307 Serial Real-Time Clock
- 126. Dallas DS1390 Wallclock Device Driver
- Dallas DS1390 Wallclock Device Driver — eCos Support for the Dallas DS1390 Serial Real-Time Clock
- 127. Freescale MCFxxxx On-Chip Wallclock Device Driver
- Freescale MCFxxxx On-Chip Wallclock Device Driver — eCos Support for the Freescale MCFxxxx On-Chip Real-Time Clock
- 128. Intersil ISL1208 Wallclock Device Driver
- Intersil ISL1208 Wallclock Device Driver — eCos Support for the Intersil ISL1208 Real-Time Clock
- 129. Intersil ISL12028 Wallclock Device Driver
- Intersil ISL12028 Wallclock Device Driver — eCos Support for the Intersil ISL12028 Real-Time Clock
- 130. ST M41TXX Wallclock Device Driver
- ST M41TXX Wallclock Device Driver — eCos Support for the ST M41TXX Serial Real-Time Clock
- 131. ST M48T Wallclock Device Driver
- ST M48T Wallclock Device Driver — eCos Support for the ST M48T TimeKeeper SRAM chips and compatibles
- XXXVIII. Watchdog Drivers
- 132. Freescale Kinetis Watchdog Driver
- Kinetis Watchdog Driver — eCos Support for the Kinetis on-chip Watchdog timer device (WDOG)
- 133. Freescale MCFxxxx SCM Watchdog Driver
- MCFxxxx SCM Watchdog Driver — eCos Support for the MCFxxxx SCM On-chip Watchdog Device
- 134. Freescale MCFxxxx Watchdog Driver
- MCFxxxx Watchdog Driver — eCos Support for the MCFxxxx On-chip Watchdog Device
- 135. Freescale MCF5272 Watchdog Driver
- MCF5272 Watchdog Driver — eCos Support for the MCF5272 On-chip Watchdog Device
- 136. Freescale MCF5282 Watchdog Driver
- MCF5282 Watchdog Driver — eCos Support for the MCF5282 On-chip Watchdog Device
- 137. Freescale MCF532x Watchdog Driver
- MCF532x Watchdog Driver — eCos Support for the MCF532x On-chip Watchdog Device
- 138. Nios II Avalon Timer Watchdog Driver
- Nios II Avalon Timer Watchdog Driver — eCos Support for a Nios II Avalon Timer-based Watchdog Device
- 139. NXP PNX8310 Watchdog Driver
- PNX8310 Watchdog Driver — eCos Support for the PNX8310 On-chip Watchdog Device
- 140. NXP PNX8330 Watchdog Driver
- PNX8330 Watchdog Driver — eCos Support for the PNX8330 On-chip Watchdog Device
- 141. Synthetic Target Watchdog Device
- Synthetic Target Watchdog Device — Emulate watchdog hardware in the synthetic target
- XXXIX. eCos POSIX compatibility layer
- 142. POSIX Standard Support
- 142.1. Process Primitives [POSIX Section 3]
- 142.2. Process Environment [POSIX Section 4]
- 142.3. Files and Directories [POSIX Section 5]
- 142.4. Input and Output [POSIX Section 6]
- 142.5. Device and Class Specific Functions [POSIX Section 7]
- 142.6. C Language Services [POSIX Section 8]
- 142.7. System Databases [POSIX Section 9]
- 142.8. Data Interchange Format [POSIX Section 10]
- 142.9. Synchronization [POSIX Section 11]
- 142.10. Memory Management [POSIX Section 12]
- 142.11. Execution Scheduling [POSIX Section 13]
- 142.12. Clocks and Timers [POSIX Section 14]
- 142.13. Message Passing [POSIX Section 15]
- 142.14. Thread Management [POSIX Section 16]
- 142.15. Thread-Specific Data [POSIX Section 17]
- 142.16. Thread Cancellation [POSIX Section 18]
- 142.17. Non-POSIX Functions
- References and Bibliography
- XL. µITRON
- 143. µITRON API
- 143.1. Introduction to µITRON
- 143.2. µITRON and eCos
- 143.3. Task Management Functions
- 143.4. Task-Dependent Synchronization Functions
- 143.5. Synchronization and Communication Functions
- 143.6. Extended Synchronization and Communication Functions
- 143.7. Interrupt management functions
- 143.8. Memory pool Management Functions
- 143.9. Time Management Functions
- 143.10. System Management Functions
- 143.11. Network Support Functions
- 143.12. µITRON Configuration FAQ
- XLI. TCP/IP Stack Support for eCos
- 144. Ethernet Driver Design
- 145. Sample Code
- 146. Configuring IP Addresses
- 147. Tests and Demonstrations
- 148. Support Features
- 149. TCP/IP Library Reference
- 149.1. getdomainname
- 149.2. gethostname
- 149.3. byteorder
- 149.4. ethers
- 149.5. getaddrinfo
- 149.6. gethostbyname
- 149.7. getifaddrs
- 149.8. getnameinfo
- 149.9. getnetent
- 149.10. getprotoent
- 149.11. getrrsetbyname
- 149.12. getservent
- 149.13. if_nametoindex
- 149.14. inet
- 149.15. inet6_option_space
- 149.16. inet6_rthdr_space
- 149.17. inet_net
- 149.18. ipx
- 149.19. iso_addr
- 149.20. link_addr
- 149.21. net_addrcmp
- 149.22. ns
- 149.23. resolver
- 149.24. accept
- 149.25. bind
- 149.26. connect
- 149.27. getpeername
- 149.28. getsockname
- 149.29. getsockopt
- 149.30. ioctl
- 149.31. listen
- 149.32. poll
- 149.33. select
- 149.34. send
- 149.35. shutdown
- 149.36. socket
- XLII. FreeBSD TCP/IP Stack port for eCos
- XLIII. eCos PPP User Guide
- 153. Features
- 154. Using PPP
- 155. PPP Interface
- cyg_ppp_options_init() — Initialize PPP link options
- cyg_ppp_up() — Bring PPP connection up
- cyg_ppp_down() — Bring PPP connection down
- cyg_ppp_wait_up() — Wait for PPP connection to come up
- cyg_ppp_wait_down() — Wait for PPP connection to terminate
- cyg_ppp_chat() — Execute chat script
- 156. Installing and Configuring PPP
- 157. CHAT Scripts
- 158. PPP Enabled Device Drivers
- 159. Testing
- XLIV. lwIP - the lightweight IP stack for eCosPro
- 160. lwIP overview
- 161. Basic concepts
- 162. Port
- 162.1. Port status
- 162.2. Implementation
- 162.3. Extensions
- 162.4. eCos API reference
- cyg_lwip_init — Initialise lwIP network stack
- cyg_lwip_netif_print_info — Output network interface address information
- cyg_net_eth_phy_ctx_acquire — Allocate PHY event context
- cyg_net_eth_phy_dsr — Notify lwIP stack of PHY event
- cyg_lwip_tick_to_msec — Convert eCos kernel clock ticks to millisecond count
- cyg_lwip_msec_to_tick — Convert millisecond count to eCos kernel clock ticks
- cyg_lwip_statistics — Statistics output
- 163. Configuration
- 164. Sequential API
- 164.1. Overview
- 164.2. Comparison with BSD sockets
- 164.3. Netbufs
- 164.4. TCP/IP thread
- 164.5. Usage
- 164.6. API reference
- netbuf_new() — Allocate a netbuf structure
- netbuf_delete() — Deallocate a netbuf structure
- netbuf_alloc() — Allocate space in a netbuf
- netbuf_free() — Deallocate buffer memory associated with a netbuf
- netbuf_ref() — Associate a data pointer with a netbuf
- netbuf_len() — Obtain the total length of a netbuf
- netbuf_data() — Obtain a pointer to netbuf data
- netbuf_next() — Traverse internal fragments in a netbuf
- netbuf_first() — Reset fragment pointer to start of netbuf
- netbuf_copy() — Copy all netbuf data to memory pointer
- netbuf_copy_partial() — Copy some netbuf data to memory pointer
- netbuf_chain() — Chain two netbufs together
- netbuf_fromaddr() — Obtain the sender's IPv4 address for a netbuf
- netbuf_fromaddr_ip6() — Obtain the sender's IPv6 address for a netbuf
- netbuf_fromport() — Obtain the sender's port number for a netbuf
- netconn_new() — Create a new connection structure
- netconn_new_with_callback() — Create a new connection structure with a callback
- netconn_new_with_proto_and_callback() — Create a new connection structure with a callback for a specific protocol
- netconn_delete() — Deallocate a netconn
- netconn_type() — Obtain the type of netconn
- netconn_peer() — Obtain the remote host IP address/port of a netconn
- netconn_addr() — Obtain the local host IPv4 address/port of a netconn
- netconn_bind() — Set local IP address/port of a netconn
- netconn_bind_ip6() — Set local IPv6 address/port of a netconn
- netconn_connect() — Connect netconn to remote peer
- netconn_connect_ip6() — Connect netconn to remote peer
- netconn_disconnect() — Disconnect UDP connection
- netconn_listen() — Make a listening TCP netconn
- netconn_accept() — Wait for incoming connections
- netconn_recv() — Wait for data
- netconn_recv_tcp_pbuf() — Wait for data
- netconn_recved() — Update receive window
- netconn_write() — Send data on TCP connection
- netconn_send() — Send data on UDP connection
- netconn_close() — Close a connection
- netconn_shutdown() — Shutdown a connection
- netconn_set_noautorecved() — Set the connection no-auto-recved state
- netconn_get_noautorecved() — Get the connection no-auto-recved state
- netconn_err() — Obtain connection error status
- 165. Raw API
- 165.1. Overview
- 165.2. Usage
- 165.3. Callbacks
- tcp_arg() — Set the application connection state
- 165.4. TCP connection setup
- tcp_new() — Create a new TCP PCB
- tcp_bind() — Bind PCB to local IP address and port
- tcp_listen() — Make PCB listen for incoming connections
- tcp_accept() — Set callback used for new incoming connections
- tcp_connect() — Open connection to remote host
- 165.5. Sending TCP data
- tcp_write() — Enqueue data for transmission
- tcp_sent() — Set callback for successful transmission
- 165.6. Receiving TCP data
- tcp_recv() — Set callback for incoming data
- tcp_recved() — Indicate receipt of data
- 165.7. Application polling
- tcp_poll() — Set application poll callback
- 165.8. Closing connections, aborting connections and errors
- tcp_close() — Close the connection
- tcp_abort() — Abort the connection
- tcp_err() — Set callback for errors
- 165.9. Lower layer TCP interface
- 165.10. UDP interface
- udp_new() — Create a new UDP pcb
- udp_remove() — Remove a UDP pcb
- udp_bind() — Bind PCB to local IP address and port
- udp_connect() — Set remote UDP peer
- udp_disconnect() — Set remote UDP peer
- udp_send() — Send UDP packet
- udp_recv() — Set callback for incoming UDP data
- 165.11. System initialization
- 166. Debug and Test
- XLV. Ethernet Device Support
- 167. Writing Ethernet Device Drivers
- 168. lwIP Direct Ethernet Device Driver
- 169. CDC-EEM Target USB driver
- 170. RNDIS Target USB driver
- 171. Ethernet PHY Device Support
- 172. Synopsys DesignWare Ethernet GMAC Driver
- Synopsys DesignWare Ethernet GMAC Driver — eCos Support for Synopsys DesignWare Ethernet GMAC Devices
- 173. Freescale ColdFire Ethernet Driver
- Freescale ColdFire Ethernet Driver — eCos Support for Freescale ColdFire On-chip Ethernet Devices
- 174. Nios II Triple Speed Ethernet Driver
- Nios II Triple Speed Ethernet Driver — eCos Support for Nios II Triple-Speed Ethernet Devices
- 175. SMSC LAN9118 Ethernet Driver
- SMSC LAN9118 Ethernet Driver — eCos Support for SMSC LAN9118 Ethernet Devices
- 176. Synthetic Target Ethernet Driver
- Synthetic Target Ethernet Driver — Allow synthetic target applications to perform ethernet I/O
- XLVI. DNS for eCos and RedBoot
- XLVII. eCosPro-SecureSockets
- 178. OpenSSL eCos Support
- 179. OpenSSL Manual
- 179.1. openssl Command Line Tool
- openssl — OpenSSL command line tool
- asn1parse — ASN.1 parsing tool
- ca — sample minimal CA application
- ciphers — SSL cipher display and cipher list tool.
- cms — CMS utility
- crl — CRL utility
- crl2pkcs7 — Create a PKCS#7 structure from a CRL and certificates.
- dgst — message digests
- dhparam — DH parameter manipulation and generation
- dsa — DSA key processing
- dsaparam — DSA parameter manipulation and generation
- ec — EC key processing
- ecparam — EC parameter manipulation and generation
- enc — symmetric cipher routines
- errstr — lookup error codes
- gendsa — generate a DSA private key from a set of parameters
- genpkey — generate a private key
- genrsa — generate an RSA private key
- nseq — create or examine a netscape certificate sequence
- ocsp — Online Certificate Status Protocol utility
- passwd — compute password hashes
- pkcs12 — PKCS#12 file utility
- pkcs7 — PKCS#7 utility
- pkcs8 — PKCS#8 format private key conversion tool
- pkey — public or private key processing tool
- pkeyparam — public key algorithm parameter processing tool
- pkeyutl — public key algorithm utility
- rand — generate pseudo-random bytes
- req — PKCS#10 certificate request and certificate generating utility.
- rsa — RSA key processing tool
- rsautl — RSA utility
- s_client — SSL/TLS client program
- s_server — SSL/TLS server program
- s_time — SSL/TLS performance timing program
- sess_id — SSL/TLS session handling utility
- smime — S/MIME utility
- speed — test library performance
- spkac — SPKAC printing and generating utility
- ts — Time Stamping Authority tool (client/server)
- verify — Utility to verify certificates.
- version — print OpenSSL version information
- x509 — Certificate display and signing utility
- config — OpenSSL CONF library configuration files
- x509v3_config — X509 V3 certificate extension configuration format
- 179.2. Cryptographic functions
- crypto — OpenSSL cryptographic library
- ASN1_generate_nconf — ASN1 generation functions
- ASN1_OBJECT_new — object allocation functions
- ASN1_STRING_length — ASN1_STRING utility functions
- ASN1_STRING_new — ASN1_STRING allocation functions
- ASN1_STRING_print_ex — ASN1_STRING output routines.
- bio — I/O abstraction
- BIO_ctrl — BIO control operations
- BIO_f_base64 — base64 BIO filter
- BIO_f_buffer — buffering BIO
- BIO_f_cipher — cipher BIO filter
- BIO_find_type — BIO chain traversal
- BIO_f_md — message digest BIO filter
- BIO_f_null — null filter
- BIO_f_ssl — SSL BIO
- BIO_new_CMS — CMS streaming filter BIO
- BIO_new — BIO allocation and freeing functions
- BIO_push — add and remove BIOs from a chain.
- BIO_read — BIO I/O functions
- BIO_s_accept — accept BIO
- BIO_s_bio — BIO pair BIO
- BIO_s_connect — connect BIO
- BIO_set_callback — BIO callback functions
- BIO_s_fd — file descriptor BIO
- BIO_s_file — FILE bio
- BIO_should_retry — BIO retry functions
- BIO_s_mem — memory BIO
- BIO_s_null — null data sink
- BIO_s_socket — socket BIO
- blowfish — Blowfish encryption
- bn — multiprecision integer arithmetics
- bn_internal — BIGNUM library internal functions
- BN_add — arithmetic operations on BIGNUMs
- BN_add_word — arithmetic functions on BIGNUMs with integers
- BN_BLINDING_new — blinding related BIGNUM functions.
- BN_bn2bin — format conversions
- BN_cmp — BIGNUM comparison and test functions
- BN_copy — copy BIGNUMs
- BN_CTX_new — allocate and free BN_CTX structures
- BN_CTX_start — use temporary BIGNUM variables
- BN_generate_prime — generate primes and test for primality
- BN_mod_inverse — compute inverse modulo n
- BN_mod_mul_montgomery — Montgomery multiplication
- BN_mod_mul_reciprocal — modular multiplication using reciprocal
- BN_new — allocate and free BIGNUMs
- BN_num_bytes — get BIGNUM size
- BN_rand — generate pseudo-random number
- BN_set_bit — bit operations on BIGNUMs
- BN_swap — exchange BIGNUMs
- BN_zero — BIGNUM assignment operations
- buffer — simple character array structure, with some standard C library equivalents
- CMS_add0_cert — CMS certificate and CRL utility functions
- CMS_add1_recipient_cert — add recipients to a CMS enveloped data structure
- CMS_compress — create a CMS CompressedData structure
- CMS_decrypt — decrypt content from a CMS envelopedData structure
- CMS_encrypt — create a CMS envelopedData structure
- CMS_final — finalise a CMS_ContentInfo structure
- CMS_get0_RecipientInfos — CMS envelopedData RecipientInfo routines
- CMS_get0_SignerInfos — CMS signedData signer functions.
- CMS_get0_type — get and set CMS content types and content
- CMS_get1_ReceiptRequest — CMS signed receipt request functions.
- CMS_add1_signer — add a signer to a CMS_ContentInfo signed data structure.
- CMS_sign — create a CMS SignedData structure
- CMS_sign_receipt — create a CMS signed receipt
- CMS_uncompress — uncompress a CMS CompressedData structure
- CMS_verify — verify a CMS SignedData structure
- CMS_verify_receipt — verify a CMS signed receipt
- CONF_modules_free — OpenSSL configuration cleanup functions
- CONF_modules_load_file — OpenSSL configuration functions
- CRYPTO_set_ex_data — internal application specific data functions
- d2i_ASN1_OBJECT — ASN1 OBJECT IDENTIFIER functions
- d2i_CMS_ContentInfo — CMS ContentInfo functions
- d2i_DHparams — PKCS#3 DH parameter functions.
- d2i_DSAPublicKey — DSA key encoding and parsing functions.
- d2i_ECPrivateKey — Encode and decode functions for saving and reading EC_KEY structures
- d2i_PKCS8PrivateKey — PKCS#8 format private key functions
- d2i_PrivateKey — decode and encode functions for reading and saving EVP_PKEY structures.
- d2i_RSAPublicKey — RSA public and private key encoding functions.
- d2i_X509_ALGOR — AlgorithmIdentifier functions.
- d2i_X509_CRL — PKCS#10 certificate request functions.
- d2i_X509_NAME — X509_NAME encoding functions
- d2i_X509 — X509 encode and decode functions
- d2i_X509_REQ — PKCS#10 certificate request functions.
- d2i_X509_SIG — DigestInfo functions.
- des — DES encryption
- des_modes — the variants of DES and other crypto algorithms of OpenSSL
- dh — Diffie-Hellman key agreement
- DH_generate_key — perform Diffie-Hellman key exchange
- DH_generate_parameters — generate and check Diffie-Hellman parameters
- DH_get_ex_new_index — add application specific data to DH structures
- DH_new — allocate and free DH objects
- DH_set_method — select DH method
- DH_size — get Diffie-Hellman prime size
- dsa — Digital Signature Algorithm
- DSA_do_sign — raw DSA signature operations
- DSA_dup_DH — create a DH structure out of DSA structure
- DSA_generate_key — generate DSA key pair
- DSA_generate_parameters — generate DSA parameters
- DSA_get_ex_new_index — add application specific data to DSA structures
- DSA_new — allocate and free DSA objects
- DSA_set_method — select DSA method
- DSA_SIG_new — allocate and free DSA signature objects
- DSA_sign — DSA signatures
- DSA_size — get DSA signature size
- ecdsa — Elliptic Curve Digital Signature Algorithm
- engine — ENGINE cryptographic module support
- err — error codes
- ERR_clear_error — clear the error queue
- ERR_error_string — obtain human-readable error message
- ERR_get_error — obtain error code and data
- ERR_GET_LIB — get library, function and reason code
- ERR_load_crypto_strings — load and free error strings
- ERR_load_strings — load arbitrary error strings
- ERR_print_errors — print error messages
- ERR_put_error — record an error
- ERR_remove_state — free a thread's error queue
- ERR_set_mark — set marks and pop errors until mark
- evp — high-level cryptographic functions
- EVP_BytesToKey — password based encryption routine
- EVP_DigestInit — EVP digest routines
- EVP_DigestSignInit — EVP signing functions
- EVP_DigestVerifyInit — EVP signature verification functions
- EVP_EncodeInit — EVP base 64 encode/decode routines
- EVP_EncryptInit — EVP cipher routines
- EVP_OpenInit — EVP envelope decryption
- EVP_PKEY_cmp — public key parameter and comparison functions
- EVP_PKEY_CTX_ctrl — algorithm specific control operations
- EVP_PKEY_CTX_new — public key algorithm context functions.
- EVP_PKEY_decrypt — decrypt using a public key algorithm
- EVP_PKEY_derive — derive public key algorithm shared secret.
- EVP_PKEY_encrypt — encrypt using a public key algorithm
- EVP_PKEY_get_default_digest — get default signature digest
- EVP_PKEY_keygen — key and parameter generation functions
- EVP_PKEY_new — private key allocation functions.
- EVP_PKEY_print_private — public key algorithm printing routines.
- EVP_PKEY_set1_RSA — EVP_PKEY assignment functions.
- EVP_PKEY_sign — sign using a public key algorithm
- EVP_PKEY_verify — signature verification using a public key algorithm
- EVP_PKEY_verify_recover — recover signature using a public key algorithm
- EVP_SealInit — EVP envelope encryption
- EVP_SignInit — EVP signing functions
- EVP_VerifyInit — EVP signature verification functions
- hmac — HMAC message authentication code
- i2d_CMS_bio_stream — output CMS_ContentInfo structure in BER format.
- i2d_PKCS7_bio_stream — output PKCS7 structure in BER format.
- lhash — dynamic hash table
- lh_stats — LHASH statistics
- md5 — MD2, MD4, and MD5 hash functions
- mdc2 — MDC2 hash function
- OBJ_nid2obj — ASN1 object utility functions
- OpenSSL_add_all_algorithms — add algorithms to internal table
- OPENSSL_Applink — glue between OpenSSL BIO and Win32 compiler run-time
- OPENSSL_config — simple OpenSSL configuration functions
- OPENSSL_ia32cap — finding the IA-32 processor capabilities
- OPENSSL_load_builtin_modules — add standard configuration modules
- OPENSSL_VERSION_NUMBER — get OpenSSL version number
- pem — PEM routines
- PEM_write_bio_CMS_stream — output CMS_ContentInfo structure in PEM format.
- PEM_write_bio_PKCS7_stream — output PKCS7 structure in PEM format.
- PKCS12_create — create a PKCS#12 structure
- PKCS12_parse — parse a PKCS#12 structure
- PKCS7_decrypt — decrypt content from a PKCS#7 envelopedData structure
- PKCS7_encrypt — create a PKCS#7 envelopedData structure
- PKCS7_sign_add_signer — add a signer PKCS7 signed data structure.
- PKCS7_sign — create a PKCS#7 signedData structure
- PKCS7_verify — verify a PKCS#7 signedData structure
- rand — pseudo-random number generator
- RAND_add — add entropy to the PRNG
- RAND_bytes — generate random data
- RAND_cleanup — erase the PRNG state
- RAND_egd — query entropy gathering daemon
- RAND_load_file — PRNG seed file
- RAND_set_rand_method — select RAND method
- rc4 — RC4 encryption
- ripemd — RIPEMD-160 hash function
- rsa — RSA public key cryptosystem
- RSA_blinding_on — protect the RSA operation from timing attacks
- RSA_check_key — validate private RSA keys
- RSA_generate_key — generate RSA key pair
- RSA_get_ex_new_index — add application specific data to RSA structures
- RSA_new — allocate and free RSA objects
- RSA_padding_add_PKCS1_type_1 — asymmetric encryption padding
- RSA_print — print cryptographic parameters
- RSA_private_encrypt — low level signature operations
- RSA_public_encrypt — RSA public key cryptography
- RSA_set_method — select RSA method
- RSA_sign_ASN1_OCTET_STRING — RSA signatures
- RSA_sign — RSA signatures
- RSA_size — get RSA modulus size
- sha — Secure Hash Algorithm
- SMIME_read_CMS — parse S/MIME message.
- SMIME_read_PKCS7 — parse S/MIME message.
- SMIME_write_CMS — convert CMS structure to S/MIME format.
- SMIME_write_PKCS7 — convert PKCS#7 structure to S/MIME format.
- threads — OpenSSL thread support
- ui_compat — Compatibility user interface functions
- ui — New User Interface
- x509 — X.509 certificate handling
- X509_NAME_add_entry_by_txt — X509_NAME modification functions
- X509_NAME_ENTRY_get_object — X509_NAME_ENTRY utility functions
- X509_NAME_get_index_by_NID — X509_NAME lookup and enumeration functions
- X509_NAME_print_ex — X509_NAME printing routines.
- X509_new — X509 certificate ASN1 allocation functions
- X509_STORE_CTX_get_error — get or set certificate verification status information
- X509_STORE_CTX_get_ex_new_index — add application specific data to X509_STORE_CTX structures
- X509_STORE_CTX_new — X509_STORE_CTX initialisation
- X509_STORE_CTX_set_verify_cb — set verification callback
- X509_STORE_set_verify_cb_func — set verification callback
- X509_verify_cert — discover and verify X509 certificte chain
- X509_VERIFY_PARAM_set_flags — X509 verification parameters
- 179.3. SSL Functions
- ssl — OpenSSL SSL/TLS library
- d2i_SSL_SESSION — convert SSL_SESSION object from/to ASN1 representation
- SSL_accept — wait for a TLS/SSL client to initiate a TLS/SSL handshake
- SSL_alert_type_string — get textual description of alert information
- SSL_CIPHER_get_name — get SSL_CIPHER properties
- SSL_clear — reset SSL object to allow another connection
- SSL_COMP_add_compression_method — handle SSL/TLS integrated compression methods
- SSL_connect — initiate the TLS/SSL handshake with an TLS/SSL server
- SSL_CTX_add_extra_chain_cert — add or clear extra chain certificates
- SSL_CTX_add_session — manipulate session cache
- SSL_CTX_ctrl — internal handling functions for SSL_CTX and SSL objects
- SSL_CTX_flush_sessions — remove expired sessions
- SSL_CTX_free — free an allocated SSL_CTX object
- SSL_CTX_get_ex_new_index — internal application specific data functions
- SSL_CTX_get_verify_mode — get currently set verification parameters
- SSL_CTX_load_verify_locations — set default locations for trusted CA certificates
- SSL_CTX_new — create a new SSL_CTX object as framework for TLS/SSL enabled functions
- SSL_CTX_sessions — access internal session cache
- SSL_CTX_sess_number — obtain session cache statistics
- SSL_CTX_sess_set_cache_size — manipulate session cache size
- SSL_CTX_sess_set_get_cb — provide callback functions for server side external session caching
- SSL_CTX_set_cert_store — manipulate X509 certificate verification storage
- SSL_CTX_set_cert_verify_callback — set peer certificate verification procedure
- SSL_CTX_set_cipher_list — choose list of available SSL_CIPHERs
- SSL_CTX_set_client_CA_list — set list of CAs sent to the client when requesting a client certificate
- SSL_CTX_set_client_cert_cb — handle client certificate callback function
- SSL_CTX_set_default_passwd_cb — set passwd callback for encrypted PEM file handling
- SSL_CTX_set_generate_session_id — manipulate generation of SSL session IDs (server only)
- SSL_CTX_set_info_callback — handle information callback for SSL connections
- SSL_CTX_set_max_cert_list — manipulate allowed for the peer's certificate chain
- SSL_CTX_set_mode — manipulate SSL engine mode
- SSL_CTX_set_msg_callback — install callback for observing protocol messages
- SSL_CTX_set_options — manipulate SSL options
- SSL_CTX_set_psk_client_callback — set PSK client callback
- SSL_CTX_set_quiet_shutdown — manipulate shutdown behaviour
- SSL_CTX_set_read_ahead — manage whether to read as many input bytes as possible
- SSL_CTX_set_session_cache_mode — enable/disable session caching
- SSL_CTX_set_session_id_context — set context within which session can be reused (server side only)
- SSL_CTX_set_ssl_version — choose a new TLS/SSL method
- SSL_CTX_set_timeout — manipulate timeout values for session caching
- SSL_CTX_set_tlsext_status_cb — OCSP Certificate Status Request functions
- SSL_CTX_set_tmp_dh_callback — handle DH keys for ephemeral key exchange
- SSL_CTX_set_tmp_rsa_callback — handle RSA keys for ephemeral key exchange
- SSL_CTX_set_verify — set peer certificate verification parameters
- SSL_CTX_use_certificate — load certificate and key data
- SSL_CTX_use_psk_identity_hint — set PSK identity hint to use
- SSL_do_handshake — perform a TLS/SSL handshake
- SSL_free — free an allocated SSL structure
- SSL_get_ciphers — get list of available SSL_CIPHERs
- SSL_get_client_CA_list — get list of client CAs
- SSL_get_current_cipher — get SSL_CIPHER of a connection
- SSL_get_default_timeout — get default session timeout value
- SSL_get_error — obtain result code for TLS/SSL I/O operation
- SSL_get_ex_data_X509_STORE_CTX_idx — get ex_data index to access SSL structure from X509_STORE_CTX
- SSL_get_ex_new_index — internal application specific data functions
- SSL_get_fd — get file descriptor linked to an SSL object
- SSL_get_peer_cert_chain — get the X509 certificate chain of the peer
- SSL_get_peer_certificate — get the X509 certificate of the peer
- SSL_get_psk_identity — get PSK client identity and hint
- SSL_get_rbio — get BIO linked to an SSL object
- SSL_get_session — retrieve TLS/SSL session data
- SSL_get_SSL_CTX — get the SSL_CTX from which an SSL is created
- SSL_get_verify_result — get result of peer certificate verification
- SSL_get_version — get the protocol version of a connection.
- SSL_library_init — initialize SSL library by registering algorithms
- SSL_load_client_CA_file — load certificate names from file
- SSL_new — create a new SSL structure for a connection
- SSL_pending — obtain number of readable bytes buffered in an SSL object
- SSL_read — read bytes from a TLS/SSL connection.
- SSL_rstate_string — get textual description of state of an SSL object during read operation
- SSL_SESSION_free — free an allocated SSL_SESSION structure
- SSL_SESSION_get_ex_new_index — internal application specific data functions
- SSL_SESSION_get_time — retrieve and manipulate session time and timeout settings
- SSL_session_reused — query whether a reused session was negotiated during handshake
- SSL_set_bio — connect the SSL object with a BIO
- SSL_set_connect_state — prepare SSL object to work in client or server mode
- SSL_set_fd — connect the SSL object with a file descriptor
- SSL_set_session — set a TLS/SSL session to be used during TLS/SSL connect
- SSL_set_shutdown — manipulate shutdown state of an SSL connection
- SSL_set_verify_result — override result of peer certificate verification
- SSL_shutdown — shut down a TLS/SSL connection
- SSL_state_string — get textual description of state of an SSL object
- SSL_want — obtain state information TLS/SSL I/O operation
- SSL_write — write bytes to a TLS/SSL connection.
- XLVIII. Mbed TLS
- XLIX. eCosPro-SecureShell
- eCos Dropbear Port — provide ssh support
- Dropbear Ssh Daemon — Ssh daemon support
- Dropbear Ssh Client — Ssh client support
- Dropbear Scp Client — scp client support
- L. FTP Client for eCos TCP/IP Stack
- 184. FTP Client API and Configuration
- 184.1. FTP Client API
- 184.1.1. Support API
- 184.1.2. ftp_delete
- 184.1.3. ftpclient_printf
- 184.1.4. Basic FTP Client API
- 184.1.5. ftp_get
- 184.1.6. ftp_put
- 184.1.7. ftp_get_var
- 184.1.8. ftp_put_var
- 184.1.9. Extended FTP Client API
- 184.1.10. ftp_get_extended
- 184.1.11. ftp_put_extended
- 184.1.12. ftp_get_extended_var
- 184.1.13. ftp_put_extended_var
- 184.2. FTP Client Configuration
- LI. FTP Server Support
- Overview — Overview
- FTP Server API — describe FTP server API, callback and configuration
- Test Programs — describe the test programs and their host-side support
- LII. Embedded HTTP Server
- LIII. SNMP
- 186. SNMP for eCos
- LIV. mDNS Responder and DNS-SD
- 187. mDNS overview
- 188. API
- 188.1. API
- cyg_mdns_init — Initialise mDNS Responder
- cyg_mdns_terminate — Terminate mDNS Responder
- cyg_mdns_enable — Enable mDNS
- cyg_mdns_disable — Disable mDNS
- cyg_mdns_service_register — Register set of services
- cyg_mdns_service_unregister — Remove registered services
- cyg_mdns_sethostname — Set base hostname
- cyg_mdns_hostname_callback_register — Register hostname generation callback
- cyg_mdns_gethostname — Get current hostname value
- cyg_mdns_setservicelabel — Set service label
- cyg_mdns_getservicelabel — Get current service label value
- cyg_mdns_servicelabel_callback_register — Register service label generation callback
- cyg_mdns_hinfo_register — Register HINFO record data
- cyg_mdns_discovery_callback_register — Register DNS-SD response callback
- cyg_mdns_discovery_callback_unregister — Unregister DNS-SD response callback
- cyg_mdns_discovery_callback_flags — Read/Modify DNS-SD response callback control flags
- cyg_mdns_discovery_query — Issue a DNS-SD query
- 188.2. Example Responder
- 188.3. Example DNS-SD Queries
- 189. Support API
- 189.1. Support API
- cyg_mdns_strlen — Calculate uncompressed length of (possibly compressed) string
- cyg_mdns_name_uncompress — Uncompress encoded string
- cyg_mdns_strlen_vector — Calculate uncompressed length of string vector
- cyg_mdns_strlen_uncompressed — Length of uncompressed encoded string
- cyg_mdns_name — Convert encoded name into dot-notation
- cyg_mdns_build_txt_vector — Build vector of pointers to individual TXT Record fields
- cyg_mdns_build_strtab_vector — Build vector of pointers to individual encoded string fields
- cyg_mdns_strcasecmp_strtab — Compare two encoded string-tables ignoring case
- 190. Configuration
- 191. Debug and Test
- 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
- LVII. WLAN
- LVIII. Cypress WWD WLAN
- LIX. Common Clock Services
- 200. Overview
- 201. Dependencies
- 202. Configuration
- 203. API reference
- cyg_clock_get_systime() — Retrieve the current system time
- cyg_clock_get_systime_res — Obtain the resolution of the system clock
- cyg_clock_set_systime() — Sets the system clock to the supplied time
- cyg_clock_sync_wallclock() — Force the wallclock to be updated from system time
- cyg_clock_adjust_systime() — Adjust the system time
- Time change notification — Registering and deregistering for notification of changes to system time
- cyg_clock_sysclock_handle() — Return a handle to the system clock
- Time conversions — Converting between clock ticks and calendar time
- LX. Object Loader
- Object Loader — eCos Support for Dynamic Module Loading
- Extending the Object Loader — Extending the Object Loader
- LXI. CPU load measurements
- 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
- LXV. CryptoAuthLib
- 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
- LXIX. Bundle image support
- 211. Bundle overview
- 212. Bundle format
- 213. Bundle API
- 213.1. API
- cyg_bundle_access_direct — Initialise “direct” bundle context
- cyg_bundle_access_file — Initialise “file” bundle context
- cyg_bundle_access_flash — Initialise “flash” bundle context
- cyg_bundle_access_init — Common bundle context initialisation
- cyg_bundle_access_release — Release bundle context
- cyg_bundle_verify — Verify bundle and initialise context references
- cyg_bundle_item_find — Provide handle onto bundle item
- cyg_bundle_item_release — Release reference to specific bundle item
- cyg_bundle_enumerate — Enumerate bundle contents
- cyg_bundle_info — Length of raw item
- cyg_bundle_read — Extract data from a bundle item
- 214. Host tool
- 215. Bundle tests
- LXX. RTT
- LXXI. eCos Support for Segger SystemView tracing
- LXXII. RedBoot User's Guide
- 224. Getting Started with RedBoot
- 225. RedBoot Commands and Examples
- 225.1. Introduction
- 225.2. Common Commands
- 225.3. Flash Image System (FIS)
- 225.4. Filesystem Interface
- 225.5. Persistent State Flash-based Configuration and Control
- 225.6. Persistent State in a NAND-based environment
- 225.7. Executing Programs from RedBoot
- 225.8. NAND configuration commands
- 225.9. NAND manipulation commands
- 226. Rebuilding RedBoot
- 227. Updating RedBoot
- 228. Initial Installation
- LXXIII. Robust Boot Loader
- Robust Boot Loader — provide a robust boot service
- RedBoot Commands — access RBL functionality via the RedBoot prompt
- Application Library — allow applications to access RBL services
- Application Library Extensions — allow applications to access RBL services
- LXXIV. RedBoot Extra Initialization
- RedBoot Extra Initialization — provide extra RedBoot initialization
- LXXV. Unity
- LXXVI. Synthetic Target Architecture
- 233. eCos Synthetic Target
- Overview — Overview
- Installation — Preparing to use the synthetic target
- Running a Synthetic Target Application — Arguments and configuration files
- The I/O Auxiliary's User Interface — Controlling the I/O Auxiliary
- The Console Device — Show output from the eCos application
- System Calls — Access Linux system facilities
- Writing New Devices - target — extending the synthetic target, target-side
- Writing New Devices - host — extending the synthetic target, host-side
- Porting — Adding support for other hosts
- LXXVII. ARM7/ARM9/XScale/Cortex-A Architecture
- 234. ARM Architectural Support
- ARM Architectural HAL — eCos Support for the ARM Architecture
- Configuration — Configuring the ARM Architectural HAL Package
- The HAL Port — Implementation Details
- 235. Atmel AT91 Processor Variant Support
- Overview of Atmel AT91 Processor Variant — Overview
- Hardware definitions — Details on obtaining hardware definitions for AT91
- Interrupt Controller — Advanced Interrupt Controller definitions and usage
- Timers — Use of on-chip Timer
- Serial UARTs — Configuration and implementation details of serial UART support
- 236. Atmel AT91SAM7 Processor Variant Support
- eCos Support for the Atmel AT91SAM7 Processor Variant — Overview
- Hardware definitions — Details on obtaining hardware definitions for AT91
- Interrupt Vector Definitions — Advanced Interrupt Controller vector definitions
- 237. Atmel AT91SAM7A2-EK Board Support
- eCos Support for the Atmel AT91SAM7A2-EK — Overview
- Setup — Preparing the AT91SAM7A2-EK board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 238. Atmel AT91SAM7A3-EK Board Support
- eCos Support for the Atmel AT91SAM7A3-EK — Overview
- Setup — Preparing the AT91SAM7A3-EK board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 239. Atmel AT91SAM7S-EK Board Support
- eCos Support for the Atmel AT91SAM7S-EK — Overview
- Setup — Preparing the AT91SAM7S-EK board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 240. Atmel AT91SAM7X-EK Board Support
- eCos Support for the Atmel AT91SAM7X-EK — Overview
- Setup — Preparing the AT91SAM7X-EK board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 241. NXP LPC2xxx variant HAL
- Overview — Overview
- On-chip subsystems and peripherals — Hardware support
- The HAL Port — Implementation Details
- 242. Ashling EVBA7 Eval Board Support
- Overview — Overview
- Setup — Preparing the EVBA7 Eval Board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 243. Embedded Artists LPC2468 OEM Board Support
- Overview — Overview
- Setup — Preparing the LPC2468 OEM Board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 244. Embedded Artists QuickStart Board Support
- Overview — Overview
- Setup — Preparing the EA QuickStart Board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 245. IAR KickStart Card Support
- Overview — Overview
- Setup — Preparing the IAR KickStart Board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 246. Keil MCB2387 Board Support
- Overview — Overview
- Setup — Preparing the MCB2387 Board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 247. Phytec phyCORE LPC2294 Board Support
- Overview — Overview
- Setup — Preparing the phyCORE LPC2294 Board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 248. ST STR7XX variant HAL
- Overview — Overview
- On-chip Subsystems and Peripherals — Hardware Support
- The HAL Port — Implementation Details
- Power Management — Details
- 249. ST STR710-EVAL Board HAL
- Overview — Overview
- Setup — Preparing the STR710-EVAL Board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 250. Atmel AT91RM9200 Processor Support
- eCos Support for the Atmel AT91RM9200 Processor — Overview
- Hardware definitions — Details on obtaining hardware definitions for AT91RM9200
- Interrupt controller — Advanced Interrupt Controller definitions and usage
- Timer counters — Use of on-chip timer counters
- Serial UARTs — Configuration and implementation details of serial UART support
- Multimedia Card Interface (MCI) driver — Using MMC/SD cards with block drivers and filesystems
- Two-Wire Interface (TWI) driver — Configuration and implementation details of TWI (I²C®) driver
- Power saving support — Extensions for saving power
- 251. Atmel AT91RM9200 Development Kit/Evaluation Kit Board Support
- eCos Support for the Atmel AT91RM9200 Development Kit/Evaluation Kit — Overview
- Setup — Preparing the AT91RM9200-EK and AT91RM9200-DK boards for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 252. Cogent CSB337 Board Support
- Overview — Overview
- Setup — Preparing the CSB337 board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 253. SSV DNP/9200 with DNP/EVA9 Board Support
- Overview — Overview
- Setup — Preparing the DNP/9200 with DNP/EVA9 evaluation board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 254. KwikByte KB920x Board Family Support
- Overview — Overview
- Setup — Preparing the KB920x boards for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 255. Motorola MX1ADS/A Board Support
- Overview — Overview
- Setup — Preparing the MX1ADS/A board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 256. Texas Instruments OMAP L1xx Processor Support
- Overview — Overview
- Hardware definitions — Details on obtaining hardware definitions for OMAP
- Interrupt Controller — Advanced Interrupt Controller Definitions And usage
- Timers — Use of on-chip timers
- Serial UARTs — Configuration and Implementation Details of Serial UART Support
- Multimedia Card Interface (MMC/SD) Driver — Using MMC/SD cards with block drivers and filesystems
- I2C Two Wire Interface — Using I²C devices
- Pin Configuration and GPIO Support — Use of pin configuration and GPIO
- Peripheral Power Control — Description
- DMA Support — Description
- 257. Atmel SAM9 Processor Support
- Overview — Overview
- Hardware definitions — Details on obtaining hardware definitions for SAM9
- Interrupt controller — Advanced Interrupt Controller definitions and usage
- Timers — Use of on-chip timers
- Serial UARTs — Configuration and implementation details of serial UART support
- Two-Wire Interface (TWI) driver — Configuration and implementation details of TWI (I²C®) driver
- Power saving support — Extensions for saving power
- 258. Atmel AT91SAM9260 Evaluation Kit Board Support
- Overview — Overview
- Setup — Preparing the AT91SAM9260-EK board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 259. Atmel AT91SAM9261 Evaluation Kit Board Support
- Overview — Overview
- Setup — Preparing the AT91SAM9261-EK board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 260. Atmel AT91SAM9263 Evaluation Kit Board Support
- Overview — Overview
- Setup — Preparing the AT91SAM9263-EK board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 261. Atmel AT91SAM9G20 Evaluation Kit Board Support
- Overview — Overview
- Setup — Preparing the AT91SAM9G20-EK board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 262. Atmel AT91SAM9G45-EKES Evaluation Kit Board Support
- Overview — Overview
- Setup — Preparing the AT91SAM9G45-EKES board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 263. ARM Versatile 926EJ-S Board Support
- Overview — Overview
- Setup — Preparing the VPB926EJS board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 264. Spectrum Digital OMAP-L137 Board Support
- Overview — Overview
- Setup — Preparing the SD-L137 board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 265. Logic Zoom Board Support
- Overview — Overview
- Setup — Preparing the Zoom board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 266. Freescale i.MXxx Processor Support
- Overview — Overview
- Hardware definitions — Details on obtaining hardware definitions for i.MXxx
- Interrupt Controller — Advanced Interrupt Controller Definitions And Usage
- Timers — Use of on-chip timers
- Serial UARTs — Configuration and Implementation Details of Serial UART Support
- Pin Configuration and GPIO Support — Use of pin configuration and GPIO
- Peripheral Clock Control — Description
- 267. Freescale MCIMX25WPDK Board Support
- Overview — Overview
- Setup — Preparing the board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 268. Intel IQ80321 Board Support
- Overview — Overview
- Setup — Preparing the IQ80321 board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 269. Intel XScale IXP4xx Network Processor Support
- Overview — Overview
- IXP4xx hardware definitions — Details on obtaining hardware definitions for IXP4xx
- IXP4xx interrupt controller — Interrupt controller definitions and usage
- General-purpose timers — Use of IXP4xx general-purpose timers
- Watchdog — Describes use of the hardware watchdog
- Serial UARTs — Configuration and implementation details of serial UART support
- PCI bus controller — PCI bus controller support implementation details
- PCI bus IDE controllers — Configuring and using IDE controllers on the PCI bus
- CompactFlash cards in TrueIDE mode — Using CompactFlash cards in TrueIDE mode on the IXP4xx expansion bus
- GPIO — General purpose I/O
- 270. Intel XScale IXDP425 Network Processor Evaluation Board Support
- Overview — Overview
- Setup — Setting up the IXDP425 board
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 271. Altera Hard Processor System Support
- Overview — Overview
- Hardware definitions — Details on obtaining hardware definitions for HPS
- Interrupt Controller — Advanced Interrupt Controller Definitions And usage
- Timers — Use of on-chip timers
- Serial UARTs — Configuration and Implementation Details of Serial UART Support
- Multimedia Card Interface (MMC/SD) Driver — Using MMC/SD cards with block drivers and filesystems
- I2C Interface — Using I²C devices
- Pin Configuration and GPIO Support — Use of pin configuration and GPIO
- 272. Broadcom IProc Support
- Overview — Overview
- Hardware definitions — Details on obtaining hardware definitions for IProc
- Interrupt Controller — Advanced Interrupt Controller Definitions and Usage
- Timers — Use of on-chip timers
- Serial UARTs — Configuration and Implementation Details of Serial UART Support
- 273. Broadcom BCM283X Processor Support
- Overview — Overview
- Hardware Definitions — Details on obtaining hardware definitions for BCM283X
- Interrupt Controller — Interrupt Controller Definitions and Usage
- Timers — Use of on-chip timers
- Serial UARTs — Configuration and Implementation Details of Serial UART Support
- I²C Interface — Using I²C devices
- GPIO Support — Use of GPIO
- DMA Support — Description
- GPU Communication Support — Use of GPU mailbox
- Frequency Control — control ARM and CORE frequencies
- 274. Broadcom BCM56150 Reference Board Support
- Overview — Overview
- Setup — Preparing the BCM56150 Reference board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 275. Altera Cyclone V SX Board Support
- Overview — Overview
- Setup — Preparing the Cyclone V SX board for eCos Development
- Configuration — Platform-specific Configuration Options
- SMP Development and Debugging Support — Usage
- The HAL Port — Implementation Details
- 276. Dream Chip A10 Board Support
- Overview — Overview
- Setup — Preparing the Dream Chip A10 board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- SMP Development and Debugging Support — Usage
- The HAL Port — Implementation Details
- 277. Atmel ATSAMA5D3 Variant HAL
- Atmel SAMA5D3 Variant HAL — eCos Support for the Atmel SAMA5D3 Microprocessor Family
- Hardware definitions — Details on obtaining hardware definitions for SAMA5D3
- Bootstrap — System startup
- On-chip Subsystems and Peripherals — Hardware Support
- GPIO Support on SAMA5D3 processors — Details
- Peripheral clock control — Details
- DMA Support — Details
- Configuration — Common SAMA5D3 configuration options
- Test Programs — Details
- 278. Atmel SAMA5D3x-MB (MotherBoard) Platform HAL
- SAMA5D3x-MB Platform HAL — eCos Support for the SAMA5D3x-MB Board
- Setup — Preparing the SAMA5D3x-MB Board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- BootUp Integration — Detail
- 279. Atmel SAMA5D3x-CM (CPU Module) Platform HAL
- SAMA5D3x-CM Platform HAL — eCos Support for the SAMA5D3x-CM CPU Module
- The HAL Port — Implementation Details
- 280. Atmel SAMA5D3 Xplained Platform HAL
- SAMA5D3 Xplained Platform HAL — eCos Support for the SAMA5D3 Xplained platform
- Setup — Preparing the SAMA5D3-XPLD Board for eCos Development
- Configuration — Platform-specific configuration options
- The HAL Port — Implementation Details
- BootUp Integration — Detail
- 281. Raspberry Pi Board Support
- Overview — Overview
- Setup — Preparing the Raspberry Pi for eCos Development
- JTAG Debugger Support — Usage
- Configuration — Platform-specific Configuration Options
- SMP Development and Debugging Support — Usage
- The HAL Port — Implementation Details
- RedBoot Extensions — Usage
- 282. Virtual Machine Support
- Overview — Overview
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 283. QEMU Virtual Machine Support
- Overview — Overview
- Setup — Preparing for eCos Development
- Configuration — Platform-specific Configuration Options
- SMP Development and Debugging Support — Usage
- The HAL Port — Implementation Details
- 284. Xvisor Virtual Machine Support
- Overview — Overview
- Setup — Preparing for eCos Development
- Configuration — Platform-specific Configuration Options
- SMP Development and Debugging Support — Usage
- The HAL Port — Implementation Details
- LXXVIII. Cortex-M Architecture
- 285. Cortex-M Architectural Support
- Cortex-M Architectural HAL — eCos Support for the Cortex-M Architecture
- Configuration — Configuring the Cortex-M Architectural HAL Package
- Floating Point support — Overview of use of floating point
- The HAL Port — Implementation Details
- Cortex-M Hardware Debug — Overview of hardware debug features
- 286. Kinetis Variant HAL
- Kinetis Variant HAL — eCos Support for the Kinetis Microprocessor Family
- On-chip Subsystems and Peripherals — Hardware Support
- 287. Freescale TWR-K60N512 and TWR-K60D100M Platform HAL
- Freescale TWR-K60N512/TWR-K60D100M Platform HAL — eCos Support for the Freescale TWR-K60N512 and TWR-K60D100M boards
- Setup — Preparing the TWR-K60N512/TWR-K60D100M Board for eCos Development
- Configuration — Platform-specific Configuration Options
- Hardware debugging support — Usage
- The HAL Port — Implementation Details
- 288. Freescale TWR-K70F120M Platform HAL
- Freescale TWR-K70F120M Platform HAL — eCos Support for the Freescale TWR-K70F120M board
- Setup — Preparing the TWR-K70F120M Board for eCos Development
- Configuration — Platform-specific Configuration Options
- Hardware debugging support — Usage
- The HAL Port — Implementation Details
- 289. LM3S Variant HAL
- LM3S Variant HAL — eCos Support for the LM3S Microprocessor Family
- On-chip Subsystems and Peripherals — Hardware Support
- GPIO Support — Details
- 290. LM3S8962-EVAL Platform HAL
- LM3S8962 EVAL Platform HAL — eCos Support for the LM3S8962-EVAL Board
- Setup — Preparing the LM3S8962-EVAL Board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 291. LPC1XXX Variant HAL
- LPC1XXX Variant HAL — eCos Support for the LPC1XXX Microprocessor Family
- On-chip Subsystems and Peripherals — Hardware Support
- GPIO Support — Details
- Peripheral Clock and Power Control — Description
- 292. MCB1700 Platform HAL
- MCB1700 Platform HAL — eCos Support for the MCB1700 Board
- Setup — Preparing the MCB1700 Board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 293. SAM3/4/x70 Variant HAL
- SAM3/4/X70 Variant HAL — eCos Support for the SAM3/4 Microprocessor Family
- On-chip Subsystems and Peripherals — Hardware Support
- GPIO Support on SAM Processors — Details
- Peripheral clock control — Details
- 294. Atmel SAM4E-EK Platform HAL
- SAM4E-EK Platform HAL — eCos Support for the SAM4E-EK Board
- Setup — Preparing the SAM4E-EK Board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 295. Atmel SAMX70-EK Platform HAL
- SAMX70-EK Platform HAL — eCos Support for the SAMX70-EK Board
- Setup — Preparing the SAMX70-EK Board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 296. STM32 Variant HAL
- STM32 Variant HAL — eCos Support for the STM32 Microprocessor Family
- On-chip Subsystems and Peripherals — Hardware Support
- GPIO Support on STM32F processors — Details
- Peripheral clock control — Details
- DMA Support — Details
- Test Programs — Details
- 297. STM3210C-EVAL Platform HAL
- STM3210C EVAL Platform HAL — eCos Support for the STM3210C-EVAL Board
- Setup — Preparing the STM3210C-EVAL Board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- 298. STM3210E-EVAL Platform HAL
- STM3210E EVAL Platform HAL — eCos Support for the STM3210E-EVAL Board
- Setup — Preparing the STM3210E-EVAL Board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- 299. STM32X0G-EVAL Platform HAL
- STM32X0G EVAL Platform HAL — eCos Support for the STM3220G-EVAL, STM3240G-EVAL and STM3241G-EVAL Boards
- Setup — Preparing the STM32X0G-EVAL Board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- 300. STM32F429I-DISCO Platform HAL
- STM32F429I-DISCO Platform HAL — eCos Support for the STM32F429I-DISCO Board
- Setup — Preparing the STM32F429I-DISCO Board for eCos Development
- Configuration — Platform-specific Configuration Options
- Hardware debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- 301. STM32F746G-DISCO Platform HAL
- STM32F746G-DISCO Platform HAL — eCos Support for the STM32F746G-DISCO Board
- Setup — Preparing the STM32F746G-DISCO Board for eCos Development
- Configuration — Platform-specific Configuration Options
- Hardware debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- 302. STM32H735-DISCO Platform HAL
- STM32H735-DISCO Platform HAL — eCos Support for the STM32H735-DISCO Board
- Setup — Preparing the STM32H735-DISCO Board for eCos Development
- Configuration — Platform-specific Configuration Options
- Hardware debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- 303. STM32H7 Nucleo-144 Platform HAL
- STM32H7 Nucleo-144 Platform HAL — eCos Support for the STM32H7 Nucleo-144 Board
- Setup — Preparing the STM32H7 Nucleo-144 Board for eCos Development
- Configuration — Platform-specific Configuration Options
- Hardware debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- 304. STM32F4DISCOVERY Platform HAL
- STM32F4DISCOVERY Platform HAL — eCos Support for the STM32F4DISCOVERY Board
- Setup — Preparing the STM32F4DISCOVERY Board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG/SWD debugging support — Usage
- The HAL Port — Implementation Details
- 305. STM324X9I-EVAL Platform HAL
- STM324X9I-EVAL Platform HAL — eCos Support for the STM324X9I-EVAL Board
- Setup — Preparing the STM324X9I-EVAL Board for eCos Development
- Configuration — Platform-specific Configuration Options
- Hardware debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- BootUp Integration — Detail
- 306. STM32F7XX-EVAL Platform HAL
- STM32F7XX-EVAL Platform HAL — eCos Support for the STM32F7XX-EVAL Board
- Setup — Preparing the STM32F7XX-EVAL Board for eCos Development
- Configuration — Platform-specific Configuration Options
- Hardware debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- BootUp Integration — Detail
- 307. STM32L476-DISCO Platform HAL
- STM32L476-DISCO Platform HAL — eCos Support for the STM32L476-DISCO Board
- Setup — Preparing the STM32L476-DISCO Board for eCos Development
- Configuration — Platform-specific Configuration Options
- Hardware debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- BootUp Integration — Detail
- 308. BCM943362WCD4 Platform HAL
- BCM943362WCD4 Platform HAL — eCos Support for the BCM943362WCD4 WICED Module
- Setup — Preparing the Broadcom BCM943362WCD4 for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- 309. BCM943364WCD1 Platform HAL
- BCM943364WCD1 Platform HAL — eCos Support for the BCM943364WCD1 WICED Module
- Setup — Preparing the Broadcom BCM943364WCD1 for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- 310. STM32L4R9-DISCO Platform HAL
- STM32L4R9-DISCO Platform HAL — eCos Support for the STM32L4R9-DISCO Board
- Setup — Preparing the STM32L4R9-DISCO Board for eCos Development
- Configuration — Platform-specific Configuration Options
- Hardware debugging support — Usage
- The HAL Port — Implementation Details
- Test Programs — Details
- BootUp Integration — Detail
- 311. STM32L4R9-EVAL Platform HAL
- 312. NXP i.MX RT10XX Variant HAL
- NXP i.MX RT10XX Variant HAL — eCos Support for the NXP i.MX RT10XX Microprocessor Family
- On-chip Subsystems and Peripherals — Hardware Support
- Hardware Configuration Support on IMX Processors — Details
- OCOTP Support on IMX Processors — Details
- BootUp — Bootstrap
- 313. NXP MIMXRT1xxx-EVK Platform HAL
- NXP MIMXRT1xxx-EVK Platform HAL — eCos Support for the IMXRT1050-EVKB and MIMXRT1064-EVK boards
- Setup — Preparing the MIMXRT1xxx-EVK Board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- LXXIX. H8300 Architecture
- 314. H8/300 Architectural Support
- Overview — eCos Support for the H8/300 Family of Processors
- Configuration — Configuring the H8/300 Architectural Package
- The HAL Port — Implementation Details
- LXXX. i386 Architecture
- 315. I386 PC Support
- eCos Support for the i386 PC — Overview
- Setup — Preparing a PC for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 316. STPC Atlas Support
- STPC Atlas Processor — eCos Support for the STPC Atlas Processor
- LXXXI. M68000 / ColdFire Architecture
- 317. M68000 / ColdFire Architectural Support
- Overview — eCos Support for the M68K Family of Processors
- Configuration — Configuring the M68K Architectural Package
- The HAL Port — Implementation Details
- 318. Freescale MCFxxxx Variant Support
- MCFxxxx ColdFire Processors — eCos Support for Freescale MCFxxxx Processors
- 319. Freescale MCF5272 Processor Support
- The MCF5272 ColdFire Processor — eCos Support for the Freescale MCF5272 Processor
- 320. Freescale M5272C3 Board Support
- Overview — Overview
- Setup — Preparing the M5272C3 board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 321. Freescale MCF5275 Processor Support
- The MCF5275 ColdFire Processor Family — eCos Support for Freescale MCF5275 Processors
- 322. Freescale MCF5282 Processor Support
- The MCF5282 ColdFire Processor — eCos Support for the Freescale MCF5282 Processor
- 323. Freescale M5282EVB Board Support
- Overview — Overview
- Setup — Preparing the M5282EVB board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 324. Freescale M5282LITE Board Support
- Overview — Overview
- Setup — Preparing the M5282LITE board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 325. SSV DNP/5280 Board Support
- Overview — Overview
- Setup — Preparing the DNP/5280 board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 326. Motorola MCF521x Processor Support
- The MCF521x ColdFire Processor Family — eCos Support for Freescale MCF521x Processors
- 327. Motorola M5213EVB Board Support
- M5213EVB Board — eCos Platform HAL
- 328. Freescale M5208EVBe Platform HAL
- Overview — Overview
- Setup — Preparing the M5208EVBe board for eCos Development
- Configuration — Platform-specific Configuration Options
- Test Programs — Details
- 329. Motorola MCF532x Processor Support
- The MCF532x ColdFire Processor Family — eCos Support for Freescale MCF532x Processors
- 330. senTec Cobra5329 Board Support
- Overview — Overview
- Setup — Preparing the Cobra5329 board for eCos Development
- Configuration — Platform-specific Configuration Options
- 331. Motorola MCF520x Processor Support
- The MCF520x ColdFire Processor Family — eCos Support for Freescale MCF520x Processors
- LXXXII. MIPS Architecture
- 332. MIPS Architectural HAL
- MIPS Architectural HAL — eCos Support for the MIPS Architecture
- Configuration — Configuring the MIPS Architectural HAL Package
- The HAL Port — Implementation Details
- 333. MIPS32 Variant HAL
- MIPS32 Variant HAL — eCos Support for the MIPS32 Architecture Variant
- Configuration — Configuring the MIPS32 Variant HAL Package
- The MIPS32 HAL Port — Implementation Details
- 334. MIPS SEAD3 Board Support
- Overview — Overview
- Setup — Preparing the SEAD3 board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- JTAG Debugging — Using System Navigator
- 335. MIPS Malta Board Support
- Overview — Overview
- Setup — Preparing the Malta board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 336. NXP PNX83xx Common Support
- PNX83xx Processors — eCos Support for NXP PNX83xx Processors
- 337. NXP PNX8310 Processor Support
- The NXP PNX8310 Processor — eCos Support for the NXP PNX8310 Processor
- 338. NXP STB200 Board Support
- Overview — Overview
- Setup — Preparing the STB200 board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 339. NXP PNX8330 Processor Support
- The NXP PNX8330 Processor — eCos Support for the NXP PNX8330 Processor
- 340. NXP STB220 Board Support
- Overview — Overview
- Setup — Preparing the STB220 board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- LXXXIII. NIOS2 Architecture
- 341. Nios II Architectural Support
- Nios II Architectural HAL — eCos Support for the Nios II Architecture
- Generic Installation Instructions — Generic Instructions
- Configuration — Configuring the Nios II Architectural HAL Package
- The HAL Port — Implementation Details
- 342. Nios II Stratix II/2s60_RoHS and Cyclone II/2c35 Platform HAL
- Overview — eCos Platform HAL Support for the Stratix II/2s60-RoHS and Cyclone II/2c35 Boards
- 343. Nios II Cyclone II/2c35 Standard H/W Design HAL
- Cyclone II Standard Hardware Design HAL — eCos Support for the Standard Hardware Design on a Cyclone II/2c35 Board
- 344. Nios II Cyclone II/2c35 TSEplus H/W Configuration HAL
- Cyclone II TSEplus Hardware Design HAL — eCos Support for the TSEplus Hardware Design on a Cyclone II/2c35 Board
- 345. Nios II Stratix II/2s60_RoHS Standard H/W Design HAL
- Stratix II Standard Hardware Design HAL — eCos Support for the Standard Hardware Design on a Stratix II/2s60-RoHS Board
- 346. Nios II Stratix II/2s60_RoHS TSEplus H/W Design HAL
- Stratix II TSEplus Hardware Design HAL — eCos Support for the TSEplus Hardware Design on a Stratix II/2s60-RoHS Board
- 347. Board-level Support for the Nios II Embedded Evaluation Kit, Cyclone III edition
- Overview — eCos Platform HAL Support for the Nios II Embedded Evaluation Kit, Cyclone III Edition
- 348. Nios II Embedded Evaluation Kit, Cyclone III Edition, appselector H/W Design HAL
- Nios II Embedded Evaluation Kit, Cyclone III Edition, appselector Hardware Design HAL — eCos Support for the Appselector Hardware Design on a Nios II Embedded Evaluation Kit, Cyclone III Edition
- LXXXIV. PowerPC Architecture
- 349. A&M Adder Board Support
- Overview — Overview
- Setup — Preparing the Adder board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 350. ADS512101 Board Support
- Overview — Overview
- Setup — Preparing the ADS512101 board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 351. Freescale MPC5554DEMO Board Support
- Overview — Overview
- Setup — Preparing the MPC5554DEMO board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- 352. MPC8309KIT Board Support
- Overview — Overview
- Setup — Preparing the MPC8309KIT board for eCos Development
- Configuration — Platform-specific Configuration Options
- JTAG debugging support — Usage
- The HAL Port — Implementation Details
- GPIO Support — Details
- Test Programs — Details
- 353. MPC512X Variant Support
- MPC512X Variant HAL — eCos Support for the MPC512X Microprocessor Family
- On-chip Subsystems and Peripherals — Hardware Support
- SPI Slave support — Hardware Support for SPI Slave Device
- LXXXV. SH Architecture
- 354. Renesas SDK7780 Development Board Support
- Overview — Overview
- Setup — Preparing the SDK7780 board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 355. SuperH SH4-202 MicroDev Board Support
- Overview — Overview
- Setup — Preparing the MicroDev board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- 356. STMicroelectronics ST40 Evaluation Board Support
- Overview — Overview
- Setup — Preparing the ST40EB board for eCos Development
- Configuration — Platform-specific Configuration Options
- The HAL Port — Implementation Details
- LXXXVI. TILE-Gx Architecture
- 357. TILE-Gx Architectural Support
- Overview — eCos Support for the TILE-Gx Family of Processors
- Hardware Setup — preparing the hardware for eCos development
- eCos Configuration Options — Configuring the TILE-Gx Architectural HAL Package
- The HAL Port — Implementation Details
- 358. TILE-Gx TMC Library
- Overview — eCos Port of a Subset of the TMC Library
- Real-time characterization of selected targets
List of Figures
- 53.1. Library layout diagram
- 2. I/O auxiliary Dialog, Files
- 3. I/O auxiliary Dialog, Logging
- 75.1. I²C wiring specification
- 89.1. Synthetic Target Framebuffer X Window
- 197.1. Example WICED-Studio installation complete
- 197.2. Example WICED-Studio WiFi directory copy and rename
- 197.3. Example WICED-SDK installation
- 212.1. <bundle> image
- 212.2. <arbitrary> chunk
- 212.3. <hash> chunk
- 212.4. Uncompressed <item>
- 212.5. Compressed <item>
- 222.1. Example from application with
SEGGER_SYSVIEW_Mark()
use - 222.2. Example from application with Kernel instrumentation enabled
- 222.3. Example from application using INFRA trace
- 277.1. ROMRAM RedBoot
- 277.2. ROM RedBoot
- 278.1. On-chip
RomBOOT
executes - 278.2. On-chip
RomBOOT
copies second-level boot code from NVM to on-chip SRAM - 278.3. SRAM loaded second-level boot code is executed
- 278.4. Final application
ROMRAM
is located in SPI or NOR NVM - 278.5. Second-level boot copies
ROMRAM
from NVM to DDR2-SDRAM - 278.6. Application is started
- 278.7. Second-level boot code built with AES-256 key
- 278.8. Stored key is used to decrypt NVM application into RAM
- 278.9. Decrypted application is started
- 280.1. SAM-BA Board Connection
- 280.2. Enabling DDRAM
- 280.3. Enabling NAND
- 280.4. Programming the Second-Stage bootstrap
- 280.5. Programming the Application
- 305.1. On-chip flash
- 305.2. NVM bundle
- 305.3. BootUp and Application
- 305.4. Application Update image
- 306.1. On-chip flash
- 306.2. NVM bundle
- 306.3. BootUp and Application
- 306.4. Application Update image
- 307.1. BootUp and Application
- 307.2. Application Update image
- 312.1. On-chip ROM Bootloader executes
- 312.2. On-chip ROM Bootloader copies second-level boot code from NVM to on-chip SRAM
- 312.3. SRAM loaded second-level boot code is executed
- 312.4. Final application is located in NVM
- 312.5. Second-level boot copies application from NVM to SDRAM
- 312.6. Application is started
- 313.1. Standalone
mimxrt1064_evk
SRAM
application - 313.2. Standalone
mimxrt1050_evk
SRAM
application - 313.3. Standalone
mimxrt1064_evk
JSDRAM
application - 313.4. Standalone
mimxrt1050_evk
JSDRAM
application - 313.5. Standalone
mimxrt1064_evk
RBRAM
application - 313.6. Standalone
mimxrt1050_evk
RBRAM
application - 313.7.
mimxrt1064_evk
SRAM
RedBoot andRAM
application - 313.8.
mimxrt1064_evk
SRAM
RedBoot andJSDRAM
application - 313.9. Checksum of QSPI image and Execution of RedBoot
- 313.10. RedBoot Output
- 313.11. Initialise Flash
- 313.12. Loading RedBoot QSPI boot image into memory
- 313.13. RedBoot cksum of memory image
- 313.14. Program RedBoot into QSPI from memory image
List of Tables
- 9.1. Behavior of math exception handling
- 51.1. Yaffs RAM use worked example
- 113.1. Completion Codes
- 114.1. Completion Codes
- 5. USB class support
- 164.1. lwIP sequential API error codes
- 199.1. WICED options
- 199.2. Hardware manifests
- 199.3. Indirect firmware access
- 212.1. HASH signatures
- 221.1. Example Instrumentation “cost”
- 234.1. Context Switch
- 277.1. BMS signal
- 277.2. Pin Mode
- 277.3. Interrupt Type
- 278.1.
JP9
BMS - 293.1. Pin Mode
- 293.2. Interrupt Type
- 305.1. LEDs
- 305.2. Pending update sequence
- 306.1. LEDs
- 306.2. Pending update sequence
- 307.1. Pending update sequence
- 310.1. Pending update sequence
List of Examples
- 1. Mounting and unmounting a JFFS2 filesystem
- 2. Secure erase usage
- 164.1. This example shows the basic mechanisms for using netbufs.
- 164.2. This example shows a simple use of the
netbuf_ref()
- 164.3. This example shows how to use the
netbuf_next()
function - 164.4. This example shows a simple use of
netbuf_copy()
- 164.5. This example shows how to open a TCP server on port 2000
- 164.6. This example demonstrates usage of the
netconn_recv()
function - 164.7. This example demonstrates basic usage of the
netconn_write()
function - 164.8. This example demonstrates basic usage of the
netconn_send()
function - 180.1. Apache 2.0 License
- 183.1. lb_ssl test run
- 191.1.
doc/bct_stm32f207_result.txt
- 206.1. “AS IS” License
- 216.1. “AS IS” License
- 224.1. Sample DHCP configuration file
- 224.2. Sample
/etc/named.conf
for most Linux distributions - 229.1. “MIT” License
- 237.1. at91sam7a2ek Real-time characterization
- 238.1. at91sam7a3ek Real-time characterization
- 239.1. at91sam7sek Real-time characterization
- 240.1. at91sam7xek Real-time characterization
- 244.1. ea_quickstart Real-time characterization
- 245.1. iar_kickstart Real-time characterization
- 251.1. atmel-at91rm9200-kits Real-time characterization
- 253.1. dnp_sk23 Real-time characterization
- 254.1. kb9200 Real-time characterization
- 258.1. sam9260ek Real-time characterization
- 259.1. sam9261ek Real-time characterization
- 260.1. sam9263ek Real-time characterization
- 261.1. sam9g20ek Real-time characterization
- 262.1. sam9g45ek Real-time characterization
- 265.1. zoom_l138 Real-time characterization
- 267.1. mcimx25x Real-time characterization
- 274.1. bcm56150_ref Real-time characterization
- 275.1. cyclone5_sx Real-time characterization
- 276.1. dreamchip_a10 Real-time characterization
- 279.1. sama5d3x_cm Real-time characterization
- 280.1. sama5d3xpld Real-time characterization
- 281.1. Raspberry Pi3 Real-time characterization
- 283.1. VM Real-time characterization
- 284.1. VM Real-time characterization
- 287.1. twr_k60n512 Real-time characterization
- 288.1. twr_k70f120m Real-time characterization
- 294.1. sam4e_ek Real-time characterization
- 295.1. samv71-XULT Real-time characterization
- 299.1. stm32x0g_eval Real-time characterization
- 300.1. stm32f429i_disco Real-time characterization
- 301.1. stm32f746g_disco Real-time characterization
- 302.1. stm32h735_disco Real-time characterization
- 303.1. nucleo144_stm32h723 Real-time characterization
- 304.1. stm32f4dis Real-time characterization
- 305.1. stm324x9i_eval Real-time characterization
- 306.1. stm32f7xx_eval Real-time characterization
- 307.1. stm32l476_disco Real-time characterization
- 308.1. bcm943362wcd4 Real-time characterization
- 309.1. bcm943364wcd1 Real-time characterization
- 310.1. stm32l4r9_disco Real-time characterization
- 313.1. MIMXRT1050-EVK Real-time characterization
- 327.1. m5213evb Real-time characterization
- 350.1. ads512101 Real-time characterization
- 351.1. mpc5554demo Real-time characterization
- 352.1. mpc8309kit Real-time characterization
2024-03-18 | Open Publication License |