Introduction to foreign commercial embedded real-time operating system VxWORKS
1 Overview
WRS (Wind River System) company is an internationally renowned supplier of embedded real-time operating systems business. Its product VxWroks initially ran on real-time kernels such as VRTX, pSOS and its own slower WIND kernel. From the release of 5.0, it no longer supports other kernels and only runs its own WIND kernel (rewritten WIND kernel). The basic design idea of ??this system is to make full use of the advantages of VxWORKS and Unix/Windows, so that they can complement each other optimally with embedded software.
Although Unix and Windows have friendly user interfaces and rich development tools, they are not suitable for real-time application development due to the time and space limitations of embedded real-time systems. The environmental resources (non-real-time components) provided by traditional real-time operating systems for development are very poor. VxWORKS enables embedded system developers to better use Unix/Windows in embedded development environments.
VxWORKS can handle urgent real-time affairs on the one hand, and on the other hand, let the host be used for program development and non-real-time affairs. Developers can tailor VxWORKS appropriately to their application needs. Additional network functions can be included during development to speed up the development process. In the final version of the product, the additional functions can be removed to save system resources.
WRS company also provides the latest generation of IDE - the integrated development environment Tornado on the host. Developers use Tornado to edit, compile, connect and store real-time code, but the running and debugging of real-time code are Do it on VxWORKS. The final generated target image can be separated from the host system and network and run independently on ROM, disk (soft/hard) or FLASH. The host system and VxWORKS can work together in a hybrid application: connected via a network, the host computer uses the VxWORKS system as the real-time server.
Tornado, developed in 1995, won Electronic Design News' "Embedded Development Software Innovation of the Year" award [9] .
2 Features Support a variety of hardware environments
The CPUs supported by the VxWORKS operating system include: Power PC, 68K, CPU32, Space, i960, x86, Mips, etc.; it also supports RISC, DSP technology. Microkernel structure, short switching time between tasks, small interruption delay, and large network traffic. It has good tailoring ability, and more than 80 components can be cut, and users can configure it conveniently through the cross-development environment. Supporting dynamic connection and dynamic downloading of applications allows developers to save the step of connecting and downloading applications to the operating system kernel for each debugging, shortening the editing/debugging cycle. Better compatibility: Compatible with POSIX1003.1b standard (Portable Operating System Interface for computer Environments, = Portable Operating System UNIX, IEEE 1003.1). High reliability, high availability, and high security.
3 Composition
VxWORKS includes process management, storage management, device management, file system management, network protocols and system applications. It occupies a small storage space and supports high reduction. Ensure that the system can operate at a higher efficiency. The VxWORKS architecture is shown in Figure 1.5 [9][10][59] .
VxWORKS includes the following parts: Wind kernel
Wind kernel includes priority-based preemptive multi-task scheduling mechanism, inter-task synchronization and inter-process communication mechanism, as well as interrupt processing, viewing Watchdog and memory management mechanisms. It not only provides a variety of semaphore mechanisms to support synchronization and mutual exclusion between tasks, but also provides mechanisms such as message queues, pipes, sockets, and signals to support inter-process communication. I/O system
VxWORKS provides a fast and flexible ANSI C-compliant I/O system, including UNIX-standard buffered I/O and POSIX-standard asynchronous I/O. Also includes multiple drivers (including network driver, pipe driver, RAM disk driver, SCSI driver, disk driver, display driver, keyboard driver, parallel port driver, etc.). File System
VxWORKS provides a fast file system suitable for real-time system applications. It has a variety of native file systems that support the use of block devices. These devices all use a standard interface, allowing the file system to be flexibly ported across device drivers. Board Support Package BSP (Board Support Package)
Board Support Package provides a unified software interface for the hardware functions of various boards, including hardware initialization, interrupt generation and processing, hardware clock and timing Processor management, local and bus memory address mapping, memory allocation, etc. Each board supports a boot ROM (Root ROM) or other boot mechanism. Network Facilities and Products Virtual Memory and Shared Memory
VxWORKS's VxWMI provides a virtual memory mechanism for target boards with MMU (Memory Mapping Unit). VxMP provides shared semaphores, message queues, and shared memory areas between different processors. Target Agent (Target Agent)
The target code follows the WDB (Wind Debug) protocol, allowing the target machine to connect to the Tornado development tool on the host. As shown in Figure 1.6, the target agent runs as a task in VxWORKS.
The Tornado target server sends debugging requests to the target proxy. Debug requests often determine the target agent's control and processing of other tasks in the system. By default, the target server and target agent communicate through the network, and users can also change the communication method.
The VxWORKS operating system entered China in 1996 and is widely used in embedded real-time applications such as communications, national defense, industrial control, and medical equipment. It is an excellent object for studying embedded real-time operating systems.