Home |
RTTarget-32 Programming Manual Running Win32 Programs without Win32 BootCode Running a Program on the Target Compiling and Linking with On Time RTOS-32 |
BootCodeIf an application must be booted (e.g., it doesn't run under the Monitor which has booted the target hardware already), you must include boot code. The Name parameter is the filename of a DOS EXE file containing the boot code. Three standard boot codes, located in the Bin directory, come with RTTarget-32: Boot.exeThis boot code is suitable for targets that boot in real mode from ROM (EPROM or flash). It contains no BIOS dependencies or BIOS support. Biosboot.exeBoots in real mode with legacy BIOS support (e.g. booting from disk, DOS, or BIOS extension). This boot code includes support for RTLoc's GMode command and function RTGetGMode, function RTGetExtMem, function RTCMOSExtendHeap, and A20 switching. Pmboot.exeBoots in protected mode. This boot code is used on NS486 systems or when the CPU has been put in 32-bit flat protected mode by some other means (for exmaple RTVmf-32, RTRTh-32, or UEFI). This boot code expects to be invoked at CPL 0 with CS, DS, ES, and SS set to zero-based flat 32-bit segments. The boot code must be paragraph (16-byte) aligned. Depending on the desired boot method, the following boot code and other entities must be located: Boot from diskBiosboot.exe, BootData, and DiskBuffer Boot from BIOS extensionBiosboot.exe, BootData, and BIOSVector Boot From MS-DOSBiosboot.exe, BootData, optionally a DiskBuffer Boot from ROMBoot.exe or Pmboot.exe, BootData, and BootVector Boot from UEFIPmboot.exe, BootData, and BootVector By default, all three standard boot codes will detect an installed FPU, initialize interrupt controllers at port addresses 20h and A0h, install dummy interrupt handlers for IRQ 0 and 1, and will set up the CPU to run applications at CPL 3. Biosboot.exe also enables A20, if it is locked. See section BOOTFLAGS Command on how to change this behavior. Apart from the interrupt controllers, none of the standard boot codes contain any chipset initialization. Demo programs ExLED, HelloSC400, HelloSC520, and NSHello show how to initialize a controller using configuration file commands.
|