# RKNN Runtime C API V2.3.2 校对记录

## 来源与处理边界

- 中文：`04_Rockchip_RKNPU_API_Reference_RKNNRT_V2.3.2_CN.pdf`，52 页，SHA-256 `7cae6ebcbe455c746e1d2d4ba847c9a5940d077e099e67fba2616772f4fce85f`。
- 英文：`04_Rockchip_RKNPU_API_Reference_RKNNRT_V2.3.2_EN.pdf`，57 页，SHA-256 `f222dddd811e93ba8bb2aa01788b0a20fe221a4e42bbbd4e1125da02402c5074`。
- 两稿文档编号 RK-YH-YF-413，版本均为 V2.3.2。中文忠实整理中文稿；英文忠实整理英文稿；俄文、德文完整译自英文稿。没有将中文较明确的技术说法静默替换进英文原文。
- 原始 PDF 未修改。删除封面发布日期、密级、法律声明、联系信息、读者对象和文档修订表；技术正文从两稿第 6 页开始，保留到中文第 52 页、英文第 57 页错误码末行。
- 页首未使用固定 40 点裁切；仅过滤实际页脚区域，靠近页尾的技术行保留。各段保留源页及单元追踪注释。

## 完整性与版式

| 核对范围 | 处理结果 |
| --- | --- |
| 概述、平台列表、程序编译 | 保留平台型号、Runtime 库和头文件路径、编译说明 |
| 接口与查询支持矩阵 | 全部平台列、支持状态及注释恢复为可编辑表 |
| 基础 API 与全部查询子项 | 全部结构字段、参数、返回值、示例及扩展结构保留；保留两稿各自查询顺序 |
| Matmul 接口 | 初始化、数据布局、内存、量化、执行及销毁相关结构和示例完整保留 |
| 自定义算子 | 目标、内部上下文、注册结构、回调、注册/销毁及示例完整保留 |
| 错误码末章 | 保留 0、-1 至 -10、-12、-13；没有自行补不存在的 -11 |
| 原表块 | 中文 62、英文 67；合并相邻同表头跨页续表后各 60 张技术表，未删除数据行 |
| 代码 | 各稿 55 个分页代码块；相邻跨页代码合并为 54 个完整围栏块；EN/RU/DE 代码逐字符相同 |
| 技术标题 | 四语各 92 个技术标题；加上文章标题和适用说明，共 94 个 Markdown 标题 |

两份原稿的技术页均无独立栅格插图、代码截图或技术矢量图。已逐页检查联系表，并对支持矩阵、接口代码、疑点和错误码页放大核对。因此本篇没有提取图片，也不伪造配图；原稿技术表均恢复为可编辑正文，而非整页图。

修复提取的跨行连接、跨页代码、跨页续表及汉字部首异体；显式保留查询子标题层级，表格前后留空行，表格内换行保留为换行标记。代码中的注释、常量、标识符和参数未作本地化改写。API 路径中的尖括号作显示转义，防止被当成 HTML 标签吞掉。

## 原文差异与待核对事项

1. `DEVICE_MEM_INFO`：中文第 25 页说明仅支持 RV1106/RV1103/RV1106B/RV1103B/RK2118；英文第 28 页反而说这些平台不支持，与支持矩阵及中文矛盾。两稿分别保留，不猜测实际 Runtime 行为；英文派生译文标明原稿疑点。动态输入范围和此查询在两稿中的编号、顺序不同，保留各自顺序。
2. 英文第 27 页查询 11 标题写 native output，但命令是 `RKNN_QUERY_NATIVE_NHWC_INPUT_ATTR`；中文第 25 页为输入。英文第 29 页查询 18 的说明写 `RKNN_QUERY_CURRENT_OUTPUT_ATTR`，示例却是 `RKNN_QUERY_CURRENT_NATIVE_OUTPUT_ATTR`。保留原命令与示例，不按标题猜改。
3. 英文第 23–24 页若干 output 查询说明写成 input，NHWC 输入描述也与通用 native 名称混用。保留源信息，译文提示疑点。内存大小查询中文对 DMA/SRAM 零值的说明比英文详细，未删中文或静默混入英文。
4. 零拷贝模型内存：中文第 19 页、英文第 20 页文字要求上下文销毁后释放模型内存，而示例先 `rknn_destroy_mem(ctx, model_mem)`、后 `rknn_destroy(ctx)`。未调整示例执行顺序；使用前须核对 SDK 与内存生命周期。
5. 中文第 40 页、英文第 44 页 Matmul 示例在本地声明/清零 `io_attr` 之前使用 `io_attr.A.size` 创建内存。保留源序，不以编者猜测修复可执行代码。
6. 英文第 51 页目标类型表重复 `RKNN_TARGET_TYPE_CPU`，第二项的说明却是 GPU。保留源枚举；以实际头文件为准。`rknn_custom_op_interal_context`、`RKNN_TENSOR_MEMORY_FALGS_ALLOC_INSIDE`、`RKNN_ERR_INCOMPATILE_OPTIMIZATION_LEVEL_VERSION` 等原拼写同样保留。
7. `rknn_init` 对 extend 的禁用/NULL 表述与扩展场景并列；`rknn_output.index` 说明同时涉及用户设置和返回；`rknn_outputs_get` 参数表的 extend 类型以及 `rknn_set_input_shapes` 字段说明和表内字段存在可疑差异。未擅自修改 API 声明。
8. Core-mask 限制及未来支持说明是原文版本上下文，不表示当前已验证支持。原稿 `ConvTranpose` 拼写保留。引用的 RK2118 Quickstart 不在本篇输入 PDF 内，未编造其内容。

## ArmSoM 适配与验证范围

源文平台包括 RV1103/RV1103B/RV1106/RV1106B/RV1126B、RK2118、RK3562、RK3566/RK3568/RK3576/RK3588 系列，但单项 API/查询/参数支持存在差异。本篇仅为平台参考；未核实具体 ArmSoM 板卡、SDK/BSP、内核和驱动组合，不宣称所有板卡支持。模型格式、Runtime 与目标 NPU 必须匹配。

本次做文档提取、翻译、章节/表格/代码完整性及原稿视觉校对；未运行示例、未做硬件测试或性能测试。源码中的安全或运行问题不因排版整理而被视为已修复。网站构建、语言互链、搜索、sitemap、canonical/hreflang 和真实页面浏览器验收由主任务统一完成，本文记录不代替这些检查，也不代表搜索引擎收录。
