Platform reference for the RKNN2 V2.5.0 RV1103/RV1103B/RV1106/RV1106B quickstart, using the matching board SDK, RKNPU2 driver and librknnmrt.so. No corresponding ArmSoM board has been confirmed. The source Linux 5.10.160 log and inference outputs are examples, not ArmSoM hardware tests. Check power, connections and drivers against the actual board BSP.
Source: local Chinese and English V2.5.0 PDFs. Chinese uses the Chinese text and figures; English, Russian and German use the English source. All technical chapters, commands and tables are retained; PDF line wraps and directory-tree indentation are restored. An older driver in a sample log is not the recommended version; see the source recommendation below. Check unpinned downloads and pip installations against the actual SDK.
RV1103/RV1106 RKNN quickstart 1: deployment flow, platforms and repositories
RV1103/RV1106 RKNN quickstart 2: hardware connections and device checks
RV1103/RV1106 RKNN quickstart 3: host environment and Mini Runtime
RV1103/RV1106 RKNN quickstart 4: YOLOv5 conversion, Python and C deployment
RV1103/RV1106 RKNN quickstart 5: Docker, first-run issues and references
1. Before You Begin
This guide provides the shortest path to complete the first RKNN SDK run on RV1103/RV1103B/RV1106/RV1106B, including hardware connection, environment checks, model conversion, on-board debugging, and C/C++ deployment on the board.
Note: For the complete development flow, model conversion and quantization, environment installation, and systematic troubleshooting, refer to RKNN2_SDK_Development_Guide. For RKNN-Toolkit2 Python APIs, refer to RKNN2_Toolkit_Python_API_Reference. For RKNN-Toolkit- Lite2 Python APIs, refer to RKNN2_Toolkit_Lite_Python_API_Reference. For board-side C APIs and RKNPU2 Mini Runtime ( librknnmrt.so ) related interfaces, refer to RKNN2_Runtime_C_API_Reference.
1.1 Goals of This Guide
After completing this guide, you should be able to:
-
Confirm that the development host and development board are connected correctly.
-
Install and verify the RKNN-Toolkit2 development environment.
-
Check or update the board-side RKNPU2 Mini Runtime ( librknnmrt.so ) and rknn_server .
-
Use RKNN Model Zoo to download the YOLOv5 model and convert it to an RKNN model.
-
Complete one on-board inference using the RKNN Python Demo.
-
Compile and run the RKNN C Demo on the board and verify the output.
1.2 Understand the RKNN SDK Deployment Flow
The first run on RV1103/RV1103B/RV1106/RV1106B mainly involves development tools on the computer and the runtime environment on the development board.
| Component | Location | Description |
|---|---|---|
| RKNN-Toolkit2 | Computer | Converts original models such as ONNX models to RKNN models and supports on-board debugging |
| RKNN Model Zoo | Computer | Provides model conversion examples, Python Demos, and C/C++ Demos |
| rknn_server | Development board |
Handles on-board inference requests sent by the computer through USB |
| RKNPU2 Mini Runtime (librknnmrt.so) |
Development board |
Loads RKNN models and invokes the NPU to perform inference |
The differences between RKNPU2 Mini Runtime and RKNPU2 Runtime are as follows:
| Item | RKNPU2 Mini Runtime | RKNPU2 Runtime |
|---|---|---|
| Runtime library |
librknnmrt.so | librknnrt.so |
| Positioning | A streamlined Runtime for resource-constrained platforms such as RV1103/RV1103B/RV1106/RV1106B |
Standard RKNPU2 Runtime |
| Applicability to this guide |
Applicable. All board-side runtime references later in this guide refer to librknnmrt.so. |
Not applicable to the examples in this guide. Do not replace librknnmrt.so with librknnrt.so. |
Note: In the remainder of this guide, RKNPU2 Mini Runtime refers specifically to the board-side librknnmrt.so . Except for this section, which distinguishes the two Runtime variants, this guide does not use the generic term “RKNPU2 Runtime” for the board-side runtime library, to avoid confusion with librknnrt.so .
The recommended first-run path is:
-
Connect the development board and confirm that it is visible in adb devices .
-
Install RKNN-Toolkit2 and complete the import check.
-
Check the RKNPU2 driver, Mini Runtime, and rknn_server .
-
Download the YOLOv5 example model and convert it to RKNN format.
-
Run the RKNN Python Demo first to verify model conversion and the on-board debugging path.
-
Compile, push, and run the RKNN C Demo to complete board-side deployment verification.
1.3 Supported Platforms and Version Requirements
This guide supports the following platforms:
| Platform | Support |
|---|---|
| RV1103 | Supported |
| RV1103B | Supported |
| RV1106 | Supported |
| RV1106B | Supported |
The development host examples are based on Ubuntu 18.04 / Ubuntu 20.04 / Ubuntu 22.04. Python 3.8 is recommended for the RKNN-Toolkit2 environment.
Note: RKNN models generated for RV1103/RV1106 cannot be shared with RV1103B/RV1106B. Select the correct platform parameter according to the actual development board during model conversion.
1.4 Select the Example Type
This guide uses the YOLOv5 example in RKNN Model Zoo throughout the first-run flow.
| Example | Purpose | Model Zoo Directory |
|---|---|---|
| YOLOv5 Python Demo |
Model conversion and on-board inference verification | examples/yolov5/python |
| YOLOv5 C Demo | C/C++ compilation and board-side deployment verification |
examples/yolov5/cpp |
The Python Demo and C Demo use the same YOLOv5 ONNX model and the same converted RKNN model, so the model only needs to be downloaded and converted once.
1.5 Obtain the SDK and Related Repositories
It is recommended to create a dedicated directory for RKNN-related repositories. For example, create a folder named Projects and place RKNN-Toolkit2 and RKNN Model Zoo in this directory.
# Create the Projects folder
mkdir Projects
# Switch to this directory
cd Projects
# Download the RKNN-Toolkit2 repository
git clone https://github.com/airockchip/rknn-toolkit2.git --depth 1
# Download the RKNN Model Zoo repository
git clone https://github.com/airockchip/rknn_model_zoo.git --depth 1
Note: –depth 1 means that only the latest commit is cloned. If git clone fails, you can also download the compressed package directly from GitHub and extract it into this directory.
The default directory structure used in the following examples is:
Projects
├── rknn-toolkit2
│ ├── doc
│ ├── rknn-toolkit2
│ │ ├── packages
│ │ ├── docker
│ │ └── ...
│ ├── rknpu2
│ │ ├── runtime
│ │ └── ...
│ └── ...
└── rknn_model_zoo
├── datasets
├── examples
└── ...
