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

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

3天内不再提示

【EASY EAI Nano开源套件试用体验】Ubuntu 20.04下的开发环境搭建和第一个交叉编译程序执行

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-11 15:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:大菠萝Alpha, 帖子地址:https://bbs.elecfans.com/jishu_2309329_1_1.html


因为一直用Ubuntu 20.04环境,没有使用官方的VMWARE镜像搭建环境,所以直接开贴来一篇。

一、开发环境准备

(一)操作系统

使用的是Ubuntu 20.04。

root@EliteDesk:/$ uname -a
Linux EliteDesk 5.15.0-48-generic #54~20.04.1-Ubuntu SMP Thu Sep 1 16:17:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

(二)Cmake

执行sudo apt install cmake命令安装cmake。

root@EliteDesk:/$ sudo apt  install cmake
[sudo] password for root:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfwupdplugin1
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  cmake-data libjsoncpp1 librhash0
Suggested packages:
  cmake-doc ninja-build
The following NEW packages will be installed:
  cmake cmake-data libjsoncpp1 librhash0
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 5,470 kB of archives.
After this operation, 28.3 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.aliyun.com/ubuntu focal/main amd64 cmake-data all 3.16.3-1ubuntu1 [1,612 kB]
Get:2 http://mirrors.aliyun.com/ubuntu focal/main amd64 libjsoncpp1 amd64 1.7.4-3.1ubuntu2 [75.6 kB]
Get:3 http://mirrors.aliyun.com/ubuntu focal/main amd64 librhash0 amd64 1.3.9-1 [113 kB]
Get:4 http://mirrors.aliyun.com/ubuntu focal/main amd64 cmake amd64 3.16.3-1ubuntu1 [3,669 kB]
Fetched 5,470 kB in 4s (1,397 kB/s)
Selecting previously unselected package cmake-data.
(Reading database ... 221845 files and directories currently installed.)
Preparing to unpack .../cmake-data_3.16.3-1ubuntu1_all.deb ...
Unpacking cmake-data (3.16.3-1ubuntu1) ...
Selecting previously unselected package libjsoncpp1:amd64.
Preparing to unpack .../libjsoncpp1_1.7.4-3.1ubuntu2_amd64.deb ...
Unpacking libjsoncpp1:amd64 (1.7.4-3.1ubuntu2) ...
Selecting previously unselected package librhash0:amd64.
Preparing to unpack .../librhash0_1.3.9-1_amd64.deb ...
Unpacking librhash0:amd64 (1.3.9-1) ...
Selecting previously unselected package cmake.
Preparing to unpack .../cmake_3.16.3-1ubuntu1_amd64.deb ...
Unpacking cmake (3.16.3-1ubuntu1) ...
Setting up librhash0:amd64 (1.3.9-1) ...
Setting up cmake-data (3.16.3-1ubuntu1) ...
Setting up libjsoncpp1:amd64 (1.7.4-3.1ubuntu2) ...
Setting up cmake (3.16.3-1ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...

二、安装交叉编译工具链
直接使用官方下载的rv1126_rv1109_compiler_20220715_175105.tar.gz 文件,执行sudo tar xvf rv1126_rv1109_compiler_20220715_175105.tar.gz -C /
千万记得加上sudo,不要问为什么。

root@EliteDesk:/$ sudo tar xvf rv1126_rv1109_compiler_20220715_175105.tar.gz -C /
[sudo] password for root:
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/cc1plus
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/collect2
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/liblto_plugin.so.0.0.0
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/install-tools/
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/install-tools/mkinstalldirs
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/install-tools/fixincl
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/install-tools/mkheaders
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/install-tools/fixinc.sh
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/f951
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/plugin/
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/plugin/gengtype
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/lto-wrapper
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/liblto_plugin.so
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/liblto_plugin.so.0
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/lto1
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/libexec/gcc/arm-linux-gnueabihf/8.3.0/cc1
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/8.3-2019.03-x86_64-arm-linux-gnueabihf-manifest.txt
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/share/
opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/share/locale/

然后坐等安装完成。
EAI1.png

设置环境变量,将刚才安装的SDK包含:

root@EliteDesk:/media/rv1126$ export PATH=/opt/rv1126_rv1109_sdk/buildroot/output/rockchip_face_board/host/bin:$PATH
root@EliteDesk:/media/rv1126$ export ARCH=arm
root@EliteDesk:/media/rv1126$ export CROSS_COMPILE=arm-linux-gnueabihf-

测试交叉编译环境是否安装成功:

root@EliteDesk:/media/rv1126$ qmake -v
QMake version 3.1
Using Qt version 5.15.2 in /opt/rv1126_rv1109_sdk/buildroot/output/rockchip_face_board/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib
root@EliteDesk:/media/rv1126$ arm-linux-gnueabihf-gcc -v
Using built-in specs.
COLLECT_GCC=/opt/rv1126_rv1109_sdk/buildroot/../prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/opt/rv1126_rv1109_sdk/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/../libexec/gcc/arm-linux-gnueabihf/8.3.0/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: /tmp/dgboter/bbs/rhev-vm8--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/src/gcc/configure --target=arm-linux-gnueabihf --prefix= --with-sysroot=/arm-linux-gnueabihf/libc --with-build-sysroot=/tmp/dgboter/bbs/rhev-vm8--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/build-arm-linux-gnueabihf/install//arm-linux-gnueabihf/libc --with-bugurl=https://bugs.linaro.org/ --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/tmp/dgboter/bbs/rhev-vm8--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/build-arm-linux-gnueabihf/host-tools --with-mpfr=/tmp/dgboter/bbs/rhev-vm8--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/build-arm-linux-gnueabihf/host-tools --with-mpc=/tmp/dgboter/bbs/rhev-vm8--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/build-arm-linux-gnueabihf/host-tools --with-isl=/tmp/dgboter/bbs/rhev-vm8--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/build-arm-linux-gnueabihf/host-tools --with-arch=armv7-a --with-fpu=neon --with-float=hard --with-arch=armv7-a --with-pkgversion='GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)'
Thread model: posix
gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))

OK,一切正常。

三、HELLO Easy EAI

来个hello小程序吧。

#include 
#include 
int main(void)
{
        int i;
        for(i = 0; i < 5; i++) {
                printf("hello Easy EAI!%d n", i);
        }
        return 0;
}

这样就好,之后执行arm-linux-gnueabihf-gcc hello.c -o hello,生成ARM的可执行程序hello,再通过adb push hello /userdata到开发板。
EAI2.png

adb shell登录到开发板,执行程序,执行之前记得chmod修改下属性。
EAI3.png

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

    关注

    26

    文章

    6433

    浏览量

    121217
  • Ubuntu
    +关注

    关注

    5

    文章

    617

    浏览量

    33710
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微(EASY EAI)RV1126B 开发(编译)方式说明

    运行操作相对本地编译不那么直接。1.2EASY-EAI编译环境简介EASY-EAI编译
    的头像 发表于 03-28 16:08 5255次阅读
    瑞芯微(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)RV1126B <b class='flag-5'>开发</b>(<b class='flag-5'>编译</b>)方式说明

    EASY EAI Nano-TB(RV1126B)开发试用】03. 算法环境搭建

    遇到了opencv2文件缺失的问题,大概率是你的虚拟机中允许的编译环境没有和开发板进行绑定,需要重新执行 测试结果如下
    发表于 12-23 21:32

    EASY EAI Nano-TB(RV1126B)开发试用】02. 测试camera功能以及算法

    /1110 至此,编译成功了,需要转到开发版进行验证 在编译环境的putty窗口内执行拷贝命令 scp
    发表于 12-23 19:53

    EASY EAI Nano-TB(RV1126B)开发试用】介绍、系统安装

    EASY EAI Nano-TB(RV1126B)开发试用】介绍、系统安装 本文介绍了灵眸科技 EA
    发表于 12-23 18:05

    Linux 交叉编译实战:跑起来你的第一个 STM32 程序

    跑起来你的第一个STM32程序、准备工作在开始之前,需要准备:1、Linux开发环境Ubuntu
    的头像 发表于 11-24 19:04 1096次阅读
    Linux <b class='flag-5'>下</b><b class='flag-5'>交叉</b><b class='flag-5'>编译</b>实战:跑起来你的<b class='flag-5'>第一个</b> STM32 <b class='flag-5'>程序</b>

    EASY EAI Nano-TB(RV1126B)开发试用】1、初识

    非常感谢电子发烧友以及灵眸科技给了我这次试用EASY EAI Nano-TB(RV1126B)开发板的机会,星期四确认了我的
    发表于 11-16 11:15

    EASY EAI Nano-TB(RV1126B)开发试用】命令行功能测试-shell脚本进行IO控制-灯闪

    GPIO引脚连接到* 红绿灯板 :简单的外部设备,包含红、绿、黄三LED灯上,以控制其色彩的变换效果。 红绿灯板 红绿灯板 3V3 接EASY
    发表于 11-01 21:26

    EASY EAI Nano-TB(RV1126B)开发试用】开箱测评

    系列常用工具包括串口调试、编译环境搭建、烧写和测试工具等。用户可以通过这些工具快速搭建开发
    发表于 11-01 11:05

    EASY EAI Nano-TB(RV1126B)开发试用】+初识篇

    EASY EAI Nano-TB(RV1126B)开发套件是灵眸科技研发的款应用于AIoTl领域的核心板,并配有十分丰富的外设资源,以此为
    发表于 10-25 22:06

    【作品合集】灵眸科技EASY EAI Orin Nano(RK3576)开发板测评

    代码和WEB服务器代码实现在客户端网页上查看摄像头图像 【EASY EAI Orin Nano(RK3576)开发试用体验】PP-OCRV
    发表于 09-09 09:59

    EASY EAI Orin Nano开发试用体验】EASY-EAI-Toolkit人脸识别

    编译与测试 1.组件人脸识别代码如下 2.开发板挂载服务器,编译 挂载上服务器后,切换到EASY-EAI-Toolkit-3576/Demos/algorithm-face_dete
    发表于 07-20 14:40

    EASY EAI Orin Nano开发试用体验】EASY-EAI-Toolkit初体验

    本次EASY EAI Orin Nano开发试用体验主要是超级想体验灵眸的EASY-EAI-T
    发表于 06-28 21:21

    EASY EAI Orin Nano开发试用体验】人脸识别体验

    /nfs -o nolock 【注】此处需要插上网线连上网,要不提示连接服务器出错。 3、进入人脸识别目录,并执行./build.sh编译: root@EASY-EAI-ORIN-NANO:/home
    发表于 06-26 06:54

    EASY EAI Orin Nano开发试用体验】安装nfs服务器

    /developer/nfsroot * developer@EASY-EAI-Develop:~$ 测试: 使用typec连上开发板后,执行adb shell登录开发板。 在Des
    发表于 06-22 17:32

    EASY EAI Orin Nano开发试用体验】开发环境准备

    【前言】 首先感谢电子发烧友论坛以及灵眸科技给示了我这次非常难得的【EASY EAI Orin Nano开发试用体验】的机会,在进行评测之
    发表于 06-22 16:42