下载
中文
注册

aclrtMapMem

函数功能

将虚拟地址映射到物理地址。

本接口需与以下其它接口配合使用,以便申请连续的虚拟内存地址、最大化利用物理内存地址的目的:
  1. 申请虚拟地址空间(aclrtReserveMemAddress接口);
  2. 申请物理内存(aclrtMallocPhysical接口);
  3. 将虚拟地址映射到物理内存(aclrtMapMem接口);
  4. 执行任务(调用具体的任务接口);
  5. 取消虚拟地址与物理内存的映射(aclrtUnmapMem接口);
  6. 释放物理内存(aclrtFreePhysical接口);
  7. 释放虚拟地址空间(aclrtReleaseMemAddress接口)。

约束说明

Ascend RC形态不支持调用本接口。

函数原型

aclError aclrtMapMem(void *virPtr, size_t size, size_t offset, aclrtDrvMemHandle handle, uint64_t flags)

参数说明

参数名

输入/输出

说明

virPtr

输入

待映射的虚拟地址指针。

这个地址不一定是起始地址,用户也可以根据起始地址自行偏移后,再映射。

虚拟地址当前需按照2M对齐。

size

输入

待映射的内存大小,单位Byte。

size当前需按照2M对齐。

offset

输入

物理内存偏移值,当前只能设置为0。

handle

输入

物理地址信息handle。

flags

输入

预留,当前只能设置为0。

返回值说明

返回0表示成功,返回其它值表示失败。