1. 准备工作

1.1供电

旭日X3派开发板通过USB Type C接口供电,并兼容QC、PD快充协议。推荐使用支持QC、PD快充协议的电源适配器,或者至少搭配5V 直流 2A的电源适配器为开发板供电。注意,请不要使用PC机USB接口为开发板供电,否则会因供电不足造成开发板工作异常。

1.1.1供电时实际遇到的问题:

能否选用手机/平板充电器?

1.1.2问题解决:可以使用,但是保证至少搭配5V直流2A的电源适配器。我用的荣耀手机的充电器,经过实测,可以使用。

1.2存储
旭日X3派开发板采用TF存储卡作为系统启动介质,推荐使用至少8GB容量、速率C10以上的TF存储卡,以便满足Ubuntu系统及更多应用功能包对存储空间的需求。

1.2.1安装的时候实际遇到的问题:

我将在官网下载的Ubuntu系统烧录到便宜的SD卡、并将SD卡安装好后,发现X3派一直无法启动(上电的后绿灯一直不熄灭)。

1.2.2问题解决流程:

1.2.2.1 保证安装、烧录没有错误之后,我通过串口将上电初始化。(如下图)

1.2.2.2 观察发现在倒数第3行 “mmc fail to send set blkcnt cmd”,该报错。

1.2.2.3 通过去官方文档

https://developer.horizon.ai/api/v1/fileData/documents_pi/index.html)上搜索问题解决方案,在第8章FAQ(问答)中发现有同样的报错信息:太老旧的sd卡无法直接使用。

经过网上搜索答案,建议SD购买时选择闪迪(Sandisk)或者金士顿的32G或者64G的SD卡,具体型号如下:

1、品牌:闪迪,
型号:SDSDUNB-064G-ZN3IN,
容量:64G,
class10;

2、品牌:金士顿,
型号:canvas select SDCS2,
容量:32G,
class10;

3、品牌:闪迪,
型号:SDSQUNC-032G-ZN3MN,
容量:32G,
class10;
4、品牌:金士顿
型号:SDCS2存储卡,
容量:32G,
速度:class10;
链接:https://item.m.jd.com/product/4

1.3 显示

旭日X3派开发板支持HDMI显示接口,通过HDMI线缆连接开发板和显示器设备,可实时查看系统状态。

最普遍的方式是通过远程登陆的方式显示电脑界面。有三种方式可以选择:串口、VNC、SSH。如果选用VNC登录的方式,图像经常会失真。因为由于X3派芯片没有GPU加速的功能,会造成CPU负载的过大,经常导致芯片发热特别严重,而且图像会失真。

还需要注意的是,如果用VNC登录的话,需要将PC与X3派连在同一个热点下。

具体远程登录流程可以查看地平线开发者手册(https://developer.horizon.ai/api/v1/fileData/documents_pi/Quick_Start/Quick_Start.html#id7)

1.4 网络连接

旭日X3派开发板支持以太网、Wi-Fi功能,开发板通过连接以太网、Wi-Fi热点,可实现网络连接功能。

1.4 问题:Wi-Fi搜索信号的功能较差

1.4 解决办法:尽量将X3派与信号源离的近一些。

1.5安装系统

旭日X3派开发板支持Ubuntu 20.04 Desktop、Server两个系统版本,一般情况下推荐用户使用支持Ubuntu图形桌面的Desktop版本,以获得更方便的图形化交互体验。如果用户不需要Ubuntu图形桌面,并且熟悉命令行交互操作方式,可以使用不带图形桌面的Ubuntu Server版本。

1.5.1 问题:选用Desktop版本时,在编译软件的时候,会出现卡死现象。

1.5.2 解释:由于X3派的内存只有2G,如果这时候再用VNC Viewer远程登陆或者连接的话,由于X3派芯片没有GPU加速的功能,会造成CPU负载的过大,经常导致芯片发热特别严重,而且在安装过程中容易卡死。

1. 环境安装与搭建

2.1 安装Opencv库

2.1.1使用PC端SSH登录访问

因为怕CPU负载过大,所以选用SSH登录访问的方式。

 

2.1.1.1问题1:

进度到了90%的时候,由于X3派的内存只有2G,所以经常会卡死,之后编译会非常的慢,如果这时候再用VNC Viewer远程登陆或者连接的话,由于X3派芯片没有GPU加速的功能,会造成CPU负载的过大,经常导致芯片发热特别严重,而且在编译过程中容易卡死。

2.1.1.2 问题2:

经常报错:fatal error: Killed signal terminated program cc1plus

解决方法:swap分区

查阅相关信息后,认为是虚拟机内存不足造成的,通过创建swap分区解决了这个问题,编译成功。下面总结一下swap分区的创建和激活等操作:

# 创建分区路径

sudo mkdir -p /var/cache/swap/

# 设置分区的大小

# bs=64M是块大小,count=64是块数量,所以swap空间大小是bs*count=4096MB=4GB

sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=64M count=64

# 设置该目录权限

sudo chmod 0600 /var/cache/swap/swap0

# 创建SWAP文件

sudo mkswap /var/cache/swap/swap0

# 激活SWAP文件

sudo swapon /var/cache/swap/swap0

# 查看SWAP信息是否正确

sudo swapon -s

swap0文件的路径在/var/cache/swap/下,编译完后, 如果不想要交换分区了, 可以删除。

删除交换分区的命令:

sudo swapoff /var/cache/swap/swap0

sudo rm /var/cache/swap/swap0

释放空间命令:

sudo swapoff -a

#详细的用法:swapoff --help

#查看当前内存使用情况:free -m

以下是分区完成后的结果:

swap分区后瞬间将安装进度提升到了98%,效率非常的高!!!!

 

以上部分内容参考链接:

https://blog.csdn.net/little_stupid_child/article/details/79188015

https://cuichongxin.blog.csdn.net/article/details/106208891

https://blog.csdn.net/weixin_44796670/article/details/121234446

学习旭日X3派需要掌握的手册链接:

1、旭日X3派用户手册 — 旭日X3派用户手册 1.0.1 文档 (horizon.ai)

https://developer.horizon.ai/api/v1/fileData/documents_pi/index.html

2、RTOS机器人平台用户手册 — 地平线机器人平台用户手册 1.0 文档 (horizon.ai)

https://developer.horizon.ai/api/v1/fileData/TogetherROS/index.html

3、X3派对SD卡的要求

https://zhuanlan.zhihu.com/p/558163487

4、古月居 - ROS机器人知识分享社区 (guyuehome.com)

https://guyueju.oss-cn-beijing.aliyuncs.com

5、开发者论坛 (horizon.ai)

https://developer.horizon.ai/forum

6、旭日X3派泡泡链接-在古月居官网的泡泡上发帖提问

https://www.guyuehome.com/Bubble/circleDetail/id/92