VxWorks Application Programmer's Guide, 6.7 Programmers Guide
User Manual:
Open the PDF directly: View PDF
Page Count: 432 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- VxWorks Application Programmer's Guide, 6.7
- Contents
- 1 Overview
- 2 Real-Time Processes
- 2.1 Introduction
- 2.2 About Real-time Processes
- 2.3 Configuring VxWorks For Real-time Processes
- 2.4 Using RTPs Without MMU Support
- 2.5 About VxWorks RTP Virtual Memory Models
- 2.6 Using the Overlapped RTP Virtual Memory Model
- 3 RTP Applications
- 3.1 Introduction
- 3.2 Configuring VxWorks For RTP Applications
- 3.3 Developing RTP Applications
- RTP Applications With Shared Libraries and Plug-Ins
- RTP Applications for the Overlapped Virtual Memory Model
- RTP Applications for UP and SMP Configurations of VxWorks
- Migrating Kernel Applications to RTP Applications
- 3.3.1 RTP Application Structure
- 3.3.2 VxWorks Header Files
- 3.3.3 RTP Application APIs: System Calls and Library Routines
- 3.3.4 Reducing Executable File Size With the strip Facility
- 3.3.5 RTP Applications and Multitasking
- 3.3.6 Checking for Required Kernel Support
- 3.3.7 Using Hook Routines
- 3.3.8 Developing C++ Applications
- 3.3.9 Using POSIX Facilities
- 3.3.10 Building RTP Applications
- 3.4 Developing Static Libraries, Shared Libraries and Plug-Ins
- 3.5 Creating and Using Shared Data Regions
- 3.6 Executing RTP Applications
- Caveat With Regard to Stripped Executables
- Starting an RTP Application
- Stopping an RTP Application
- Storing Application Executables
- 3.6.1 Running Applications Interactively
- 3.6.2 Running Applications Automatically
- 3.6.3 Spawning Tasks and Executing Routines in an RTP Application
- 3.6.4 Applications and Symbol Registration
- 3.7 Bundling RTP Applications in a System using ROMFS
- 4 Static Libraries, Shared Libraries, and Plug-Ins
- 4.1 Introduction
- 4.2 About Static Libraries, Shared Libraries, and Plug-ins
- 4.3 Additional Documentation
- 4.4 Configuring VxWorks for Shared Libraries and Plug-ins
- 4.5 Common Development Issues: Initialization and Termination
- 4.6 Common Development Facilities
- 4.7 Developing Static Libraries
- 4.8 Developing Shared Libraries
- 4.8.1 About Dynamic Linking
- 4.8.2 Configuring VxWorks for Shared Libraries
- 4.8.3 Initialization and Termination
- 4.8.4 About Shared Library Names and ELF Records
- 4.8.5 Creating Shared Object Names for Shared Libraries
- 4.8.6 Using Different Versions of Shared Libraries
- 4.8.7 Locating and Loading Shared Libraries at Run-time
- 4.8.8 Using Lazy Binding With Shared Libraries
- 4.8.9 Developing RTP Applications That Use Shared Libraries
- 4.8.10 Getting Runtime Information About Shared Libraries
- 4.8.11 Debugging Problems With Shared Library Use
- 4.8.12 Working With Shared Libraries From a Windows Host
- 4.9 Developing Plug-Ins
- 4.10 Using the VxWorks Run-time C Shared Library libc.so
- 5 C++ Development
- 6 Multitasking
- 6.1 Introduction
- 6.2 Tasks and Multitasking
- 6.3 Task Scheduling
- 6.4 Task Creation and Management
- 6.5 Task Error Status: errno
- 6.6 Task Exception Handling
- 6.7 Shared Code and Reentrancy
- 6.8 Intertask and Interprocess Communication
- 6.9 Inter-Process Communication With Public Objects
- 6.10 Object Ownership and Resource Reclamation
- 6.11 Shared Data Structures
- 6.12 Mutual Exclusion
- 6.13 Semaphores
- 6.14 Message Queues
- 6.15 Pipes
- 6.16 VxWorks Events
- 6.17 Message Channels
- 6.18 Network Communication
- 6.19 Signals
- 6.20 Timers
- 7 POSIX Facilities
- 7.1 Introduction
- 7.2 Configuring VxWorks with POSIX Facilities
- 7.3 General POSIX Support
- 7.4 Standard C Library: libc
- 7.5 POSIX Header Files
- 7.6 POSIX Namespace
- 7.7 POSIX Process Privileges
- 7.8 POSIX Process Support
- 7.9 POSIX Clocks and Timers
- 7.10 POSIX Asynchronous I/O
- 7.11 POSIX Advisory File Locking
- 7.12 POSIX Page-Locking Interface
- 7.13 POSIX Threads
- 7.13.1 POSIX Thread Stack Guard Zones
- 7.13.2 POSIX Thread Attributes
- 7.13.3 VxWorks-Specific Pthread Attributes
- 7.13.4 Specifying Attributes when Creating Pthreads
- 7.13.5 POSIX Thread Creation and Management
- 7.13.6 POSIX Thread Attribute Access
- 7.13.7 POSIX Thread Private Data
- 7.13.8 POSIX Thread Cancellation
- 7.14 POSIX Thread Mutexes and Condition Variables
- 7.15 POSIX and VxWorks Scheduling
- 7.16 POSIX Semaphores
- 7.17 POSIX Message Queues
- 7.18 POSIX Signals
- 7.19 POSIX Memory Management
- 7.20 POSIX Trace
- 8 Memory Management
- 9 I/O System
- 9.1 Introduction
- 9.2 Configuring VxWorks With I/O Facilities
- 9.3 Files, Devices, and Drivers
- 9.4 Basic I/O
- 9.4.1 File Descriptors
- 9.4.2 Standard Input, Standard Output, and Standard Error
- 9.4.3 Standard I/O Redirection
- 9.4.4 Open and Close
- 9.4.5 Create and Remove
- 9.4.6 Read and Write
- 9.4.7 File Truncation
- 9.4.8 I/O Control
- 9.4.9 Pending on Multiple File Descriptors with select( )
- 9.4.10 POSIX File System Routines
- 9.5 Buffered I/O: stdio
- 9.6 Other Formatted I/O
- 9.7 Asynchronous Input/Output
- 9.8 Devices in VxWorks
- 10 Local File Systems
- 10.1 Introduction
- 10.2 File System Monitor
- 10.3 Virtual Root File System: VRFS
- 10.4 Highly Reliable File System: HRFS
- 10.4.1 Configuring VxWorks for HRFS
- 10.4.2 Configuring HRFS
- 10.4.3 HRFS and POSIX PSE52
- 10.4.4 Creating an HRFS File System
- 10.4.5 Transactional Operations and Commit Policies
- 10.4.6 Configuring Transaction Points at Runtime
- 10.4.7 File Access Time Stamps
- 10.4.8 Maximum Number of Files and Directories
- 10.4.9 Working with Directories
- 10.4.10 Working with Files
- 10.4.11 I/O Control Functions Supported by HRFS
- 10.4.12 Crash Recovery and Volume Consistency
- 10.4.13 File Management and Full Devices
- 10.5 MS-DOS-Compatible File System: dosFs
- 10.5.1 Configuring VxWorks for dosFs
- 10.5.2 Configuring dosFs
- 10.5.3 Creating a dosFs File System
- 10.5.4 Working with Volumes and Disks
- 10.5.5 Working with Directories
- 10.5.6 Working with Files
- 10.5.7 Disk Space Allocation Options
- 10.5.8 Crash Recovery and Volume Consistency
- 10.5.9 I/O Control Functions Supported by dosFsLib
- 10.5.10 Booting from a Local dosFs File System Using SCSI
- 10.6 Raw File System: rawFs
- 10.7 CD-ROM File System: cdromFs
- 10.8 Read-Only Memory File System: ROMFS
- 10.9 Target Server File System: TSFS
- 11 Error Detection and Reporting
- A Kernel to RTP Application Migration
- A.1 Introduction
- A.2 Migrating Kernel Applications to Processes
- A.2.1 Reducing Library Size
- A.2.2 Limiting Process Scope
- A.2.3 Using C++ Initialization and Finalization Code
- A.2.4 Eliminating Hardware Access
- A.2.5 Eliminating Interrupt Contexts In Processes
- A.2.6 Redirecting I/O
- A.2.7 Process and Task API Differences
- A.2.8 Semaphore Differences
- A.2.9 POSIX Signal Differences
- A.2.10 Networking Issues
- A.2.11 Header File Differences
- A.3 Differences in Kernel and RTP APIs
- Index