由于公司工作需求,我学习使用了飞凌嵌入式的开发板,现在将使用飞凌开发板的经验和坑记录一下
我使用的开发板为飞凌RK3399,使用的系统为linux
飞凌开发板的一般使用流程
开发板的教程还是很全面的,可以完全根据教程操作
- 我烧录系统选用的OTG方案,有完整教程不多说了
- 在ubuntu系统上的QT上设置新的KIT用于交叉编译,这也有完整教程
- RK3399自带opencv3的库,但由于工作原因我需要使用opencv4的,所以我选择自己交叉编译了一份,交叉编译opencv方法
- RK3399的linux虽然有界面,但是基本就是给客户看的,程序员没用,程序员想进入linux内部就需要用一根typeC接口连接开发板的debug口,然后在连接ubuntu系统的电脑(此处有官方教程,但是是Windows下的)打开minicom,在设置好串口后便能与开发板连接了,就如果开了个终端一样。
- 可以用minicom的文件传输功能传输文件,但是如果真的传大文件好像会出现异常。
- 开发板自带WiFi,但是需要手动打开,所以可以通过修改启动项,开机自动调用wifi脚本。只需要在/etc/init.d文件夹中添加S99开头的脚本(S99表示开机,且优先级在99的脚本,同理还有K开头的关机脚本),脚本中写入
#! /bin/bash
./usr/bin/cmd/wifi.sh wlan0 -s TP-XXXX(WiFi名) -p xxxxx(密码)wait #即可自动连接WiFi
wait
^c # 加上`^c`,这样每次开机就能直接继续输入指令了
wait
exit 0
- 飞凌开发板自带SSH 服务器,但最好先设置路由器,将IP和mac绑定后,再用ubuntu 连接
ssh root@192.168.1.100 #输入飞凌wifi对应的ip地址
- linux 自带了很多库,如opencv3,qt,他们都在/usr/lib中,如果想添加自己的lib可以考虑将动态库复制进去,不过个人建议另建路径,将动态库都放到一个文件夹,方便修改和复制
首先,添加动态库的路径:
export LD_LIBRARY_PATH=/home/lib:$LD_LIBRARY_PATH
这样,/home/lib 就成为了链接库的路径,你可以把你的库放入这个路径中供你的程序调用
遇到的坑
- 该linux自带很多USB口,一般当你加入新口的时候是从ttyUSB5开始的,同时顺序也会有变化,QT的串口检索可能会从5开始 然后再01234,这个是小坑,但是导致了我自动串口检索的代码出了bug
- linux没用ch34X的驱动,如果想485转USB,最好还是使用PL2303或者ft232的转换器
- 新增摄像头的video编号也是从10开始的,也就是说10号是插入的第一个摄像头,但是插入一个会出现10,11两个新的编号,只有10那个是有用的
- WiFi连接要保持稳定,如果WiFi换了,导致wifi脚本失败得话,会导致程序不停的重试,这里建议先删除(或者改名)开机自动连接WiFi的脚本,然后再重启再修改密码,不然不停弹出的错误让你啥都干不了。