int MapPhysicalMemory (unsigned int physAddress, unsigned int numBytes, void *ptrToMappedAddr, int *mapHandle);
Maps a physical address to a pointer that you can use in your program like any other C pointer.
For example, you can read or write an area of physical memory by incrementing the pointer after each access.
In cases where you cannot transfer all your data at once, MapPhysicalMemory provides better performance than ReadFromPhysicalMemory or WriteToPhysicalMemory. There is a significant performance penalty to mapping and unmapping physical memory. If you call ReadFromPhysicalMemory or WriteToPhysicalMemory on each access, you map and unmap the memory each time.
When you no longer need the pointer, call UnMapPhysicalMemory on the handle mapHandle returns.
![]() |
Note MapPhysicalMemory requires the LabWindows/CVI low-level support driver. LabWindows/CVI loads the driver at startup if it is on disk. You can check whether LabWindows/CVI loaded the driver at startup by calling CVILowLevelSupportDriverLoaded. |
![]() |
Note MapPhysicalMemory does not check the validity of the physical address. |
int physAddr = 0xB000;
int numBytes = 0x1000;
int *physMemPtr;
int mapHandle;
int data, i;
if ( ! MapPhysicalMemory (physAddr, numBytes, &physMemPtr, &mapHandle))
{
/* report error */
}
else
{
for (i=0; i < numBytes/sizeof(int); i++)
{
/* <determine data to write> */
*physMemPtr++ = data;
}
UnMapPhysicalMemory (mapHandle);
}
Input | ||
Name | Type | Description |
physAddress | unsigned integer | Physical address to map into user memory. No restrictions exist on the address, which can be below or above 1 MB. |
numBytes | unsigned integer | Number of bytes of physical memory to map. |
Output | ||
Name | Type | Description |
ptrToMappedAddr | any type of pointer | The mapped physical address. Pass a pointer by reference as this parameter. |
mapHandle | integer | The handle that you pass to the UnMapPhysicalMemory function to unmap the physical memory. |
Name | Type | Description | ||||||
status | integer | Indicates whether the function succeeded.
|