Home |
RTTarget-32 Programming Manual Running Win32 Programs without Win32 Running a Program on the Target Running with or without Paging Installing Hardware Interrupt Handlers Catching NULL Pointer Assignments Running without Run-Time System Configuration for Debug and Release Builds Loading DLLs through a File System Using the MetaWINDOW Graphics Library Custom MP Floating Pointer Structure Run-Time Requirements Compiling and Linking with On Time RTOS-32 |
Run-Time RequirementsOn Time RTOS-32 programs to be run under the Real-Time Hypervisor must always contain an Init function which must call RTRthInit to initialize the Real-Time Hypervisor run-time system. Optionally, function RTRthExtendHeap may also be called from the Init function to add all available RAM to the program's heap. The program may not use any hardware devices which have not been assigned to the On Time RTOS-32 virtual machine. For example, the program must not call functions such as RTCMOSSetSystemTime or RTCMOSExtendHeap. The same is true for the keyboard driver call KBInit. Usually, there is also no screen. Under the Real-Time Hypervisor, programs always run in APIC mode. Functions such as RTMPSetAPICMode or RTMPSetPICMode are not supported an must not be called. The same applies to all functions related to the "MP Floating Pointer Structure" (RTMPDumpInfo, RTMPTableCreate, etc). The IOAPIC and multi-CPU configuration information is supplied by the Real-Time Hypervisor run-time system instead. The Real-Time Hypervisor's virtual network interface driver needs up to about 512 bytes stack space in its interrupt handler. This can lead to stack overflows when the Debug Monitor is configured to use virtual network interface. For this reason, it is recommended to execute RTKConfig.TaskStackOverhead = 1024; // add some room for the RTS VNet network driver before RTKernelInit is called. Under On Time RTOS-32, date/time synchronization is not started automatically. It is thus recommended to call libRth function rthTimeSyncStart after RTKernelInit. The installation of a valid TIME_ZONE_INFORMATION structure through Win32 API function SetTimeZoneInformation is also required. For details, please see demo program HelloRth. Likewise, the Event System is also not started automatically. It is thus required to call function RTRTHEventSystemStart after RTKernelInit. The Event system can be stopped with function RTRTHEventSystemStop.
|