完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
开发环境: 主机:Ubuntu 20.04 开发板:OK3588-C开发板 Windows 下有很多虚拟机软件,目前市面上流行的有 VMware 和 VirtualBox。 VMware 分为收费专业版 Workstation Pro 和非商用免费版 Workstation Player,推荐使用 Workstation Player。笔者这里使用的编译主机的Ubuntu 20.04,关于Workstation和Ubuntu安装笔者这里不在赘述,网上资料很多,笔者默认已经装好Workstation和Ubuntu。 1 依赖库安装1.1 更新主机的源列表$ sudo apt-get update 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 2 安装配置交叉编译工具链在Linaro 官网中有很多种 GCC 交叉编译工具链,因为我们所使用的 RK3588开发板是内核为64位的开发板,选择 aarch64-linux-gnu。 地址:https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/ 图中有很多种交叉编译器,我们只需要关注这两种: 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 表示配置成功! 从图中可以看出当前交叉编译器的版本号为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
$ aarch64-linux-gnu-gcc hello.c -o hello 使用如下命令查看 hello文件信息: $ file hello 从图中可以看到 hello是64位 LSB 的 ELF 格式文件,目标机架构为 ARM aarch64,,说明我们的交叉编译器工作正常。 最后将程序下载到开发板,修改用户权限后即可运行。 值得注意的是,在RK3588的源码中有交叉编译链,只是版本要旧些,在源码prebuilts目录下。笔者配置该工具链主要用在应用开发。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
[技术] 【飞凌嵌入式OK3576-C开发板体验】llama2.c部署
6015 浏览 0 评论
6775 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】ssh连接与文件传输
6768 浏览 0 评论
8118 浏览 0 评论
【飞凌嵌入式OK527N-C开发板体验】6.制作h264播放器
7538 浏览 0 评论
6764浏览 2评论
3222浏览 2评论
11089浏览 1评论
5176浏览 1评论
83554浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 16:56 , Processed in 0.391588 second(s), Total 40, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号