Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:edge-2l:npu:rknn-sdk-quick-start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
products:sbc:edge-2l:npu:rknn-sdk-quick-start [2025/10/21 23:21]
william created
products:sbc:edge-2l:npu:rknn-sdk-quick-start [2026/05/11 02:49] (current)
nick ↷ Page moved from local:users:william:debug:edge2l:rknn-sdk-quick-start to products:sbc:edge-2l:npu:rknn-sdk-quick-start
Line 42: Line 42:
 ``` ```
 === Create Python Environment Using Miniforge Conda === === Create Python Environment Using Miniforge Conda ===
 +In the terminal window on the computer, execute the following command to switch to the Miniforge conda base
 +environment:
 ```shell ```shell
 $ source ~/miniforge3/bin/activate $ source ~/miniforge3/bin/activate
 ``` ```
 +Create a Python 3.8 environment named 'py38Toolkit2.3.2' using the following command:
 ```shell ```shell
 $ conda create -n py38Toolkit2.3.2 python=3.8 $ conda create -n py38Toolkit2.3.2 python=3.8
 ``` ```
 +Activate the 'py38Toolkit2.3.2' environment. Subsequently, RKNN-Toolkit2 will be installed in this environment
 ```shell ```shell
 $ conda activate py38Toolkit2.3.2 $ conda activate py38Toolkit2.3.2
 ``` ```
 +=== Install RKNN-Toolkit2 ===
 +Install via local wheel packag.
  
 +```shell
 +$ cd rknn-toolkit2/rknn-toolkit2/packages/x86_64/
 +$ pip3 install -r requirements_cp38-2.3.2.txt
 +$ pip3 install ./rknn_toolkit2-2.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 +```
 +
 +=== Check if the RKNN-Toolkit2 Environment is Installed Successfully ===
 +Switch to Python interactive mode
 +```shell
 +$ python
 +```
 +Import the RKNN class
 +```shell
 +$ from rknn.api import RKNN
 +```
  
 ==== Install Compilation Tools on the Computer ==== ==== Install Compilation Tools on the Computer ====
 +=== Install NDK on Android System Development Board ===
 +Note: This section is applicable to development boards with the Android system. If the board is running on the
 +Linux system, please skip this section.\\
 +Download the Android NDK from the following link:
 +```shell
 +$ wget -c https://dl.google.com/android/repository/android-ndk-r19c-linux-x86_64.zip
 +```
  
 +Extract Android NDK files
 +```shell
 +$ unzip android-ndk-r19c-linux-x86_64.zip
 +```
  
-==== Install RKNPU2 Environment on the Board ====+==== Install GCC Cross-Compiler on Linux System Development Board ==== 
 +Note: This section is applicable to development boards with the Linux system. If the board is running on the 
 +Android system, please skip this section.\\ 
 +Download the GCC Cross-Compiler from the following link: 
 +```shell 
 +$ wget -c https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz 
 +``` 
 +Extract GCC Cross-Compiler files 
 +```shell 
 +$ tar -xJvf gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz 
 +```
  
 ===== Run Example Programs ===== ===== Run Example Programs =====
 +
 +==== Prepare Model ====
 +Switch to the rknn_model_zoo/examples/yolov5/model directory, and execute the download_model.sh script. This
 +script will download an available YOLOv5 ONNX model and store it in the current model directory. Refer to the
 +following commands:
 +
 +```shell
 +$ cd Projects/rknn_model_zoo/examples/yolov5/model
 +$ chmod a+x download_model.sh && ./download_model.sh
 +```
 +
 +==== Model Conversion ====
 +Switch to the rknn_model_zoo/examples/yolov5/python directory and run the convert.py script. This script converts
 +the original ONNX model to the RKNN model. Refer to the following commands:
 +
 +```shell
 +$ cd Projects/rknn_model_zoo/examples/yolov5/python
 +$ chmod a+x convert.py && python convert.py ../model/yolov5s_relu.onnx rk3576 i8 ../model/yolov5s_relu.rknn
 +```
 +
 +==== Run RKNN Python Demo ====
 +Switch to the rknn_model_zoo/examples/yolov5/python directory, execute the yolov5.py script, and you can run the
 +YOLOv5 model on the development board using on-board debugging. Refer to the following command:
 +
 +```shell
 +$ cd Projects/rknn_model_zoo/examples/yolov5/python
 +$ chmod a+x yolov5.py && python yolov5.py --model_path ../model/yolov5s_relu.rknn --target rk3576 --img_show
 +```
 +
 +==== Run RKNN C Demo ====
 +To run a RKNN C Demo, you need to first compile the C/C++ source code into an executable file. After that, push
 +the executable file, model files, input images, and other related files to the development board. Finally, execute
 +the executable file on the development board.
 +
 +=== Board is running on the Android system ===
 +In the 'build-android.sh' script, add the following command:
 +
 +```shell
 +$ ANDROID_NDK_PATH=Projects/android-ndk-r19c
 +```
 +Then, in the 'rknn_model_zoo' directory, execute the 'build-android.sh' script, referring to the following command:
 +
 +```shell
 +$ cd Projects/rknn_model_zoo
 +$ ./build-android.sh -t rk3576 -a arm64-v8a -d yolov5
 +```
 +
 +Push Files to the edge2l Board:
 +```shell
 +$ cd Projects/rknn_model_zoo
 +$ adb root
 +$ adb install/rk3576_android_arm64-v8a/rknn_yolov5_demo/ /data/
 +```
 +
 +Run the Demo on edge2l Board:
 +```shell
 +$ adb shell
 +edge2l$ cd /data/rknn_yolov5_demo/
 +edge2l$ export LD_LIBRARY_PATH=./lib
 +edge2l$ ./rknn_yolov5_demo model/yolov5s_relu.rknn model/bus.jpg
 +```
 +=== Board is running on the Linux system ===
 +In the 'buildlinux.sh' script, add the following command:
 +
 +```shell
 +$ GCC_COMPILER=Projects/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu
 +```
 +Then, in the 'rknn_model_zoo' directory, execute the 'build-linux.sh' script, referring to the following command:
 +
 +```shell
 +$ cd Projects/rknn_model_zoo
 +$ ./build-linux.sh -t rk3576 -a aarch64 -d yolov5
 +```
 +
 +Push Files to the edge2l Board:
 +```shell
 +$ cd Projects/rknn_model_zoo
 +$ adb install/rk3576_linux_aarch64/rknn_yolov5_demo/ /data/
 +```
 +
 +Run the Demo on edge2l Board:
 +```shell
 +$ adb shell
 +edge2l$ cd /data/rknn_yolov5_demo/
 +edge2l$ export LD_LIBRARY_PATH=./lib
 +edge2l$ ./rknn_yolov5_demo model/yolov5s_relu.rknn model/bus.jpg
 +```
 +
 +
 +
 +==== View Results ====
 +By default, the output image is saved at the path rknn_yolov5_demo/out.png . You can use the adb tool to pull it
 +from the board to the local machine. In the local computer terminal, execute the following command:
 +```shell
 +$ adb pull /data/rknn_yolov5_demo/out.png .
 +```
 +{{local:users:william:debug:edge2l:yolov5-bus-result.webp?400|}}
  
 ===== Important Note ===== ===== Important Note =====
Last modified: 2025/10/21 23:21 by william