【EASY EAI Nano开源套件试用体验】2软件开发环境搭建

描述

本文来源电子发烧友社区,作者:码农爱学习, 帖子地址:https://bbs.elecfans.com/jishu_2306650_1_1.html


上篇文章,进行了EASY EAI Nano的开箱测评与开机运行测试,本篇,进行软件开发环境的搭建。

1.编译工具链与Qt环境

1.1方法一:使用官方提供的系统镜像

官网文档教程https://www.easy-eai.com/document_details/3/135使用的是VMware虚拟机,并提供了已经配置好开发环境的Ubuntu镜像系统,理论上,只要安装了VMware,再将Ubuntu镜像导入,即可在配置好的Ubuntu中进行EASY EAI Nano的软件编译。

Ubuntu镜像默认搭建好初级的开发环境如下:

工具 描述
/opt/rv1126_rv1109_sdk 交叉编译工具
qtcreator qt编译环境
.bashrc 编译环境配置文件

1.2 方法二:自己配置编译环境

由于我之前已经安装过VirtualBox虚拟机了,并安装了Ubuntu18系统,如果要使用官方的VMware类型Ubuntu镜像,还需要再安装一个VMware,或是将VMware类型Ubuntu镜像先转为VirtualBox类型的,再导入到VirtualBox中。

为了能更多的了解rv1126的编译环境,我就继续使用我自己的开发环境进行rv1126编译环境的配置。arm-linux-gnueabihf-gcc这个编译工具链之前也安装过,Qt编译环境之前也安装过,不知道是否和EASY EAI Nano使用的是否一样,先继续使用我的之前已配置好的开发环境,遇到问题再想办法解决。

1.2.1 rv1126_rv1109_sdk的配置

官方的开发环境中,rv1126_rv1109_sdk的配置我之前是没有的,我需要自己配置一下。

先下载rv1126_rv1109_sdk(网盘资料路径为“03.编译器/rv1126_rv1109_compiler_xxxxxxxx.tar.gz”,网盘资料:https://pan.baidu.com/s/1AjOIu77mzFM4cDA0MMVr2A#list/path=%2F,提取码:5ttf)

然后在Ubuntu中解压,解压出来是一个名为opt的文件夹,里面包含rv1126_rv1109_sdk文件夹:
灵眸

官方教程的将此文件放到根目录下的opt目录下,我也把这个文件夹复制到根目录下的opt目录下(注意下图我的操作有点绕弯),应该直接一句就好了:

sudo mv opt/ /

灵眸

复制完成之后,还要添加环境变量,由于我之前已添加过旧版本的arm-linux-gnueabihf-gcc的环境变量,而rv1126_rv1109_sdk里有新版本的arm-linux-gnueabihf-gcc,为了不影响两个编译器的使用,我先不添加rv1126_rv1109_sdk的环境变量,可以在需要进行rv1126编译的时候,在shell中临时添加环境变量,方法为在编译前,输入几条指令:

export PATH=/opt/rv1126_rv1109_sdk/buildroot/output/rockchip_face_board/host/bin:$PATH
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-

1.2.2 源码编译测试

下载官方提供的例程(下载地址:https://github.com/EASY-EAI/EASY-EAI-Toolkit-C-Solution)进行编译测试。

官方提供了很多例程,这里随便打开一个例程的目录,调用build.sh进行编译。

如果直接编译,会出现报错,如下图左图,查看gcc的版本,是我之前配置的2017版的编译器。

编译前在shell中进行环境变量的设置,再查看gcc的版本,就是2019的版本了,再进行编译就可以编译成功了,如下图右图
灵眸

1.2.3 其它报错问题

官方例程源码,我是先下载到了Windows系统中后,再拷贝到Ubuntu中进行编译测试的,在编译前还遇到了其它问题,这里记录一下:

首先的build.sh没有执行权限的问题,这个比较简单,加个可执行权限即可:

chmod +x build.sh

另一个问题是,不知道是不是先下载到了Windows中的原因,build.sh文件都是window文件的换行符(rn),而build.sh要想运行,需要是linux系统格式的换行符(n),否则运行build.sh也会报错:

# bash: ./build.sh: /bin/sh^M: bad interpreter: No such file or directory

解决这个问题,只需要把换行符改为linux系统格式的换行符即可,可以使用sed指令来帮我们替换:

sed -i "s/r//" build.sh

上面的指令的意思是将r替换为空,即实现了(rn)变为(n)。

2 配置调试工具

2.1 ADB

EASY EAI Nano的OTG信号与ADB信号引脚复用,拨码开关拨到图片方向的左端即使用ADB接口,右端则表示使用OTG接口。

由于板子的拨码开关默认就是在ADB这端,所以不用修改(另外,上篇文章,已经在Windows系统上使用过ADB功能了)。
灵眸

用USB线连接板子与电脑,Ubuntu虚拟机右下角的USB选项中,将识别到的rockchipxxx勾选上,然后在Ubuntu的终端中输入命令“adb shell”就可以开始调试开发板了,如下图:
灵眸

不过,在某些时候,Ubuntu无法连接到ADB,会有如下提示,不知道是什么情况
灵眸

2.2 SSH(与wifi配置)

SSH登录,需要板子连网,并需要知道板子的ip,这里主要介绍下如何进行wifi配网。

2.2.1 临时配置wifi

先使用ADB接口登录进开发板,进行wifi配网,可以和上篇一样,使用如下指令进行wifi配网:

wifi_start.sh  ssid  password #ssid和password修改为自己的wifi名称和密码

查看ip后,即可使用ssh登录。用户名和密码都是root。

我用的MobaXterm软件进行SSH登录。
灵眸

2.2.2 永久配置wifi

上面那种方法配置wifi,板子重启后需要再次配置,比较麻烦,参考这篇帖子:https://www.dandelioncloud.cn/article/details/1503928604282155010可配置为将wifi信息写入板子,并在开机启动时自动连接wifi,需要添加一个脚本:

我在/etc/init.d中建立了一个S99auto_wifi_link脚本文件,里面写入这几条命令:

#!/bin/sh
​
wpa_supplicant -B -i wlan0 -c /userdata/cfg/wpa_supplicant.conf
wpa_cli reconfigure
wpa_cli reconnect

另外,/userdata/cfg/wpa_supplicant.conf文件中要修改为自己的wifi名和密码:
灵眸

修改之后,重启开机,wiif就可以自动连接了,可以使用ifconfig查看ip。

2.3 串口

板子上留了插针形式的串口接口,需要单独再接一个USB转串口模块才能通过串口进行调试,

需要单独接线,还需要有一个USB转串口模块,比较麻烦,先不使用串口调试。

3 程序运行测试

3.1 SSH拷贝文件

由于我的Ubuntu经常连不上板子的ADB,而Windows可以快捷的连接ADB,所以我在Ubuntu中通过SSH的方式将编译出的程序拷贝到板子中,用Windows连接板子的ADB来操作板子,并运行程序。

SSH发送文件的基本使用方式如下,可以从远端拉取文件到本地,也可以将本地文件发送到远端计算机

# 从远端拉取文件到本地
# scp 远端的用户名@远端计算机IP::/远端文件存放路径 拉取文件保存的本地路径
scp server_user_name@192.168.1.101:server_file_path local_path
​
# 将本地文件发送到远端计算机
# scp 本地文件的路径 远端的用户名@远端计算机IP::/远端文件存放路径
scp local_file_path server_user_name@192.168.1.101:server_path

我在Ubuntu中进行操作,即是将本地的可执行文件发送到远端的板子中。

注意,这里有2个源文件,所以生成了2个可执行文件,下图左图是SSH拷贝文件的流程,先拷贝了第一个程序(test-display)和测试图片(720x1200.rgb),右图是查看板子中的拷贝结果,然后运行测试程序。
灵眸

3.2 运行结果

测试效果如下,屏幕上显示了图片,其中左图是test-display的执行结果,右图是test-display-pro的执行结果
灵眸

屏幕的分辨率还是比较高的,图片显示的很清晰。

3 总结

本篇进行了EASY EAI Nano软件开发环境的搭建,在VirtualBox虚拟机中的Ubuntu18系统中,配置rv1126的交叉编译环境,并编译官方的测试代码,验证了编译环境可以正常使用,最后将编译结果通过SSH的方式复制到板子中进行运行测试。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分