On Time RTOS-32 Documentation
Welcome
RTTarget-32
RTTarget-32 Programming Manual
RTTarget-32 Reference Manual
Introduction
RTTarget-32 Configuration
Screen I/O
Interrupt Handling
Port I/O
System Functions
Program Loading
Function RTLoadRTBFile
Function RTRunProgram
Function RTBootRM and RTBootPM
Function RTDLLThreadEvent
Function RTMakeBootDisk
Function RTRestoreBootSector
Function RTSetBootParams
Function RTGetBIOSDataPtr
Function RTSetBIOSData
Function RTTUefiBootSuccess
Memory Mapping and Management
Real-Time Clock and CMOS RAM
Keyboard
Mouse and Touch Screen Driver
Parallel Port Printer
Serial Port I/O
PCI BIOS
Plug-and-Play BIOS
PC Cards (PCMCIA)
MetaWINDOW Initialization
Run-Time System Support
System Management BIOS (SMBIOS)
Advanced Programmable Interrupt Controller (APIC)
Multiprocessor Management
Spinlocks
Advanced Configuration and Power Interface (ACPI) Tables
Extended RAM Management
RTVmf-32
RTRth-32
RTKernel-32
RTFiles-32
RTIP-32
RTPEG-32
RTUSB-32
|
Function RTRunProgram
The use of this function is deprecated. Please using function RTBootRM or RTBootPM instead.
RTRunProgram can execute a child application contained in a separate program image produced by RTLoc:
int RTRunProgram(const RTAppHeader * Header);
ParametersHeaderMust point to the header of the child application.
return valueThe exit code of the child.
The child application referenced by parameter Header must have been completely loaded into the physical address space. This can be done loading a BIN file as demonstrated by program FTPLoader.
RTRunProgram will save and restore the following interrupt vectors before/after the child runs: 7h, 61h, and 40h - 4Fh.
A program which intends to execute function RTRunProgram (called the loader or parent) must adhere to the following restrictions:
- It must reside completely in the physical address space. This means that it cannot use virtual regions or the FillRAM command in its configuration file.
- It must not use RTTarget-32's virtual memory manager with uncommitted memory support. Preferably, it should not use the run-time system and a heap at all to preserve memory for the program to be loaded. Please refer to function RTSetFlags on how to force use of the fixed memory manager.
- While the child program is running, the parent's heap is not accessible unless it has been assigned ReadWrite access in the configuration file.
- The child program must not overlap any memory used by the parent. This is best achieved by using the Reserve command in the child's configuration file.
- RTRunProgram is not reentrant and cannot be called simultaneously by several tasks in a multitasking environment. However, it may be used again by a child program.
- For applications running at CPL 3, RTRunProgram may disable interrupts for several seconds to expand compressed entities.
Function RTLoadRTBFile
Function RTBootRM and RTBootPM
|