环境
- ubuntu 18.04 64位
- python 3.6
- rockchip 1808开发板
前言
RK1808 是国内企业瑞芯微的偏低端产品,但内置高能效的 NPU,拥有强劲算力,支持多种 AI 框架和 AI 应用开发 SDK,易于开发,拥有面向 AI 应用的丰富接口,便于扩展,适用于目标检测、人脸识别、语音识别、人体姿态估计等众多功能应用场景。

Rk1808相关参数
硬件参数
| 主控芯片 | Rockchip RK 1808 |
|---|---|
| 处理器 | 双核Cortex-A35,最高频率1.6GHz |
| NPU | 峰值算力高达3.0TOPs,支持 OpenCL/OpenVX,支持 INT8/INT16/FP16 |
| 支持TensorFlow、Caffe、ONNX、Darknet模型 | |
| 图形处理器 | 支持2MP, AE/AWB/AF |
| 视频处理器 | 1080p@60FPS H.264 解码, 1080p@30FPS H.264 编码 |
| 内存 | 2GB DDR3 |
| 存储器 | 8GB高速eMMC 4.51,支持TF卡扩展 |
硬件特性
| 以太网 | 10 / 100 / 1000 Mbps以太网接口 |
|---|---|
| WIFI | 通过SDIO3.0扩展WiFi & Bluetooth |
| 显示 | 1 x MIPI-DSI , 支持单通道1080P@60fps输出,1 x RGB, 18-bit(RGB666) 最高支持1280×800@60fps |
| 音频 | 1 x I2S用于音频输入输出,耳机×1(左右声道)、单声道Speaker(8Ω, 1.3W)、MIC x 2 |
| 摄像头 | 1x MIPI-CSI摄像头接口 ( 内置双硬件ISP,最高支持单13Mpixel 或 双8Mpixel ),1xDVP |
| USB | 1 x USB3.0(与PCEI复用) 、1 x USB2.0 |
| 其它接口 | 支持USB3.0 / PCIe2.1,内置1-ch & 8-ch I2S & 8-ch PDM,内置VAD,7 x UART、3 x SPI、5 x I2C、10 x PWM、4 x SARADC |
外观规格
| 核心板尺寸 | 69.6mm × 50 mm |
|---|---|
| 接口类型 | 金手指(SODIMM 260P 标准接口, 0.5mm间距) |
| PCB规格 | 8层板设计 |
PC上安装开发环境
这里选用 ubuntu 操作系统,首先是 python 的环境,这里选用 3.6,不要 用太新的版本。anaconda 的使用参考这篇 Anaconda基本使用
conda create -n rockchip python=3.6
conda activate rockchip
下面是一个 RK1808 的资料集,里面有源码、工具链、各种功能文档,非常齐全,方便大家使用
链接:https://pan.baidu.com/s/1-5G0V-hLUOMXvI7z2UQGIw
提取码:u1e8
开发环境中最重要的就是安装 rknn-toolkit,上面网盘中也有安装包,不过版本太老,建议到他们的官方 github 的仓库上去下载较新的版本,地址 https://github.com/rockchip-linux/rknn-toolkit,本系列都是使用的 1.6.0,最新的版本已经到了1.7.1
压缩包下载完成后解压
cd packages
pip install rknn_toolkit-1.6.0-cp36-cp36m-linux_x86_64.whl
然后安装 tensorflow
# rknn依赖于tensorflow,这里使用1.14.0 gpu版本
pip install tensorflow-gpu==1.14.0
源码编译
进入到 RK1808 的完整源码目录(01-SDK/linux/source/rk1808-linux-20200430.tar),获取最新的源码(托管在 https://gitlab.com/rpdzkj2018/rk1808-linux-v10,貌似好久没更新了),执行
# 解压
tar xvf rk1808-linux-20200430.tar

然后执行
# 恢复
git reset --hard
# 更新
git pull gitlab-server master

源码拿到后,就可以进行编译了,执行
./build.sh
这个脚本会编译源码中的 uboot、kernel、rootfs、recovery 模块,完成后,生成的镜像存放在 rockdev 目录下

如果我们只修改了某一个模块,比如 uboot,那就没有必要去全局编译了,可以单独编译 uboot
./build.sh uboot
脚本 build.sh 支持的参数很多,可查看下图

烧录和升级
生成了镜像文件后,就可以进行烧录或升级了,rockchip 提供了自己的一套烧录工具,基于 windows开发,操作更加方便简单

使用双公头 USB 线烧录时,需要使用靠近电源的那个 usb 口
