瑞芯微TB-RK3399Pro--开发板环境
瑞芯微TB-RK3399Pro--开发板环境
前⾔
本系列博⽂,主要以TB-RK3399ProD开发为例,来记录RK3399pro系列的开发,本博⽂主要来记录开发板环境的攻略,记录下才坑过程。
本⼈开发环境
PC:ubuntu18.04LST
开发板:TB-RK3399proD-Debian10(推荐此系统,熟悉ubuntu的⼈选择debian算是没障碍,原因后续说吧)
开发环境搭建
系统、固件:采⽤Debian10系统(固件v1.7测试通过)
主要是参照前⾯写的环境安装内容:
(1)PC-Ubuntu 环境安装、 keras 2.2.4 +tensorflow-gpu 1.x 安装
(2)在PC-UBUNTU1804 or > version, 安装rknn虚拟环境,模拟rknn实现基本模型的转化、推理、运⾏
(3)rk3399pro板⼦上刷机(fedora28 -> debian10)双系统
(如果linux系统是fedora 28,和常⽤的ubuntu有点类似,只不过包安装的命令由apt-get 换成了dnf。debian10和ubuntu安装命令是⼀样的)
提⽰:RK3399PRO的这些特定运算的硬件(注意,CPU,GPU,VPG,RGA,NPU,PCI-Ex4硬件单元皆是独⽴运作的,也就是说同⼀时间他们都可以做独⽴的任务,相互不⼲扰不等待,考验同学们多线程编码的时候到了),⼤家可以提前学习⼀下,本⼈在学习记录部署也⽤到多线程,博客也会时刻更新,也会不断更新完善已经写好的博客,这些知识点是通⽤的。
⼀、开机
⼆、烧录固件(刷机)
由于本⼈购买的是4GB+2GB内存,也便于以后可能研究⼀下Android系统,所以安装了双系统。
window主机烧写固件和linux主机烧写固件选其⼀就⾏,此处我两种⽅式都写了,本⼈使⽤的window主机烧写固件。此板⼦⽀持Android 和Linux双系统,⽀持双系统启动和⼀键切换功能。
(烧写前千万别去擦除Flash,这样会造成⽆法开机!)
Window主机烧写固件
下载固件和烧写⼯具,
1)安装Windows PC端(⾸次烧写执⾏),⽀持xp,win7_32,win7_64,win8_32,win8_64,win10操作系统。本⼈使⽤window10系统
2)双击DriverAssitant_v4.7\ 打开安装程序,点击“驱动安装”按提⽰安装驱动即可,
安装界⾯如下所⽰:
赞美劳动的简短句子3)Type-C线连接主机端的USB接⼝和TB-RK3399Pro开发板的Type-C接⼝,烧写⼯具通过该接⼝烧写固件。
4)双击AndroidTool_Release_v2.启动烧写⼯具,单击右键,导⼊config_dual 配置,此配置为双系统配置。
⼯具界⾯如下:
导⼊配置后,序号7的reconvery.img的⽬录是错误的,需要需改⼀下(最好每⼀个都检查⼀下)
序号12的rootfs的路径名称注意⼀下,是“debian10-toybrick-rk3399pro-lxde-V1.1.img”,⽽不是“rootfs.img”,由于第⼀次我看官⽹的,在使⽤过的过程发现是fedora28系统,并⾮是debian10。
img⽬录⽂件如下:
若⽤户只想烧单系统,导⼊对应config 配置⽂件注意⼀下(在AndroidTool_Release_v2.64根⽬录下)。
5)⼀⼿长按TB-RK3399Pro开发板上recovery按键,另⼀⼿再按reset按键约1秒松开,系统将进⼊Loader模式,最后松开recovery按键;点击“执⾏”按钮开始烧写,(注意操作:开始刷机处于关机状态,长按着recovery(不要松⼿),⼤约10s;然后同时按下power,再⼀块松⼿。点击“执⾏”。
若⽤户修改了U-Boot代码导致⽆法进⼊Loader模式,⽤户可以长按TB-RK3399Pro开发板上maskrom按键,再按reset键,系统将进⼊MASKROM模式,点击“执⾏”按钮开始烧写。此时可能才进⼊loader模式)。
界⾯如下所⽰:
执⾏完毕如下图所⽰:
如果你的开发板连上显⽰器的话,连开发板的显⽰器就会出现下⾯的界⾯,你也会发现这时才是debian10系统。
6)烧录固件成功之后,你就可以拔掉和主机相连的type-c数据线了。
三、开发板连⽹(wifi)
此操作在开发板上执⾏。
⽆论是下⾯软件更新还是安装,都需要在线,包括下⾯串⼝调试,也需要开发板ip。(当然你可以下载好,离线安装,这就存在⼀个数据传输的问题了,下⾯详细说明数据如何传输到开发板上,⽅便下⾯继续操作,我们先给开发板连上⽆线⽹吧,你当然也可以连有线,只是我没有⽹线,别笑ps【⼀个做算法的想好好搞⼀把部署,竟然还要利⽤⼯作之余偷偷摸摸的买板⼦瞎折腾,实则不易,⼯作或者学习有条件的同学们,还是好好珍惜可以瞎折腾的时光吧,这说的都题外话了,⾔归正传吧】)
步骤如下:
1. 将HDMI线连接显⽰器与开发板,通过USB⼝连接键盘/⿏标,电源线插上就不⽤说了吧,上电开机。接⼝接法如下图所⽰:
开机上电之后的显⽰器的界⾯如下:
输⼊⽤户名与密码:
⽤户名:toybrick
密码 : toybrick
2. 连⽹
如何装双系统此处我连接的是wifi,当然有⽹线的就直接插上⽹线吧。
点击桌⾯右下⾓两个台式显⽰器的⽹络图标,选择你的wifi,然后输⼊密码。
联⽹成功如下。
如果没有你没有到显⽰器右下⾓“⽹络图标”,怎么办呢?⽅法总是⽐问题,对不对?
查看⽹络设备列表
nmcli dev
注意,如果列出的设备状态是 unmanaged 的,说明⽹络设备不受NetworkManager管理,你需要清空 /etc/network/interfaces下的⽹络设置,然后重启
开启wifi
nmcli r wifi on
扫描附近的 WiFi 热点
nmcli dev wifi
连接到指定的 WiFi 热点
nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlan0
在连接的时候需要将 SSID和 PASSWORD 替换成实际的 WiFi名称和密码。
如: nmcli dev wifi connect “duolun” password “123” ifname wlan0园丁的意思
3. 打开终端窗⼝
屏幕左下⾓菜单图标 - -> System Tools – >LXTerminal(你可以将此图标锁定到桌⾯,⽅⾯以后快捷使⽤),如下图所⽰:
4. 查看⽆线⽹卡的名称,⼀般为wlan0(可选)
toybirck@debian10 ~$ ip addr
5. 查看开发板的ip(可选)
toybirck@debian10 ~$ ifconfig
溺的拼音
开发板ip为:192.168.0.104
6. 验证⽹络是否连上(可选)
toybirck@debian10 ~$ sudo ping www.baidu
ctrl+c终⽌。
四、开发板系统软件安装和更新
既然连上⽹类,那么就开始安装系统软件和更新吧,此操作依旧在开发板上执⾏。
系统软件安装和更新(必做⼯作):官⽅提供的debian10固件烧录好后,⾃带的是rknn–toolkit-1.3.+,可以通过pip和apt的更新命令将RKNN的三个套件更新到1.4.0(rknn_toolkit, rknn_api, npu_drv)具体情况如下(我是在rk3399Pro板上,即运⾏TB-RK3399pro开发板)
RKNN包含了3个基本组件:
1. rknn-toolkit :python程序,可⽤于转换模型、量化模型和推理
2. rknn-api :c库(.h/.so),⽤于c/c++程序调⽤推理引擎
3. npu-drv :npu驱动
电脑硬盘打不开
1. update rknn_tooklit-1.4.0
toybirck@debian10 ~$ pip3 install --user -U rknn
2.update rknn-api-1.4.0和npu_drv
toybirck@debian10 ~$ sudo apt update --fix-missing
toybirck@debian10 ~$ sudo apt -y upgrade  #(中间需要输⼊"Y")
toybirck@debian10 ~$ sudo apt update
# 开始正常的安装RKNN-Toolkit部署
toybirck@debian10 ~$ sudo apt install rknn-rk3399pro
如下图所⽰:
关于toybrick系列debian10系统软件包升级说明:
蜜饯黄连打一个成语是什么由于toybrick增加⼀个源,请⼤家执⾏如下步骤升级:
1. 更新源:sudo apt update --fix-missing
2. 升级软件包:sudo apt -y upgrade
注意:升级过去中会有提⽰确认是否提供/etc/apt/sources.list.d/toybrick.list,请输⼊"Y"
3. 再次更新源:sudo apt update
说明:上述步骤只需要执⾏⼀次即可,后续软件包升级只需要执⾏命令:
sudo apt update; sudo apt upgrade
3. 检查 RKNN-Toolkit 是否安装成功
toybirck@debian10 ~$ python3
>>> from rknn.api import RKNN
>>>
若没有任何提⽰,表明安装成功。键盘ctrl+D,退出python3环境。
4.安装依赖库
toybirck@debian10 ~$ sudo apt install cmake python3-scipy python3-h5py libprotobuf-dev protobuf-compiler zlib1g-dev libjpeg-dev python3-dev python3-o pencv
很多⼈说,跑例程的时候会报⼀个库⽂件缺失的错误,并且这个错误会导致所有例程都跑不动,提⽰numpy libf77blas.so.3 缺失,即
libf77blas.so.3:cannot open shared filed :no such file or directory,所以我们搭建开发板环境的时候,还是把这个库⼀并安装了吧。toybirck@debian10 ~$ sudo apt-get install libatlas-base-dev
5. 安装深度学习框架的库
a.安装 tensorflow 1.14.0 for debian
pip3 install --user -U tensorflow==1.14.0
如果你使⽤pytorch的话,现在rknn也⽀持了pytorch了,不过只⽀持pytorch1.12,所以使⽤这个深度学习框架的朋友,也安装⼀下吧,还有mxnet等,也可以⼀起安装,如果你使⽤的的话。我暂且没有使⽤,所以就没有安装,我只安装了tensorflow,注意是tf1.x不是
tf2.x,⽬前还不⽀持tf2.x。
b.安装torch(可选)
pip3 install torch==1.2.0 torchvision==0.4.0
c.安装mxnet(可选)
pip3 install mxnet==1.5.0
d.安装gluoncv(可选)
pip3 install gluoncv
注意:安装完成之后,需要重启⼀下⽣效
6. 安装蓝⽛
toybirck@debian10 ~$ sudo apt-get install -y bluez
toybirck@debian10 ~$ sudo apt-get install -y blueman
toybirck@debian10 ~$ sudo bluetoothctl show  # 查看蓝⽛信息
蓝⽛地址如下图红框所⽰:
五、串⼝调试
本⼈安装的是SecureCRT串⼝⼯具,window10系统。此后再讲这部分,这个是在你的pc机上安装的。
⼀般有以下⼏个步骤:
安装串⼝调试⼯具(本⼈使⽤的是SecureCRT串⼝⼯具)
到开发板串⼝标识
发起串⼝调试连接命令
输⼊⽤户名和密码进⾏登录(⽤户名:toybrick 密码:toybrick)
六、实现个⼈PC电脑和开发板进⾏数据互传
瑞芯微RK3399Pro这个板⼦其实跟⼀般的PC机⾮常接近了,初始预装了Debian 10操作系统,提供2个USB2.0的接⼝和1个USB3.0的接⼝,因此可以考虑使⽤U盘实现数据互传。
⼀般有以下⼏个步骤:
使⽤串⼝连接⼯具连接开发板,并登录系统
插⼊USB
使⽤mount命令挂载到指定⽬录
进⼊挂载⽬录,访问usb中的⽂件
拔出U盘前,先解除U盘挂载
1、插⼊usb
可以看到usb在系统中对应的路径,⼀般为/dev/sdx1,两个usb2.0的接⼝分别对应为/dev/sda1 或者 /dev/sdb1
2、使⽤mount命令挂载到指定⽬录
这⾥假定在⽤户主⽬录下进⾏操作,新建⼀个sdb1⽬录⽤于挂载
toybirck@debian10 ~$ mkdir sdb1
toybirck@debian10 ~$ sudo mount /dev/sdb1 sdb1
3、进⼊挂载⽬录,访问usb中的⽂件
toybirck@debian10 ~$ cd sdb1
toybirck@debian10 ~$ ls
七、关于版本说明
(2021.9.13)
V1.6.0 主要说明:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。