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

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

3天内不再提示

【ROC-RK3568-PC开发板试用体验】1 开发环境搭建

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

本文来源电子发烧友社区,作者:ouxiaolong, 帖子地址:https://bbs.elecfans.com/jishu_2303831_1_1.html


开发环境:

主机:Ubuntu 18.04

开发板:ROC-RK3568-PC开发板

Windows 下有很多虚拟机软件,目前市面上流行的有 VMware 和 VirtualBox。 VMware 分为收费专业版 Workstation Pro 和非商用免费版 Workstation
Player,推荐使用 Workstation Player。笔者这里使用的编译主机的Ubuntu 18.04,关于Workstation和Ubuntu安装笔者这里不在赘述,网上资料很多,笔者默认已经装好Workstation和Ubuntu。

1.1依赖库安装

1.1.1更新主机的源列表

$sudo apt-get update

1.1.2安装依赖工具

$sudo apt-get install repo git ssh make gcc libssl-dev
liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat
binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib
g++-multilib unzip device-tree-compiler python-pip libncurses5-dev
build-essential vim tree

1.2 TFTP服务环境搭建与测试

TFTP简单文件传输协议,是一个基于UDP 协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合。

TFTP 协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证

(1)下载并安装tftp

$sudo apt-get install openbsd-inetd

$sudo apt-get install tftpd tftp

(2)新建tftp目录和改变其属性

$sudo mkdir /tftpboot

$sudo chmod 777 /tftpboot

(3)修改/etc/inetd.conf文件

$sudo vim /etc/inetd.conf

新增如下内容:

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot

(4)启动tftp

$sudo /etc/init.d/openbsd-inetd start

(5)本地测试

在/tftpboot/目录下新建一个文件test,输入内容,保存。然后打开另外一个终端,测试文件传输。

–输入命令tftp 127.0.0.1

–输入get test

–输入q可以退出

–退出后,使用ls命令可以发现当前目录下有test文件,如果这个文件和服务器中的test文件内容一模一样,表明服务器搭建成功

1.png

(6)开发板测试

开发板下载测试

#tftp -g -l test -r test +IP地址

【注】-l后的文件是下载后文件名,可以自定义;-r后的是服务器的文件名。

1.3安装配置交叉编译工具链

在Linaro 官网中有很多种 GCC 交叉编译工具链,因为我们所使用的 RK3568开发板是一个 Cortex-A55内核64位的开发板,选择 aarch64-linux-gnu。

下载地址

2.png

图中有很多种交叉编译器,我们只需要关注这两种: gcc-linaro-7.5.0-2019.12-i686_aarch64-linux-gnu.tar.xz
和 gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz,第一个是针对 32 位系统的,第二个是针对 64 位系统的。大家根据自己所使用的 Ubuntu 系统类型选择合适的版本,比如我安装的 Ubuntu 14.04是64位系统,因此我要使用gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz。

Ø交叉编译器安装

将交叉编译器拷贝Ubuntu中的/opt目录下(没有opt则新建该目录),进行如下步骤:

1.解压gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar用以下命令

$sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar //必须用超级用户模式

2.编辑~/.bashrc文件

$vi ~/.bashrc

在文件最后增加一行

export PATH=$PATH:/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin

保存退出

3.运行 source ~/.bashrc
让文件生效

$source ~/.bashrc

Ø交叉编译器验证

方法一:在命令行下输入 aarch64-l 然后按tab键看会不会自动补全

方法二:输入:aarch64-linux-gnu-gcc -v

3.png

表示配置成功!

从图中可以看出当前交叉编译器的版本号为7.5.0,说明交叉编译工具链安装成功。使用刚刚安装的交叉编译器的时候使用的命令是“aarch64-linux-gnu-gcc”,“aarch64-linux-gnu-gcc”的含义如下:

1.aarch64表示这是编译 aarch64架构代码的编译器。AArch64是ARMv8 架构的一种执行状态。

2.linux 表示运行在 linux 环境下。

3.gnu表示嵌入式二进制接口

4.gcc 表示是 gcc 工具。

最好的验证验证方法就是直接编译一个例程,我们就编译第一个裸机例程“hello.c”试试。

$vim hello.c

#include 
int main()
{
    printf("Hello, ROC-RK3568-PC!n");
    return 0;
}

$aarch64-linux-gnu-gcc hello.c -o hello

使用如下命令查看 hello文件信息

$file hello

4.png

从图中可以看到 hello是64位 LSB 的 ELF 格式文件,目标机架构为 ARMaarch64,,说明我们的交叉编译器工作正常。

最后将程序下载到开发板,修改用户权限后即可运行。

值得注意的是,在RK3568的源码中有交叉编译链,只是版本要旧些,在源码prebuilts目录下。笔者配置该工具链主要用在应用开发。

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

    关注

    4

    文章

    456

    浏览量

    4466
  • 开发板试用
    +关注

    关注

    3

    文章

    299

    浏览量

    1964
收藏 人收藏

    评论

    相关推荐

    RK3568开发板支持AMP双系统

    RK3568开发板支持AMP双系统
    的头像 发表于 06-04 15:33 182次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>支持AMP双系统

    鸿蒙OpenHarmony【标准系统编译】 (基于RK3568开发板

    DevEco Device Tool支持Rockchip RK3568开发板的源码一键编译功能,提供编译工具链和编译环境依赖的检测及一键安装,简化复杂编译环境的同时,提升了编译的效率。
    的头像 发表于 04-24 20:55 644次阅读
    鸿蒙OpenHarmony【标准系统编译】 (基于<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>)

    迅为RK3568开发板驱动开发指南-输入子系统

    迅为RK3568开发板驱动开发指南-输入子系统
    的头像 发表于 02-23 15:11 376次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>驱动<b class='flag-5'>开发</b>指南-输入子系统

    迅为RK3568开发板助力智能车载产业快速发展

    迅为RK3568开发板助力智能车载产业快速发展
    的头像 发表于 01-23 13:59 264次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>助力智能车载产业快速发展

    RK3568-视频开发案例

    RK3568-视频开发案例
    的头像 发表于 01-18 15:51 478次阅读
    <b class='flag-5'>RK3568</b>-视频<b class='flag-5'>开发</b>案例

    RK3568开发板在工控工业物联网网关方面的应用

    RK3568开发板在工控工业物联网网关方面的应用
    的头像 发表于 11-22 14:21 521次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>在工控工业物联网网关方面的应用

    RK3568开发板SG90 舵机模块的功能实现

    RK3568开发板SG90 舵机模块的功能实现-迅为电子
    的头像 发表于 09-20 14:29 566次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>SG90 舵机模块的功能实现

    RK3568开发板外接超声波传感器测距模块

    RK3568开发板外接超声波传感器测距模块-迅为电子
    的头像 发表于 09-18 15:12 650次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>外接超声波传感器测距模块

    迅为RK3568开发板Debian系统使用python 进行摄像头开发

    迅为RK3568开发板Debian系统使用python 进行摄像头开发
    的头像 发表于 09-14 16:58 895次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>Debian系统使用python 进行摄像头<b class='flag-5'>开发</b>

    瑞芯微RK3568开发板国产化工业级车载方案

    瑞芯微RK3568开发板国产化工业级车载方案-迅为电子
    的头像 发表于 09-12 17:19 1031次阅读
    瑞芯微<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>国产化工业级车载方案

    Banana Pi BPI-R2 Pro RK3568开源硬件开发板原理图

    Banana Pi BPI-R2 Pro RK3568开源硬件开发板原理图
    发表于 09-04 17:08 27次下载

    迅为RK3568开发板外接模块之HX711 称重模块

    迅为RK3568开发板外接模块之HX711 称重模块
    的头像 发表于 08-30 15:24 1082次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>外接模块之HX711 称重模块

    迅为RK3568开发板GPIO之外接模块

    迅为RK3568开发板GPIO之外接模块
    的头像 发表于 08-24 17:41 861次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>GPIO之外接模块

    瑞芯微RK3568主板开发板PET_RK3568_P01简述

    瑞芯微RK3568主板开发板PET_RK3568_P01简述
    的头像 发表于 08-08 11:41 2167次阅读
    瑞芯微<b class='flag-5'>RK3568</b>主板<b class='flag-5'>开发板</b>PET_<b class='flag-5'>RK3568</b>_P01简述

    瑞芯微RK3568核心/评估/开发板/工控用户手册

    最新版本瑞芯微RK3568核心/评估/开发板/工控用户手册,HD-RK3568-IOT工控
    发表于 08-01 14:00 55次下载