当前位置:网站首页>B_QuRT_User_Guide(34)
B_QuRT_User_Guide(34)
2022-06-30 20:09:00 【weixin_38498942】
B_QuRT_User_Guide(34)
- 21.22 qurt_mem_pool_attr_get_size()
- 21.23 qurt_mem_pool_create()
- 21.24 qurt_mem_pool_remove_pages()
- 21.25 qurt_mem_region_attr_get()
- 21.26 qurt_mem_region_attr_get_bus_attr()
- 21.27 qurt_mem_region_attr_get_cache_mode()
- 21.28 qurt_mem_region_attr_get_mapping()
- 21.29 qurt_mem_region_attr_get_physaddr()
- 21.30 qurt_mem_region_attr_get_size()
- 21.31 qurt_mem_region_attr_get_type()
- 21.32 qurt_mem_region_attr_get_virtaddr()
- 21.33 qurt_mem_region_attr_get_physaddr_64()
- 21.34 qurt_mem_region_attr_init()
21.22 qurt_mem_pool_attr_get_size()
21.22.1 功能文档
21.22.1.1 static int qurt_mem_pool_attr_get_size ( qurt_mem_pool_attr_t ∗ attr, int range_id, qurt_size_t ∗ size )
获取指定内存池范围的大小。
相关数据类型
qurt_mem_pool_attr_t
qurt_size_t
参数
| in | attr | 指向内存池属性结构的指针。 |
| in | range_id | 内存池范围键。 |
| out | size | 指向范围大小的目标变量的指针。 |
返回值
0 – 成功。
QURT_EINVALID – 范围无效。
依赖项
None.
21.23 qurt_mem_pool_create()
21.23.1 功能文档
21.23.1.1 int qurt_mem_pool_create ( char ∗ name, unsigned base, unsigned size,qurt_mem_pool_t ∗ pool )
从物理地址范围动态创建内存池对象。
该池被分配一个具有指定基地址和大小的内存区域。
传递给此函数的基地址和大小值必须与 4K 字节边界对齐,并且必须表示为实际基地址和大小值除以 4K。
例如函数调用:qurt_mem_pool_create ("TCM_PHYSPOOL", 0xd8020, 0x20, &pool)
… 相当于 QuRT 系统配置文件中的以下静态池定义:
<physical_pool name="TCM_PHYSPOOL">
<region base="0xd8020000" size="0x20000" />
</physical_pool>
注意:动态创建的池与静态池不同。 特别是,qurt_mem_pool_attr_get() 对动态创建的池无效。
动态池创建会永久消耗系统资源,并且无法撤消。
相关数据类型
qurt_mem_pool_t
参数
| in | name | 指向内存池名称的指针。 |
| in | base | 内存区域的基地址(除以 4K)。 |
| in | size | 内存区域的大小(以字节为单位)(除以 4K)。 |
| out | pool | 指向内存池对象的指针。 |
返回值
QURT_EOK – 成功。
依赖项
None.
21.24 qurt_mem_pool_remove_pages()
21.24.1 功能文档
21.24.1.1 int qurt_mem_pool_remove_pages ( qurt_mem_pool_t pool, unsigned first_pageno, unsigned size_in_pages, unsigned flags, void(∗)(void ∗) callback, void ∗ arg )
从指定的内存池对象中删除物理地址范围。
如果地址范围的任何部分正在使用,则此操作将返回错误而不更改状态。
注意:仅使用 root 权限调用此操作(guest-OS 模式)。
将来,此操作将支持(通过 flags 参数)在使用部分范围时删除物理地址范围。
相关数据类型
qurt_mem_pool_t
参数
| in | pool | 内存池对象。 |
| in | first_pageno | 物理地址范围的第一个页码(相当于地址>>12) |
| in | size_in_pages | 物理地址范围内的页数(相当于大小>>12) |
| in | flags | 删除选项。 返回值: 0 – 跳过不属于池的范围内的漏洞(默认) |
QURT_POOL_REMOVE_ALL_OR_NONE – 仅当指定的物理地址范围完全包含在池可用空间中(没有空洞)时才会删除页面。 | ||
| in | callback | 成功删除页面时调用的回调过程。 如果操作失败,则不调用。 将 0 作为参数值传递会导致不调用回调。 |
| in | arg | 作为参数传递给回调过程的值。 |
返回值
QURT_EOK – 页已成功删除。
依赖项
None.
21.25 qurt_mem_region_attr_get()
21.25.1 功能文档
21.25.1.1 int qurt_mem_region_attr_get ( qurt_mem_region_t region, qurt_mem_region_attr_t ∗ attr )
获取指定消息区域的内存属性。 内存区域创建后,其属性无法更改。
相关数据类型
qurt_mem_region_t
qurt_mem_region_attr_t
参数
| in | region | 内存区域对象。 |
| out | attr | 指向内存区域属性的目标结构的指针。 |
返回值
QURT_EOK – 操作成功执行。
错误代码 - 失败。
依赖项
None.
21.26 qurt_mem_region_attr_get_bus_attr()
21.26.1 功能文档
21.26.1.1 static void qurt_mem_region_attr_get_bus_attr ( qurt_mem_region_attr_t ∗attr, unsigned ∗ pbits )
从指定的内存区域属性结构中获取 (A1, A0) 总线属性位。
相关数据类型
qurt_mem_region_attr_t
参数
| in | attr | 指向内存区域属性结构的指针。 |
| out | pbits | 指向用内存区域属性结构中的 (A1, A0) 位填充的无符号整数的指针,表示为 2 位二进制数。 |
返回值
None.
依赖项
None.
21.27 qurt_mem_region_attr_get_cache_mode()
21.27.1 功能文档
21.27.1.1 static void qurt_mem_region_attr_get_cache_mode ( qurt_mem_region_attr_t ∗ attr, qurt_mem_cache_mode_t ∗ mode )
从指定的内存区域属性结构中获取缓存操作模式。
相关数据类型
qurt_mem_region_attr_t
qurt_mem_cache_mode_t
参数
| in | attr | 指向内存区域属性结构的指针。 |
| out | mode | 指向缓存模式的目标变量的指针。 |
返回值
None.
依赖项
None.
21.28 qurt_mem_region_attr_get_mapping()
21.28.1 功能文档
21.28.1.1 static void qurt_mem_region_attr_get_mapping ( qurt_mem_region_attr_t ∗ attr, qurt_mem_mapping_t ∗ mapping )
从指定的内存区域属性结构中获取内存映射。
相关数据类型
qurt_mem_region_attr_t
qurt_mem_mapping_t
参数
| in | attr | 指向内存区域属性结构的指针。 |
| out | mapping | 指向内存映射的目标变量的指针。 |
返回值
None.
依赖项
None.
21.29 qurt_mem_region_attr_get_physaddr()
21.29.1 功能文档
21.28.1.1 static void qurt_mem_region_attr_get_mapping ( qurt_mem_region_attr_t ∗ attr, qurt_mem_mapping_t ∗ mapping )
从指定的内存区域属性结构中获取内存映射。
相关数据类型
qurt_mem_region_attr_t
参数
| in | attr | 指向内存区域属性结构的指针。 |
| out | addr | 指向内存区域物理地址的目标变量的指针。 |
返回值
None.
依赖项
None.
21.30 qurt_mem_region_attr_get_size()
21.30.1 功能文档
21.30.1.1 static void qurt_mem_region_attr_get_size ( qurt_mem_region_attr_t ∗ attr,qurt_size_t ∗ size )
从指定的内存区域属性结构中获取内存区域大小。
相关数据类型
qurt_mem_region_attr_t
qurt_size_t
参数
| in | attr | 指向内存区域属性结构的指针。 |
| out | size | 指向内存区域大小的目标变量的指针。 |
返回值
None.
依赖项
None.
21.31 qurt_mem_region_attr_get_type()
21.31.1 功能文档
21.31.1.1 static void qurt_mem_region_attr_get_type ( qurt_mem_region_attr_t ∗ attr,qurt_mem_region_type_t ∗ type )
从指定的内存区域属性结构中获取内存类型。
相关数据类型
qurt_mem_region_attr_t
qurt_mem_region_type_t
参数
| in | attr | 指向内存区域属性结构的指针。 |
| out | type | 指向内存类型的目标变量的指针。 |
返回值
None.
依赖项
None.
21.32 qurt_mem_region_attr_get_virtaddr()
21.32.1 功能文档
21.32.1.1 static void qurt_mem_region_attr_get_virtaddr ( qurt_mem_region_attr_t ∗attr, unsigned int ∗ addr )
从指定的内存区域属性结构中获取内存区域虚拟地址。
相关数据类型
qurt_mem_region_attr_t
参数
| in | attr | 指向内存区域属性结构的指针。 |
| out | addr | 指向内存区域虚拟地址的目标变量的指针。 |
返回值
None.
依赖项
None.
21.33 qurt_mem_region_attr_get_physaddr_64()
21.33.1 功能文档
21.33.1.1 static void qurt_mem_region_attr_get_physaddr_64 ( qurt_mem_region_attr_t ∗ attr, qurt_paddr_64_t ∗ addr_64 )
从指定的内存区域属性结构中获取内存区域的 64 位物理地址。
相关数据类型
qurt_mem_region_attr_t
qurt_paddr_64_t
参数
| in | attr | 指向内存区域属性结构的指针。 |
| out | addr_64 | 指向内存区域 64 位物理地址的目标变量的指针。 |
返回值
None.
依赖项
None.
21.34 qurt_mem_region_attr_init()
21.34.1 功能文档
21.34.1.1 void qurt_mem_region_attr_init ( qurt_mem_region_attr_t ∗ attr )
使用默认属性值初始化指定的内存区域属性结构:
- 映射 – QURT_MEM_MAPPING_VIRTUAL
- 缓存模式——QURT_MEM_CACHE_WRITEBACK
- 物理地址 – -1
- 虚拟地址 – -1
- 内存类型 – QURT_MEM_REGION_LOCAL
- 大小 – -1
注意:必须通过调用 qurt_mem_region_attr_set_physaddr() 函数显式设置内存物理地址属性。 大小和池属性直接设置为内存区域创建操作中的参数。
相关数据类型
qurt_mem_region_attr_t
参数
| in,out | attr | 指向内存区域属性的目标结构的指针。 |
返回值
None.
依赖项
None.
边栏推荐
- 项目经理不应该犯的错误
- Notes on modification of Jerry's test box pairing software [chapter]
- Description of the latest RTSP address rules for Hikvision camera, NVR, streaming media server, playback and streaming [easy to understand]
- Summary of PHP file upload (garbled code, move failure, permission, display picture)
- 北京大学ACM Problems 1006:Biorhythms
- Heartbeat uses NFS to make MySQL highly available based on CRM
- How do I get the largest K massive data
- 网上炒股开户安全嘛!?
- SecureCRTPortable的安装和使用(图文详解)
- 杰理之触摸按键识别流程【篇】
猜你喜欢

AVL平衡二叉树(一) - 概念与C语言实现

STL的基本组成部分

Amazon restricts LGBTQ related search and product sales in the United Arab Emirates

Evolution of screen display technology

maya房子建模
![25: Chapter 3: developing pass service: 8: [registration / login] interface: receiving and verifying](/img/ff/727c4a20ff3816ec7221dced5a4770.png)
25: Chapter 3: developing pass service: 8: [registration / login] interface: receiving and verifying "mobile number and verification code" parameters; (it is important to know the application scenario

Big God explains open source buff gain strategy live broadcast

Document contains & conditional competition

Solve the problems of Devops landing in complex environment with various tools with full stack and full function solutions
![Jerry's touch key recognition process [chapter]](/img/cf/8dacbb7f80e427276df6201dddd377.png)
Jerry's touch key recognition process [chapter]
随机推荐
Based on the open source stream batch integrated data synchronization engine Chunjun data restore DDL parsing module actual combat sharing
Exness: the final value of US GDP unexpectedly accelerated to shrink by 1.6%
DEX file parsing - Method_ IDS resolution
Originpro 2021 with installation tutorial
杰理之检测灵敏度级别确定【篇】
Exness: liquidity series - liquidity cleaning and reversal, decision interval
SQL必需掌握的100个重要知识点:创建和操纵表
C language: hashtable
Taihu Lake "China's healthy agricultural products · mobile phone live broadcast" enters Taihu Lake
Jenkins打包拉取不到最新的jar包
Lumiprobe染料 NHS 酯丨BDP FL NHS 酯研究
Jerry's touch key recognition process [chapter]
杰理之用测试盒配对软件修改注意点【篇】
1045 error occurred in MySQL login. Modification method [easy to understand]
maya房子建模
Dynamic style binding --style and class
杰理之触摸按键识别流程【篇】
哈夫曼樹(一)基本概念與C語言實現
亚马逊在阿拉伯联合酋长国限制LGBTQ相关的搜索和产品销售
树基本概念