On Time RTOS-32 Documentation
Welcome
RTTarget-32
RTTarget-32 Programming Manual
Introduction
Running Win32 Programs without Win32
The i386 Microprocessor
RTLoc: Locating a Program
Running a Program on the Target
Cross Debugging
Using an IDE
The RTTarget-32 API
Demo Programs
Advanced Topics
Choosing a Locate Method
Running with or without Paging
Running at CPL 0 or 3
Installing Hardware Interrupt Handlers
Catching NULL Pointer Assignments
Catching Stack Overflows
Running without Run-Time System
Avoid Repeated Downloads
Configuration for Debug and Release Builds
Using Data Compression
Using DLLs through RTLoc
Loading DLLs through a File System
RAM File System
Installable File System
Multithread Applications
Using the MetaWINDOW Graphics Library
Using the 387 Emulator
Using Non-Volatile Memory
APIC Mode
Multiprocessor Applications
Custom MP Floating Pointer Structure
RTVmf-32
RTRth-32
Performance Optimizations
Compiling and Linking with On Time RTOS-32
Redistributable Components of RTTarget-32
RTLoc Error Messages
RTTarget-32 Reference Manual
RTKernel-32
RTFiles-32
RTIP-32
RTPEG-32
RTUSB-32
|
Multithread Applications
RTTarget-32 does not contain a scheduler, but it does support RTKernel-32, On Time's real-time multitasking kernel. In multitasking applications, the following issues must be considered:
- RTTarget-32 implements a number of Win32 thread API functions as dummy functions. These must be replaced by the multitasking system. This is achieved by linking the multitasking library before the RTTarget-32 library Rtt32.lib.
- If DLLs are used, both the RTTarget-32 and the multitasking library must reside in the same EXE or DLL. Thus, RTTarget-32's predefined system DLL Rtt32dll.dll cannot be used. You must create your own custom System DLL as in example programs DLLDemo2 and DLLDemo3.
- RTTarget-32's Win32 memory management functions are thread safe (they are protected with a critical section). However, RTTarget-32's memory mapping functions (RTFindPhysMem, RTReserveVirtualAddress, RTReleaseVirtualAddress, RTMapMem, RTMapPhysMem, RTExtendHeap, and RTCMOSExtendHeap) are not. If any of these functions can execute simultaneously with other memory management or memory mapping functions, they must by protected with function RTLockHeap and RTUnlockHeap. However, in most applications, they can be executed before any threads are created to avoid reentrance problems.
Advanced Topics
Installable File System
Using the MetaWINDOW Graphics Library
|