当前位置:网站首页>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.
边栏推荐
- Is the project manager a leader? Can you criticize and blame members?
- Playwright - scroll bar operation
- Lambda expression principle analysis and learning (June 23, 2022)
- Meeting, onemeeting, OK!
- obsidian配合hugo的使用,让markdown本地编辑软件与在线化无缝衔接
- [1175. prime number arrangement]
- 信息学奥赛一本通 1362:家庭问题(family)
- BioVendor sRAGE Elisa试剂盒测试原理和注意事项
- How do I get the largest K massive data
- STL的基本组成部分
猜你喜欢

NLP paper lead reading | what about the degradation of text generation model? Simctg tells you the answer

The Commission is so high that everyone can participate in the new programmer's partner plan

PostgreSQL heap堆表 存储引擎实现原理

昨晚 Spark Summit 重要功能发布全在这里(附超清视频)

树基本概念

Lumiprobe生物素亚磷酰胺(羟脯氨酸)说明书

亚马逊在阿拉伯联合酋长国限制LGBTQ相关的搜索和产品销售

PHP obtains opcode and C source code

Lambda expression principle analysis and learning (June 23, 2022)

Big God explains open source buff gain strategy live broadcast
随机推荐
1、生成对抗网络入门
杰理之关于长按开机检测抬起问题【篇】
NLP 论文领读|文本生成模型退化怎么办?SimCTG 告诉你答案
What are database OLAP and OLTP? Same and different? Applicable scenarios
股票开户优惠链接,我如何才能得到?另外,手机开户安全么?
Meeting, onemeeting, OK!
网上炒股开户安全嘛!?
C文件指针
NLP skill tree learning route - (I) route overview
Web主机iptables防火墙安全脚本
Jerry's question about long press boot detection [chapter]
项目经理不应该犯的错误
数据库 OLAP、OLTP是什么?相同和不同?适用场景
Taihu Lake "China's healthy agricultural products · mobile phone live broadcast" enters Taihu Lake
Maya House Modeling
Web host iptables firewall security script
Lumiprobe生物素亚磷酰胺(羟脯氨酸)说明书
杰理之触摸按键识别流程【篇】
The newly born robot dog can walk by himself after rolling for an hour. The latest achievement of Wu Enda's first disciple
Scene 299