Hello World
RK1828 自身没有应用 CPU,跑程序是RK3588(aarch64)干。本文是第一个程序:写代码、编译、跑起来。NPU 调用放到最后一节,先把链路走通。
1. 写代码
新建文件 hello_rk1828.c:
// hello_rk1828.c
#include <stdio.h>
int main() {
printf("Hello, RK1828!\n");
printf("Running on Rockchip SoC.\n");
return 0;
}2. 编译
RK3588 上直接编译。
# 1. 看编译器装没装
which aarch64-linux-gnu-gcc && aarch64-linux-gnu-gcc --version | head -2期望:
/usr/bin/aarch64-linux-gnu-gcc
aarch64-linux-gnu-gcc (Debian 12.2.0-14+deb12u1) 12.2.0# 2. 编译
aarch64-linux-gnu-gcc hello_rk1828.c -o hello_rk1828
# 3. 验证编译结果
file hello_rk1828输出:
hello_rk1828: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=537c84f9fc03eabc1612bee7d06d8c9fc209e87d, for GNU/Linux 3.7.0, not stripped3. 跑起来
./hello_rk1828输出:

4. 部署到其他设备(可选)
这一步只在需要把程序推到别的板子时才用。
scp / ssh
scp hello_rk1828 root@<其他设备IP>:/tmp/
ssh root@<其他设备IP> "/tmp/hello_rk1828"U 盘 / SD 卡
cp hello_rk1828 /media/<user>/USBDRIVE/
# 目标板上挂载后执行,路径以实际挂载点为准5. 看一眼板子环境
# 内核
uname -a输出:
Linux linaro-alip 6.1.141 #27 SMP Wed May 27 13:44:15 CST 2026 aarch64 GNU/Linux# CPU
cat /proc/cpuinfo | head -5输出:
processor : 0
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8# 内存
free -h输出(实测):
total used free shared buff/cache available
内存: 3.8Gi 3.2Gi 211Mi 3.8Mi 444Mi 603Mi
交换: 0B 0B 0B6. 调用 RK1828 NPU
RK1828 自身没有应用 CPU,要用 NPU 推理得通过 PCIe 调 rkllm3-server 服务。
# 看服务装在哪
which rkllm3-server输出:
/usr/bin/rkllm3-server# 看帮助
/usr/bin/rkllm3-server --help 2>&1 | head -10输出(节选):
version: 1.0.0 (b4bd144@2026-01-22T21:27:27)
----- common params -----
-c, --ctx-size N size of the prompt context (default: 4096, 0 = loaded from model)
-n, --predict, --n-predict N number of tokens to predict (default: -1, -1 = context size)
-a, --alias STRING set alias for model name (to be used by REST API)
-m, --model FNAME rknn llm model path启动:
# 启动 NPU 推理服务
rkllm3-server -m <model.rknn> -c 0xff -n 4096参数速查:
| 参数 | 含义 |
|---|---|
-m / --model | 模型文件路径(必需) |
-c / --ctx-size | NPU core mask,8 核用 0xff |
-n / --predict | 最大生成 token 数,默认 -1 |
7. 常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
cannot execute binary file | 架构不匹配 | 确认用 aarch64-linux-gnu-gcc 编译 |
| 跑通但 NPU 不工作 | 调了错误的设备节点 | RK1828 设备节点是 /dev/dri/renderD128 |
模型跑一会儿 rkllm3-server 崩溃 | KV cache 残留 | 重启服务 |
8. 已知问题
- 连续推理崩溃:多次推理后
rkllm3-server可能因 KV cache 残留崩溃,需重启服务 - 网络访问:开发板无法直连 GitHub / HuggingFace 时,使用镜像站点如
ghfast.top、hf-mirror.com - 开发环境:需要 Node.js ≥ v22(推荐使用 nvm 安装 v25)
相关文档
- Hello RK1828 — 加 NPU 设备检测的程序入门
- NPU 子系统 — NPU 推理
- 硬件架构概述 — 硬件规格
