【飞凌嵌入式 OK3399-C+开发板试用体验】开箱上电


作者:donatello1996

收到开发板一周多的时间,因为忙于别的事情没来得及发第一帖,现在补上。 收到开发板,开箱,给我第一印象是开发板的外设接口真的很齐全,特别是背面的m.2固态硬盘口和minipcie接口都很不错,这样开发板就同时有工控板和开源创客板两个味了:


然后就是microUSB调试串口,typec烧录接口,SD卡接口,HDMI接口,GPIO接口。不得不说microUSB调试串口的设计真的很人性化,因为现在市面上大部分RK3399开发板都是直接引出TTL串口排针就完事的,根本不会设计USB转TTL串口芯片的USB接口,只需要一根手机USB线就能调试,这点飞凌厂商虽说不是创新但非常人性化,i了i了:
然后是GPIO接口,引出了一组I2C接口,一组SPI接口,一组AD接口和两个通用GPIO接口,GPIO接口是GPIO2的A2~A5四个引脚,完全够用:
WIFI模块,引出了标准大圆孔天线座:
LVDS接口,带背光,大部分情况用不上:
开发板外观介绍差不多了,在这里想发表一下意见,那就是飞凌开发板的运行内存大小为2GB,如果能做到4GB就更好了:


在开发板没寄出的这段时间里我在电脑虚拟机里面搭建好了Linux内核源码并编译,非常简单,将内核源码包解压出来,运行解压目录的



1../build_ubuntu.sh 


就可以了:


通常编译内核分全编译,单独编译dtb,单独编译Image三种,如果因为开发需要要在系统设备节点新增设备,那编译dtb就可以了,如果遇到交叉编译场合中源内核版本和目标内核版本不同,生成的ko文件在目标系统无法正常安装的情况,那就要编译Image了,我没在这次的板子上替换Image文件,我想飞凌厂商应该不会犯这种低级错误,再加上RK3399芯片已经将dtb和Image集成为boot.img,只是简单替换dtb也需要将一整个boot.img替换掉,替换boot.img的方式是让开发板上电时按着Recovery按键进入Loader模式,读取分区表,找到boot.img安装的地址0x0000A000,点击执行按钮单独烧录boot.img,非常方便:
开发板出厂安装系统为安卓系统:
我在项目中填写使用Linux+QT开发的,所以要先更换为厂商自带的Ubuntu镜像,就是这个update.img:
电脑端需要安装RK芯片原厂给出的USB-OTG烧录驱动,这里直接跳过,快进到系统烧录的环节,开启开发板开关时按下BOOT按键进入MaskROM模式进行系统烧录,等待时间极短的烧录过程重新上电即可:
开发板上电进入进入Ubuntu系统之后要做的第一件事当然是确定IP地址并进行SSH登录,使用任何支持SSH功能的软件如putty/MobaXterm等都可进入,但是要先进串口命令行确定IP地址,串口波特率1.5M:
进入SSH之后更新系统软件,在更新系统软件时应该要检查/etc/apt/sources.list的软件源设置是否有问题:
cat /etc/sources.list 

可以看到,ubuntu系统默认使用的软件源是国外的ports源,要想使用这个软件源更新软件且速度不受控制,必须要翻墙,所以为了方便直接用国内源是最好的,比如下面这个华中科技大学的Ubuntu16.04 LTS ARM64源:

1.deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
2.deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
3.deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
4.deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
5.deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
6.deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
7.deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
8.deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
9.deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
10.deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe 


这里需要注意几点


-Ubuntu16.04 LTS 的代号是xenial,不能选别的,如18.04的bionic
-必须要搜索ARM64源,如果搜到X64默认的Ubuntu源,是没法在开发板上面更新的
将软件源通过vi或者sftp方式替换到板子上面,执行更新与安装:
1.apt update
2.apt upgrade

对于板子目前用的这个系统,不能用aptitude这种便捷的工具进行软件安装,我在第一次安装完aptitude之后发现apt指令不能用了,为了节省时间无奈只能重刷系统,多次刷写系统对EMMC是不好的,大家引以为戒。

为了使QT项目开发更方便,我准备摆脱HDMI显示屏,直接用VNC桌面来远程控制开发板的图形桌面。对于VNC来说最常用的有两种方案,第一种是X11VNC,即实时投屏,将开发板输出到HDMI或者别的图像输出口的画面远程投屏到VNC客户端上,另外一种就是普通的vncserver,这种是虚拟桌面,我个人更喜欢X11VNC桌面。安装和使用x11vnc软件的方式真的够傻瓜式的:



1.apt install x11vnc
2.x11vnc


x11vnc启动之后使用VNC Viewer或者RealVNC之类的工具进入到桌面投屏,进入方式是IP+端口号,端口号5900:


将飞凌提供的QT安装包传输到板子上并解压:
1.cd /home
2.tar xvf qtcreator_deb.tar.bz2
3.dpkg -i /home/qtcreator_deb/*.deb
装好之后就可以直接在命令行呼出qtcreator了:


随便编写一个Hello World的窗口小程序: