RK182X SDK Overview
Overall block diagram
RK182X SDK
├─ Drivers & firmware pcie-rkep / rknn3_rk1820.img / pcie_upgrade_tool
├─ User-space runtime librknnrt.so / librknn3_api.so / rknn3_transfer_proxy
├─ Model toolchain rknn3-toolkit / rknn3-model-zoo / rknn3_*_demo
└─ Samples examples/{anomaly-detection, vi_yolo_venc, gstreamer, ...}If the toolchain is not installed yet, read ch02 Environment Setup first.
1. SDK Composition
The RK182X is an AI accelerator card in PCIe Endpoint form; it does not run Linux itself. The SDK is an extension package on the host (RK3588 / RK3576) side.
Drivers & Firmware
| Component | Role |
|---|---|
pcie-rkep driver | Host-side PCIe Endpoint driver, enumerates the NPU device |
rknn3_rk1820.img | NPU firmware, pushed over PCIe by the host |
pcie_upgrade_tool | Firmware download and device management tool |
User-Space Runtime
| Component | Role |
|---|---|
librknnrt.so | On-chip RKNPU inference runtime (not used directly by the RK182X card) |
librknn3_api.so | Unified RKNN 3.x API (runtime entry point for the RK182X card) |
rknn3_transfer_proxy | Proxy daemon that hides PCIe details from applications |
librknnsmi.so | Device information queries |
Measured on a real device:
$ systemctl status rknn3.service --no-pager -l | head -15
● rknn3.service - rknn3 runtime service
Loaded: loaded (/lib/systemd/system/rknn3.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-08-14 10:44:12 UTC; 4h 10min ago
Main PID: 1123 (rknn3_transfer_)
CPU: 23.728s
CGroup: /system.slice/rknn3.service
├─1123 /bin/rknn3_transfer_proxy
└─1149 rknn3_transfer_proxy -s 0004:41:00.0
$ /usr/bin/pcie_upgrade_tool ld 2>&1 | sed 's/\x1b\[[0-9;]*m//g'
Program directory: /usr/bin/
List of connected rkep devices
Addr=0004:41:00.0 [1d87:182a]
$ ls -l /dev/pcie-rkep-*
crw------- 1 root root 10, 124 8月20日 16:56 /dev/pcie-rkep-0004:41:00.0The above is sample output: times / time zones vary by environment; the actual BDF varies by board (
0004:41:00.0measured on this machine); the proxy process name may carry a hash suffix (e.g.rknn3_transfer_proxy_c36211b1), so rely on the actual result ofpgrep -f rknn3_transfer_proxy.
Models & Toolchain
| Component | Role |
|---|---|
rknn3-toolkit | Python model conversion / quantization / simulation |
rknn3-model-zoo | Official pre-built reference models |
rknn3_*_demo | CNN / LLM / VLM inference demos |
Directory Structure
RK1820_RK1828_AI_SDK/
├── driver/pcie-rkep/ # PCIe EP driver source
├── rknn/
│ ├── rknn3-runtime/ # Runtime libraries
│ ├── rknn3-toolkit/ # Model toolchain
│ └── rknn3-model-zoo/ # Reference models
├── examples/ # Application samples
│ ├── anomaly-detection/ # Industrial anomaly detection (new in V1.0.0)
│ ├── vi_yolo_venc/ # Camera + YOLO + encoding
│ ├── rockit_yolo_detect/ # Rockit + YOLO detection
│ ├── gstreamer/ # GStreamer plugins
│ ├── docker/ # Docker deployment
│ └── web/ # Web services
├── scripts/ # Build scripts
├── package/ # Pre-built artifacts
└── docs/ # Release Note2. How Does the RK182X "Boot"?
The RK182X has no boot flow of its own; it depends on the host:
Host RK3588 / RK3576 powers on and boots
↓
Host kernel loads the pcie-rkep driver
↓
PCI device 1d87:182a enumerated
↓
rknn3.service starts
↓
pcie_upgrade_tool pushes rknn3_rk1820.img over PCIe
↓
rknn3_transfer_proxy starts, exposing the librknn3_api.so interface
↓
Application processes can call inferenceKey Points
- Firmware path:
/lib/firmware/rknn3_rk1820.img - Device node:
/dev/pcie-rkep-<BDF>(BDF varies by board; use thepcie_upgrade_tool ldoutput) - Service unit:
rknn3.service
3. Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
rknn-smi info does not work | rknn-smi does not apply to the RK182X card | Use systemctl status rknn3.service instead |
librknn3_api.so not found | Runtime deb not installed | Install the rknn3-runtime deb |
pcie_upgrade_tool missing | SDK not fully extracted | Re-extract the SDK to $SDK_DIR |
rknn3_transfer_proxy not running | Service error | sudo systemctl restart rknn3.service |
4. Next Steps
- NPU Overview — start NPU development
- MPP Overview — host-side multimedia framework
- Environment Setup — environment setup recap
The NPU / MPP chapters live in the parent
env/subdirectory (not in this quick-start-guide directory), so their link paths differ from other chapters.
