RV1126B 与 RV1126 的开发工具链存在显著差异,主要体现在以下几个方面:
一、硬件架构与编译器工具链
RV1126B 采用四核 ARM Cortex-A53 64 位架构,而 RV1126 为四核 ARM Cortex-A7 32 位架构。这一差异直接导致开发工具链的核心组件不同:
交叉编译器:
RV1126B 需使用64 位交叉编译工具链(如aarch64-linux-gnu-gcc),而 RV1126 依赖 32 位工具链(如arm-linux-gnueabihf-gcc)。
例如,在编译 OpenCV 时,RV1126 需指定-D CMAKE_SYSTEM_NAME=Linux -D CMAKE_C_COMPILER=arm-linux-gnueabihf-gcc,而 RV1126B 需替换为 64 位编译器路径。
内核与系统配置:
RV1126B 的内核需启用 64 位支持(如CONFIG_ARM64=y),并适配 A53 架构的指令集优化。
编译时需修改板级配置文件(如device/rockchip/rv1126_rv1109/xxxx.mk),将RK_ARCH设置为arm64,而 RV1126 为arm。
二、AI 算力与模型部署工具链
RV1126B 的 NPU 算力从 2 TOPS 提升至 3 TOPS,并引入AI-ISP 架构,其工具链在模型转换和推理优化上有显著升级:
RKNN-Toolkit 版本差异:
RV1126B 需使用RKNN-Toolkit2(如 v2.3.2 及以上),支持 INT4/INT8/INT16 混合精度量化、Transformer 模型优化及自动混合精度(AMP)功能,可提升推理速度 35% 以上。
RV1126 依赖RKNN-Toolkit v1.7.3,仅支持 INT8/INT16 量化,且不兼容 RV1126B 的 NPU 指令集。
模型转换流程:
RV1126B 的模型转换需指定目标平台为rv1126b,并优化内存布局以适配更高带宽的 DDR4/LPDDR4X 内存(3200MT/s vs RV1126 的 2166MT/s)。
例如,使用rknn_toolkit2时需添加参数target_platform="rv1126b",而 RV1126 为rv1126。
AI-ISP 专用工具:
RV1126B 集成独立 AI-ISP 引擎,需配套AI-ISP 配置工具(如isp_demo)进行参数调优,而 RV1126 无此功能。
三、驱动开发与系统集成
RV1126B 在硬件接口和系统级功能上的升级,要求驱动开发工具链做出针对性调整:
外设驱动差异:
USB 支持:RV1126B 支持 USB3.0,需启用CONFIG_USB_DWC3和CONFIG_USB_DWC3_HOST,而 RV1126 仅支持 USB2.0(CONFIG_USB_DWC2_HOST)。
音频编解码:RV1126B 集成音频编解码器,驱动开发需包含rockchip_sound模块,而 RV1126 需外接 Codec 芯片并配置 I2S 接口。
设备树(DTS)配置:
RV1126B 的 DTS 需新增 AI-ISP 节点(如&ai_isp)和 USB3.0 PHY 配置(如&dwc3),而 RV1126 的 DTS 聚焦于传统 ISP 和 USB2.0。
例如,RV1126B 的 DTS 需设置assigned-clocks = <&cru CLK_USB30_PHY>;,而 RV1126 无此配置。
电源管理与调试:
RV1126B 支持动态电压频率调整(DVFS),需在device_tree中定义 NPU 和 CPU 的 OPP 表,而 RV1126 的电源管理较为固定。
调试工具(如rkdebug)需更新至支持 RV1126B 的寄存器映射和电源域划分。
四、SDK 与开发资源
瑞芯微为 RV1126B 提供了独立的 SDK 和文档,与 RV1126 的资源不兼容:
SDK 结构差异:
RV1126B 的 SDK 包含rv1126b专用目录(如device/rockchip/rv1126b),而 RV1126 为rv1126_rv1109。
例如,编译 RV1126B 的 Linux 固件需下载rv1126b_linux_release包,而 RV1126 为rv1126_rv1109_linux_release。
开发文档与示例:
RV1126B 的官方文档(如《RV1126B TRM》)详细说明 AI-ISP、USB3.0 和 DDR4 配置,而 RV1126 的文档聚焦于传统 ISP 和 DDR3。
示例代码(如 IPC 和 AI 摄像头应用)需适配 RV1126B 的硬件特性,例如使用rkmedia_api中的 AI-ISP 接口。
五、兼容性与迁移建议
硬件兼容性:
RV1126B-P(Pin2Pin 兼容 RV1126)的工具链与 RV1126 部分重叠,但需升级编译器和 NPU 驱动至支持 64 位架构。
完全版 RV1126B 需重新设计硬件,工具链不可直接复用 RV1126 的资源。
迁移步骤:
环境搭建:安装 RV1126B 专用 SDK 和 64 位交叉编译工具链。
代码适配:修改 Makefile、DTS 和驱动代码,适配 A53 架构、AI-ISP 和 USB3.0。
模型转换:使用 RKNN-Toolkit2 重新量化模型,并优化内存分配。
调试验证:通过rkdebug和v4l2-ctl工具验证驱动和 AI 推理功能。
总结
RV1126B 的开发工具链在架构适配、AI 优化、驱动开发和系统集成上与 RV1126 存在本质差异。开发者需切换至 64 位编译器、RKNN-Toolkit2 和专用 SDK,并针对 AI-ISP、USB3.0 等新特性调整代码。尽管 RV1126B-P 提供了一定的兼容性,但完全释放其性能仍需全面适配新工具链。