Article updated
at 28 Oct 2017
Attention: this is a legacy library and thus not supported by Toradex anymore. We recommend that you use the new libraries for all Toradex modules. Please see the Toradex CE Libraries and Code Samples for up-to-date information.
Library to support Register Mapping. More...
struct MEM_T Struct for physical and virtual addresses - useful for DMA operations)
|
LPVOID |
AllocPhysMem (DWORD cbSize, DWORD fdwProtect, DWORD dwAlignmentMask, DWORD dwFlags, PULONG pPhysicalAddress) |
|
BOOL |
FreePhysMem (LPVOID lpvAddress) |
|
BOOL |
VirtualCopy (LPVOID lpvDest, LPVOID lpvSrc, DWORD cbSize, DWORD fdwProtect) |
|
BOOL |
VirtualSetAttributes (LPVOID lpvAddress, DWORD cbSize, DWORD dwNewFlags, DWORD dwMask, LPDWORD lpdwOldFlags) |
|
LPVOID |
CreateStaticMapping (DWORD dwPhysBase, DWORD dwSize) |
|
void * |
MapRegister (DWORD pa) |
|
void * |
MapMemory (DWORD pa, DWORD size) |
|
void |
UnMapRegister (volatile void *pRegs) |
|
LPVOID |
AllocPhysMemCompat (DWORD cbSize, DWORD fdwProtect, DWORD dwAlignmentMask, DWORD dwFlags, PULONG pPhysicalAddress) |
|
BOOL |
FreePhysMemCompat (LPVOID lpvAddress) |
|
BOOL |
VirtualCopyCompat (LPVOID lpvDest, LPVOID lpvSrc, DWORD cbSize, DWORD fdwProtect) |
|
BOOL |
LockPagesCompat (LPVOID lpvAddress, DWORD cbSize, PDWORD pPFNs, int fOptions) |
|
BOOL |
VirtualSetAttributesCompat (LPVOID lpvAddress, DWORD cbSize, DWORD dwNewFlags, DWORD dwMask, LPDWORD lpdwOldFlags) |
|
void * |
OALPAtoVA (UINT32 pa, BOOL cached) |
|
void |
MRLGetLibVersion (DWORD *pVerMaj, DWORD *pVerMin, DWORD *pBuild) |
|
Library to support Register Mapping.
- Copyright
- Copyright (c) 2013 Toradex AG
- Author:
- kia
- Rev:
- 2101
- Date:
- 2014-03-10 14:27:38 +0100 (Mo, 10 Mrz 2014)
- Target Platforms:
- Colibri PXAxxx, T20 & T30, Apalis T30
LPVOID AllocPhysMem |
( |
DWORD |
cbSize, |
|
|
DWORD |
fdwProtect, |
|
|
DWORD |
dwAlignmentMask, |
|
|
DWORD |
dwFlags, |
|
|
PULONG |
pPhysicalAddress |
|
) |
|
|
LPVOID AllocPhysMemCompat |
( |
DWORD |
cbSize, |
|
|
DWORD |
fdwProtect, |
|
|
DWORD |
dwAlignmentMask, |
|
|
DWORD |
dwFlags, |
|
|
PULONG |
pPhysicalAddress |
|
) |
|
|
Win CE 6.0 and 5.0 compatible version of AllocPhysMem()
- Parameters
-
[in] |
cbSize |
Number of bytes to allocate |
[in] |
fdwProtect |
Specifies the protection desired |
[in] |
dwAlignmentmask |
Bit mask describing the byte alignment |
[in] |
dwFlags |
Reserved, set to 0 |
[in] |
pPhysicalAddress |
Physical address |
- Return values
-
0 |
Error |
>0 |
Virtual address |
LPVOID CreateStaticMapping |
( |
DWORD |
dwPhysBase, |
|
|
DWORD |
dwSize |
|
) |
|
|
BOOL FreePhysMem |
( |
LPVOID |
lpvAddress |
) |
|
BOOL FreePhysMemCompat |
( |
LPVOID |
lpvAddress |
) |
|
Win CE 6.0 and 5.0 compatible version of FreePhysMem()
- Parameters
-
[in] |
lpvAddress |
Virtual Address |
- Return values
-
FALSE,: |
Failure, TRUE: Success |
BOOL LockPagesCompat |
( |
LPVOID |
lpvAddress, |
|
|
DWORD |
cbSize, |
|
|
PDWORD |
pPFNs, |
|
|
int |
fOptions |
|
) |
|
|
Win CE 6.0 and 5.0 compatible version of LockPages()
Locks into memory the specified region of the virtual address space
- Parameters
-
[in] |
lpvAddress |
Virtual Starting Address |
[in] |
cbSize |
Number of bytes to lock |
[in] |
pPFNs |
Array of physical frame numbers |
[in] |
fOptions |
Option Flags |
- Return values
-
FALSE,: |
Failure, TRUE: Success |
void* MapMemory |
( |
DWORD |
pa, |
|
|
DWORD |
size |
|
) |
|
|
Same as MapRegister() but can also map larger sections
- Parameters
-
[in] |
pa |
Physical address. |
[in] |
size |
Size to map in bytes. |
- Return values
-
void* MapRegister |
( |
DWORD |
pa |
) |
|
Map Registers at a physical address (map areas up to the PAGE_SIZE).
- Parameters
-
- Return values
-
void MRLGetLibVersion |
( |
DWORD * |
pVerMaj, |
|
|
DWORD * |
pVerMin, |
|
|
DWORD * |
pBuild |
|
) |
|
|
Returns the library Version.
- Parameters
-
[out] |
pVerMaj |
Returns the major version number. Set this parameter to NULL if not required. |
[out] |
pVerMin |
Returns the minor version number. Set this parameter to NULL if not required. |
[out] |
pBuild |
Returns the build number. Set this parameter to NULL if not required. |
void* OALPAtoVA |
( |
UINT32 |
pa, |
|
|
BOOL |
cached |
|
) |
|
|
Get Virtual Address from Physical Address
- Parameters
-
[in] |
pa |
Physical Address |
[in] |
cached |
TRUE: Cached, FALSE: Not cached |
- Return values
-
void UnMapRegister |
( |
volatile void * |
pRegs |
) |
|
Unmap Register
- Parameters
-
[in] |
pRegs,: |
Pointer to virual address |
BOOL VirtualCopy |
( |
LPVOID |
lpvDest, |
|
|
LPVOID |
lpvSrc, |
|
|
DWORD |
cbSize, |
|
|
DWORD |
fdwProtect |
|
) |
|
|
BOOL VirtualCopyCompat |
( |
LPVOID |
lpvDest, |
|
|
LPVOID |
lpvSrc, |
|
|
DWORD |
cbSize, |
|
|
DWORD |
fdwProtect |
|
) |
|
|
Win CE 6.0 and 5.0 compatible version of VirtualCopy()
- Parameters
-
[in] |
lpvDest |
Destination Virtual Address |
[in] |
lpvSrc |
Source Virtual Address |
[in] |
cbSize |
Number of bytes to copy |
[in] |
fdwProtect |
Specifies the protection desired |
- Return values
-
FALSE,: |
Failure, TRUE: Success |
BOOL VirtualSetAttributes |
( |
LPVOID |
lpvAddress, |
|
|
DWORD |
cbSize, |
|
|
DWORD |
dwNewFlags, |
|
|
DWORD |
dwMask, |
|
|
LPDWORD |
lpdwOldFlags |
|
) |
|
|
BOOL VirtualSetAttributesCompat |
( |
LPVOID |
lpvAddress, |
|
|
DWORD |
cbSize, |
|
|
DWORD |
dwNewFlags, |
|
|
DWORD |
dwMask, |
|
|
LPDWORD |
lpdwOldFlags |
|
) |
|
|
Win CE 6.0 and 5.0 compatible version of VirtualSetAttributes()
Change the per-page attributes for a range of virtual memory
- Parameters
-
[in] |
lpvAddress |
Virtual Starting Address |
[in] |
cbSize |
Number of bytes |
[in] |
dwNewFlags |
The new flags values |
[in] |
dwMask |
Mask the bits to be changed |
[out] |
lpdwOldFlags |
If not NULL, returns the original value of the first page entry |
- Return values
-
FALSE,: |
Failure, TRUE: Success |