Home    Prev Next    
Contents
Programming For ISA Hardware
Overview
Programmers Guide
Scenario
I/O Ports control
Single read/write operations
Data array read/write operations
Accessing Physical Memory Addresses
Memory Mapping
Additional Functions
Hardware interrupts handling at user level
Common Functions
OpenRapidIsa
CloseRapidIsa
IsRapidIsaOpened
GetHardwareConfiguration
Direct Port I/O
GetPortByte
GetPortWord
GetPortLong
SetPortByte
SetPortWord
SetPortLong
ReadPortBuffer
WritePortBuffer
Memory Access
MapPhysToLinear
UnmapMemory
GetMem
GetMemW
GetMemL
SetMem
SetMemW
SetMemL
Hardware Interrupts
UnmaskIsaIrq
MaskIsaIrq
GetInterruptCounter
MapPhysToLinear
Go to RapidDriver Main Page

Maps a specific physical address to a pointer in linear memory for the current process' address space. This function is intended to be used to access
device-specific physical memory (for the memory-mapped devices).

Language

Description

C/C++
void * MapPhysToLinear ( HANDLE hIsa, ULONG PhysAddr, ULONG MappedSize );
Delphi
function MapPhysToLinear ( hIsa: THandle; PhysAddr:Longword; MappedSize: Longword ): Pointer; stdcall;
VB
Function MapPhysToLinear ( ByVal hIsa As Long, ByVal PhysAddr As Long, ByVal MappedSize As Long) As Long



Parameters:
hIsa - the handle returned by a successful call to OpenRapidIsa
PhysAddr - 32-bit physical address of the start of the region to examine
MappedSize - length in bytes of the physical region. The function uses this parameter to verify that the entire range is addressable.

Return Value :
The linear address of the first byte in the specified range of physical addresses.

Comments:
1. Do not forget to unmap this physical memory area by UnmapMemory when your application not need it anymore.
2. No information can be concluded about the linear addresses for physical addresses if they lie outside the range requested.

See also : UnmapMemory