0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-11 16:54 次阅读

本文来源电子发烧友社区,作者:码农爱学习, 帖子地址: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文件夹:
1.png

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

sudo mv opt/ /

2.png

复制完成之后,还要添加环境变量,由于我之前已添加过旧版本的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的版本了,再进行编译就可以编译成功了,如下图右图
3.png

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功能了)。
4.png

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

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

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登录。
7.png

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名和密码:
8.png

修改之后,重启开机,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),右图是查看板子中的拷贝结果,然后运行测试程序。
9.png

3.2 运行结果

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

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

3 总结

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

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

    关注

    25

    文章

    5032

    浏览量

    97371
  • 灵眸
    +关注

    关注

    0

    文章

    19

    浏览量

    3194
收藏 人收藏

    评论

    相关推荐

    如何搭建企业AI开发环境

    搭建企业AI开发环境是一个复杂而细致的过程,涉及硬件选择、操作系统配置、软件安装、工具选用以及实践等多个方面。下面,AI部落小编将详细介绍如何搭建
    的头像 发表于 12-20 10:37 73次阅读

    【星闪派物联网开发套件体验连载】智能交通灯

    搭,显示传感器信息,红绿灯状态等 模块化硬件,组装方便快捷,对软件开发人员十分友好 本项目使用星闪开发板+底板+红绿灯模块+OLED模块组合 软件开发环境
    发表于 10-05 13:00

    BQ769x2软件开发指南

    电子发烧友网站提供《BQ769x2软件开发指南.pdf》资料免费下载
    发表于 08-26 09:12 0次下载
    BQ769x<b class='flag-5'>2</b><b class='flag-5'>软件开发</b>指南

    BQ769x2 软件开发指南

    电子发烧友网站提供《BQ769x2 软件开发指南.pdf》资料免费下载
    发表于 08-12 14:41 0次下载

    PyTorch深度学习开发环境搭建指南

    PyTorch作为一种流行的深度学习框架,其开发环境搭建对于深度学习研究者和开发者来说至关重要。在Windows操作系统上搭建PyTorc
    的头像 发表于 07-16 18:29 995次阅读

    SmartBond™ 无线测距软件开发套件DA14695-00HQDEVKT数据手册

    电子发烧友网站提供《SmartBond™ 无线测距软件开发套件DA14695-00HQDEVKT数据手册.rar》资料免费下载
    发表于 05-27 17:00 0次下载
    SmartBond™ 无线测距<b class='flag-5'>软件开发套件</b>DA14695-00HQDEVKT数据手册

    浅谈存内计算生态环境搭建以及软件开发

    后,我们现在将转向实现存内计算技术潜力的关键:存内计算生态环境搭建以及软件开发的具体细节。它们不仅为存内计算应用的开发和运行提供必要的基础,也是实现高效数据处理和分析的关键组成部分。
    发表于 05-16 16:40

    浅谈存内计算生态环境搭建以及软件开发

    和作用后,我们现在将转向实现存内计算技术潜力的关键:存内计算生态环境搭建以及软件开发的具体细节。它们不仅为存内计算应用的开发和运行提供必要的基础,也是实现高效数据处理和分析的关键组成
    的头像 发表于 05-15 17:10 465次阅读
    浅谈存内计算生态<b class='flag-5'>环境</b><b class='flag-5'>搭建</b>以及<b class='flag-5'>软件开发</b>

    AMD Vitis™ Embedded嵌入式软件开发套件的功能和特性概述

    Vitis Embedded 是一款独立的嵌入式软件开发套件,主要用于为 AMD 自适应 SoC 和 FPGA 中的 AMD 嵌入式处理子系统(基于 ARM 的子系统和 AMD MicroBlaze)开发并编译 C/C++ 软件
    的头像 发表于 04-08 10:50 917次阅读
    AMD Vitis™ Embedded嵌入式<b class='flag-5'>软件开发套件</b>的功能和特性概述

    【LicheeRV-Nano开发套件试用体验】LicheeRV-Nano上的IAI技术应用

    开发板,之前试用过 DUO对其清奇骨骼,小巧的身板,强劲的性能所吸引,在知道其更加强悍的兄弟板出来后,第一时间申请到试用。 此次开发板包含物料比较充分,除了有
    发表于 03-07 17:32

    【LicheeRV-Nano开发套件试用体验】+智能平板开发

    首先感谢Sipeed矽速科技和电子发烧友给与的这次机会,得以试用LicheeRV-Nano开发套件,并与大家共同分享与学习。 鉴于试用报告格式调整,后面亦按要求展现。 申请理由:
    发表于 03-06 23:05

    【LicheeRV-Nano开发套件试用连载体验】+ 实现三麦克纳姆轮小车自主导航

    。 项目计划: 根据文档,对LicheeRV-Nano开发套件快速入门。 搭建开发环境,安装ROS系统,创建底盘控制节点,移植底盘驱动部分,
    发表于 03-03 14:20

    EASY-EAI携手Hailo推出高性能、高算力的边缘AI硬件组合

    EASY-EAI与Hailo建立合作关系,共同推出高算力的边缘AI产品组合。
    的头像 发表于 02-21 09:56 818次阅读

    嵌入式软件开发软件开发的区别

    嵌入式软件开发软件开发是两个不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入在硬件设备中的软件,而
    的头像 发表于 01-22 15:27 2268次阅读

    【飞凌OK113i-S开发试用软件开发环境搭建

    【飞凌OK113i-S开发试用软件开发环境搭建 飞凌OK113i-S开发
    发表于 12-25 12:06