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

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

    关注

    25

    文章

    4789

    浏览量

    96265
  • Ubuntu
    +关注

    关注

    5

    文章

    553

    浏览量

    29328
收藏 人收藏

    评论

    相关推荐

    【北京迅为】iTOP-LS2K0500开发板快速使用编译环境ubuntu20.04第一章加载迅为提供 Ubuntu20.04

    【北京迅为】iTOP-LS2K0500开发板快速使用编译环境ubuntu20.04第一章加载迅为提供 U
    的头像 发表于 09-18 16:43 267次阅读
    【北京迅为】iTOP-LS2K0500<b class='flag-5'>开发</b>板快速使用<b class='flag-5'>编译</b><b class='flag-5'>环境</b><b class='flag-5'>ubuntu20.04</b><b class='flag-5'>第一</b>章加载迅为提供 <b class='flag-5'>Ubuntu20.04</b>

    【xG24 Matter开发套件试用体验】4-第一个例程2

    在上篇中没能把例程创建成功【xG24 Matter开发套件试用体验】3-第一个例程 这里继续把过程记录如下: 1分析问题 问题可能出在的位置只会是simplicity studio安
    发表于 08-02 08:35

    【xG24 Matter开发套件试用体验】开发环境搭建和开发流程体验

    ,并提供给BSP给应用程序开发人员快速的开端 板载的J-Link调试器通过SWD接口连接EFR32MG24芯片,VCOM虚拟串口连接到芯片的USART1
    发表于 07-19 23:22

    鸿蒙OpenHarmony【搭建Ubuntu环境

    支持在Windows环境进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu
    的头像 发表于 04-19 16:53 1152次阅读
    鸿蒙OpenHarmony【<b class='flag-5'>搭建</b><b class='flag-5'>Ubuntu</b><b class='flag-5'>环境</b>】

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

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

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

    Wmvare工具。 二,Vmware虚拟机里加载已有 ubuntu 开发环境 飞凌搭建好的虚拟机环境
    发表于 12-25 12:06

    如何用RK3588编写应用程序

    的参考资料里面,也讲述了如何使用Qt Creator搭建嵌入式Linux + Qt 的开发环境, 编写测试应用程序 我们可以尝试编译
    发表于 12-19 13:24

    【飞腾派4G版免费试用】1.实战交叉编译环境搭建和手把手uboot编译

    就来给大家说说如何进行交叉编译环境搭建吧! 首先,我们先来聊聊什么是飞腾派交叉编译
    发表于 12-06 16:58

    【涂鸦T2-U开发试用体验】1、T2-U开发环境搭建及调试

    :T2-U开发环境只能在ubuntu搭建,windows用tuya ide无法下载t2-u的
    发表于 11-25 23:38

    【ELF 1开发试用】3. Ubuntu 开发环境搭建——编译

    【ELF 1开发试用】3. Ubuntu 开发环境搭建
    发表于 11-23 23:35

    ubuntu20.04安装教程

    Ubuntu 20.04 的安装步骤如下: 制作启动U盘。首先下载Ubuntu 20.04的镜像文件和UltraISO(镜像制作工具)。然后使用UltraISO打开下载的镜像文件,插入
    的头像 发表于 11-13 16:59 1737次阅读

    在Linux如何使用CMake编译程序

    拿到其它平台上使用,无需修改,非常方便。 本文主要讲述在Linux如何使用CMake来编译我们的程序 环境
    的头像 发表于 11-08 16:15 5043次阅读
    在Linux<b class='flag-5'>下</b>如何使用CMake<b class='flag-5'>编译程序</b>

    Ubuntu系统编译OpenCV4.8源码记录

    Jetson开发板上编译OpenCV源码与编译运行OpenCV C++应用程序。我现在还有块Alxboard
    的头像 发表于 10-27 16:07 1380次阅读
    <b class='flag-5'>Ubuntu</b>系统<b class='flag-5'>下</b><b class='flag-5'>编译</b>OpenCV4.8源码记录

    【XR806开发试用】通过http请求从心知天气网获取天气预报信息

    本次评测开发环境搭建在windows11的WSL2的Ubuntu20.04中,
    的头像 发表于 10-23 11:35 719次阅读
    【XR806<b class='flag-5'>开发</b>板<b class='flag-5'>试用</b>】通过http请求从心知天气网获取天气预报信息

    【LuckFox Pico Plus开发板免费试用开发环境搭建

    嵌入式平台大都是ARM体系结构,因此这就需要在Windows环境能使用GNU编译ARM体系结构的
    发表于 10-21 13:30