2.1开发环境

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

2.2安装依赖包

更新主机的源列表

$ sudo apt-get update

安装依赖包:

$sudo apt-get install git u-boot-tools device-tree-compiler mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools libssl-dev autotools-dev libsigsegv2 m4 libdrm-dev curl sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libglib2.0-dev openssh-client lib32stdc++6 gcc-aarch64-linux-gnu libncurses5-dev lzop libssl1.0.0 libssl-dev expect lsb-core

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

在Linaro 官网中有很多种 GCC 交叉编译工具链,因为我们所使用的 RK3288开发板是一个 Cortex-A17 内核的开发板,因此选择 arm-linux-gnueabihf。

编译编译地址

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

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

1.解压gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz, 用命令

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

2.编辑~/.bashrc文件

$ vi ~/.bashrc

在文件最后增加一行

export PATH=$PATH:/opt/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin

保存退出

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

$ source ~/.bashrc

 交叉编译器验证
方法一:在命令行下输入 arm-l 然后按tab键看会不会自动补全
方法二:输入: arm-linux-gnueabihf-gcc -v

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

1.arm 表示这是编译 arm 架构代码的编译器。
2.linux 表示运行在 linux 环境下。
3.gnueabihf 表示嵌入式二进制接口。
4.gcc 表示是 gcc 工具。

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

$vim hello.c

#include <stdio.h>
int main()
{printf("Hello, G-3288-02!\n");return 0;
}

$ arm-linux-gnueabihf-gcc hello.c -o hello

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

$ file hello

从图中可以看到 hello是 32 位 LSB 的 ELF 格式文件,目标机架构为 ARM,说明我们的交叉编译器工作正常。
接下来可以将上述程序放到板子中运行。
这里推荐使用adb工具,命令如下:

adb push [PC文件路径] [开发板目录]
adb push D:/share/hello /root

接着用产口登开发板。
进入root目录,修改hello 的可执行权限,然后即可运行程序。

#chmod 777 hello
#./hello


小贴士:Ubuntu和Windows互传文件-创建链接

1)虚拟机->设置->共享文件夹

2)选择下一步,然后选择共享文件夹路径

再下一步->完成就可。

3)进行软链接
输入命令:

$ln -s /mnt/hgfs/share

好了,现在Ubuntu和Windows就能互传文件了。


欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书
BruceOu的知乎

资源获取方式

1.关注公众号[嵌入式实验楼]
2.在公众号回复关键词[RK3288]获取资料提取码

《Linux操作系统 - RK3288开发笔记》第2章 G-3288-02开发环境搭建相关推荐

  1. Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121458516 长期持续项目技术分享,Shang业Di ...

  2. Hi3516开发笔记(二):Hi3516虚拟机基础环境搭建之串口调试、网络连接以及sftp文件传输

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121314575 长期持续项目技术分享,Shang业Di ...

  3. Qt开发笔记(一):Qt+FFmpeg开发环境搭建以及工程模板

    原博主博客地址:https://blog.csdn.net/qq21497936 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/90 ...

  4. MyBatis-学习笔记01【01.Mybatis课程介绍及环境搭建】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  5. 《Linux操作系统-系统移植》第8章 USB-4G/LTE移植 -第3节 USB-4G移植(移远EC20开发-Gobi拨号)

    开发环境 主机:ubuntu12.04 开发板内核版本:linux-2.6.35 开发板:imx283开发板 [注]EC20支持PPP拨号,Gobi拨号和QMI拨号,笔者使用的是Gobi拨号,关于另外 ...

  6. Linux内核分析 读书笔记 (第一章、第二章)

    第一章 Linux内核简介 1.1 Unix的历史 Unix很简洁,仅仅提供几百个系统调用并且有一个非常明确的设计目的. 在Unix中,所有东西都被当做文件,这种抽象使对数据和对设备的操作是通过一套相 ...

  7. 《Ubuntu Linux操作系统》读书笔记

    文|Seraph 一.Ubuntu安装与基本使用 Linux是一种起源于UNIX,以可移植操作系统接口(Portable Operating System Interface, POSIX)标准为框架 ...

  8. 第七章 前端开发——前端工程化(NPM、脚手架、前端环境搭建)

    第七章 前端工程化(NPM.脚手架.前端环境搭建) 一.支持环境 二.NPM包管理工具 三.Vue生成器 四.前端的集成环境 五.项目目录结构 六.前端Vue框架与后端Django框架的简单交互 一. ...

  9. Android开发笔记(一百一十二)开发工具

    Eclipse/ADT ADT是Google在Eclipse基础上封装了Android开发工具的环境,最新版本是2014年7月2日发布的adt-bundle-windows-x86_64-201407 ...

  10. 第一节:linux 开发AI算法以及libtorch部署算法详细教程-环境搭建

    文章目录 linux 开发AI算法以及部署算法详细教程 linux docker环境搭建 参考example-docker libtorch 安装教程 opencv 安装教程 编译过程 测试开发环境示 ...

最新文章

  1. 市政管网检测机器人收费标准_管道无损CCTV检测:复杂的地下管网工作,其实可以交给机器人来做...
  2. 【第三组】用例+功能说明+技术说明
  3. ZeroClipboard 和JqueryUI_dialog 完美组合!
  4. 独家 | 一文读懂Apache Kudu
  5. 聊聊风口上的 eBPF
  6. php smarty php函数,smarty中使用php函数的方法
  7. 构造函数模式知识的扩展
  8. 事物与持久化_DDD之聚合持久化应该怎么做?
  9. dw cc链接mysql_Adobe Dreamweaver CC MySQL连接 报404错误的解决方法_MySQL
  10. centos更新163源并升级内核
  11. 魅族手机便签里的备忘录内容如何导出到华为手机上?
  12. Tomcat安装及环境配置(详细教程)
  13. 用指针将字符串逆序输出
  14. python 词云(Word Cloud)设计
  15. 金蝶云系统显示服务器离线,金蝶kis显示云服务器已离线
  16. 台式计算机网卡安装步骤图解,台式机怎样安装网卡驱动,详细教您电脑安装网卡驱动...
  17. 大数据时代的隐私保护:“被遗忘权”
  18. 英特尔至强E7 v2处理器:2倍性能提升,3倍内存容量,4倍I/O带宽
  19. 推荐一款强大的3D家装开源软件
  20. 深入浅出 | 图像分类之数据增强全梳理

热门文章

  1. MySQL - 语句优化
  2. RN:React Native原理以及新架构JSI、Fabric等概念
  3. android 开发社区
  4. 酷键盘 Midi Keyboard for Mac - MIDI钢琴键盘模拟器
  5. BP 供应商创建与修改
  6. 高斯核——Python实现
  7. android测试speaker,Android关于蓝牙mic和speaker的输入输出
  8. 06. 三层交换机实现VLAN间路由
  9. Python “ValueError: incomplete format” upon print(“stuff %” % “thingy”) 解决方法
  10. 4.13 使用扇贝工具制作猥琐的老鼠 [Illustrator CC教程]