On Time RTOS-32 Documentation
Welcome
RTTarget-32
RTTarget-32 Programming Manual
Introduction
Features of RTTarget-32
Terms and Definitions
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
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
|
Features of RTTarget-32
The main features of RTTarget-32 are:
- Target Booting
RTTarget-32 can boot the computer directly from floppy disk, hard disk, USB disk, CD-ROM, EPROM disk, flash disk, ROM, or via MS-DOS or an UEFI firmware. The boot code requires only about 6k of memory. In addition, the boot code maintains system data structures such as the GDT, IDT, and the page table.
- Supports Borland C/C++, Borland Delphi, and Microsoft C/C++
Standard Win32 compilers can be used to develop 32-bit embedded systems applications.
- Supports Cross Debugging
Source-level debugging is available for RTTarget-32 programs using Borland's TD32, Microsoft's Visual Studio.
- Supports C/C++ and Pascal Run-Time Systems
Run-time system routines like printf, malloc, WriteLn, etc., are available. Porting existing applications is simplified considerably. Alternatively, programs can run without run-time system for even less memory overhead.
- Low Resource Requirements
32-bit programs developed with RTTarget-32 can run in as little as 16k of memory.
- Supports Privilege Levels
Programs can run at different privilege levels to optimize either for maximum protection or for best performance.
- Supports Paging
Page-level protection is fully supported. The memory protection features of the Intel 386 and higher CPUs are used to guarantee that programs cannot destroy protected data, code, or critical system tables.
- Virtual Memory
In conjunction with RTFiles-32, RTTarget-32 supports memory mapped files to create a very large virtual address space backed by disk files. The real-time behavior of an application using memory mapped files is not affected. Application code or data not located in a memory mapped file is never swapped by the system.
- 387 FPU Software Emulator
Even on CPUs without a hardware floating point unit, applications can use floating point calculations and types such as float, double, and long double. The 387 math emulator is fully reentrant and interruptible.
- Multiprocessor Support
RTTarget-32 has functions to start and stop additional CPUs. Spinlocks and inter-processor interrupts are available to synchronize execution among CPUs. While RTTarget-32 does not contain a multitasking scheduler, RTKernel-32 can use the multiprocessor support to schedule threads on up to 32 CPUs.
- APIC Support
If the target has at least one IOAPIC (Input Output Advanced Interrupt Controller), RTTarget-32 applications can use it to replace the legacy i8259 interrupt controllers.
- Supports DLLs
Applications can consist of one main program plus up to 63 DLLs. Even DLLs not specifically designed for RTTarget-32 may be used. DLLs can be statically linked into a program image or loaded dynamically through the file system RTFiles-32.
- Data compression
Program code and data can be compressed to save EPROM or boot disk space and to accelerate downloads.
- RAM Files
Although RTTarget-32 does not include a file system, file I/O can be simulated with file images located in reserved RAM on the target. This feature is useful to support code that performs file I/O and cannot be changed or to easily generate different configurations of a program that reads information from a file at run-time. If a true FAT or ISO 9660 file system is required, On Time's file system RTFiles-32 is fully supported by RTTarget-32.
- Extended RAM
RTTarget-32 applications are 32 bit but can nevertheless use up to one terabyte of RAM through RTTarget-32's Extended RAM Management API.
Introduction
Terms and Definitions
|