【全志T113-S3_100ask】安装交叉编译链(知识总结)

前言

本文章是参考了师兄(第四维度4)的文章内容,加上师兄指导下,自己总结出来的一些心得和笔记。

师兄第四维度4
文章参考https://blog.csdn.net/qq_46079439/article/details/125896105?spm=1001.2014.3001.5502

对下面一些内容的具体实现,目前也不是很完全清楚明白,一句话,还在学习的路上,如果有什么错误的地方请指正。在此之前建议去了解一下交叉编译链git分布式版本控制系统SDK。不想看也没事,如果你的开发板跟我这个一毛一样,你完全可以跟着我下面的步骤走。

一、一些准备工作

准备工作说白了其实呢就是下载一些软件,为了更好的开发,建议安装以下Linux环境(有些就是后面要用到的命令)

sudo apt-get install -y sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc wget python cvs git mercurial rsync subversion android-tools-mkbootimg vim libssl-dev android-tools-fastboot

sudo apt-get -y install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 libncurses-dev u-boot-tools

二、获取SDK源码(核心)

什么是SDK呢,其实差不多就是一个软件包(里面包含了交叉编译工具链),我们通过git去获取源码然后通过make去编译这些源码,然后这个交叉编译环境就安装成功了。

默认源码都存放在github仓库内,请使用如下命令获取:
book@100ask:~$ git clone  https://github.com/DongshanPI/buildroot-100ask_t113-pro
book@100ask:~$ cd buildroot-100ask_t113-pro/
book@100ask:~/buildroot-100ask_t113-pro$ git submodule update --init --recursive
book@100ask:~/buildroot-100ask_t113-pro$ git submodule update --recursive --remote
book@100ask:~/buildroot-100ask_t113-pro$ cd  buildroot/
book@100ask:~/buildroot-100ask_t113-pro/buildroot$ git submodule update --init --recursive
对于国内无法访问github的同学,可以使用国内备用gitee站点,如下命令。
book@100ask:~$ git clone  https://gitee.com/weidongshan/buildroot-100ask_t113-pro
book@100ask:~$ cd buildroot-100ask_t113-pro/
book@100ask:~/buildroot-100ask_t113-pro$ git submodule update --init --recursive
book@100ask:~/buildroot-100ask_t113-pro$ git submodule update --recursive --remote
book@100ask:~/buildroot-100ask_t113-pro$ cd  buildroot/
book@100ask:~/buildroot-100ask_t113-pro/buildroot$ git submodule update --init --recursive

获取成功的话,会在你当前目录下出现一个buildroot-100ask_t113-pro的目录,里面那些就是SDK源码(包含了交叉编译链或者说编译器)了。

对于这一步没有获取成功的,比如出现了下面这种情况:
在这里插入图片描述
这个解决方法我放在最后面再细说…

三、编译源码

就是编译上面获取到的源码

跳转到 buildroot-100ask_t113-pro/buildroot目录下去执行下面的命令
book@100ask:~/buildroot-100ask_t113-pro/buildroot$ make  BR2_EXTERNAL="../br2t113pro ../br2lvgl "  100ask_t113-pro_sdcard_core_defconfig
book@100ask:~/buildroot-100ask_t113-pro/buildroot$ make  V=1

(输入命令之前,注意当前所在路径注意当前所在路径!一定要在存放sdk源码buildroot-100ask_t113-probuildroot目录中去执行这两个命令,不然会出错!!!)

一旦没有什么问题,不出意外会经过一个漫长的等待…够你洗澡吃饭了

四、查看编译链

这一步主要检查上一步有没有把交叉编译链给安装了。

查看交叉编译链

(存放在获取到的 buildroot-100ask_t113-pro 里面的一个bin目录)
注意并不是根目录下面的bin

具体操作如下:

ls ~/tools/buildroot-100ask_t113-pro/buildroot/output/host/opt/ext-toolchain/bin

这里这个路径是不一样的,~表示用户目录,我在用户目录下创建了一个tools目录,然后把sdk源码(就是这个buildroot-100ask_t113-pro文件夹),放在tools目录下,你的跟我是不一样的,不过你只要找到buildroot-100ask_t113-pro这个目录,就可以去接着buildroot/output/host/opt/ext-toolchain/bin去查看bin目录下面的查看交叉编译链

五、设置交叉编译工具链,修改环境变量

完成这个步骤,我们首先要修改一个文件,这个文件是用户目录下的隐藏文件,你可以cd ~过去用户目录,然后ll -a去查看这个隐藏文件 ./bashrc

vim ~/.bashrc打开这个文件,在最下面粘贴下面的内容:
注意,这里不是无脑复制粘贴,因为我的bin目录文件的绝对路径跟你的bin文件绝对路径肯定不一样,这个bin目录文件就是上一个查看交叉编译链的那个bin目录,你可以跳转到那个bin目录,然后pwd查看绝对路径,然后替换掉下面PATH那个我的bin目录的绝对路径就好了。就第一行要注意一下,剩下两行直接复制就好。

export PATH=$PATH:/home/lsc666/tools/buildroot-100ask_t113-pro/buildroot/output/host/opt/ext-toolchain/bin(这个是上一步查看的bin目录的绝对路径)
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-

六、刷新当前shell环境

我们修改了环境变量,当然需要刷新一下,复制下面命令就好:
下面展示一些 内联代码片

source ~/.bashrc

source命令可以刷新shell环境

七、查看一下交叉编译工具的版本号

这个时候我们需要查看一下是否安装、设置对了交叉编译链,则就需要查看一下:

arm-linux-gnueabi-gcc -v

如果正确安装会显示下面信息:
在这里插入图片描述

八、最后

以上操作,其实我都是在师兄(第四维度4)的精心指导下去完成的,在安装这个交叉编译链时,也遇到了一个问题(就是第二点所说的那个卡死的问题),就是直接通过github仓库或者gitee国内站点都不能够正常获取到完整的sdk源码(就是这个buildroot-100ask_t113-pro目录里的东西)。

我当时是师兄通过服务器(不是虚拟机,虚拟机不行,会卡死)去获取到完整的一个源码,然后发个压缩包给我,最后我通过windowsubuntu共享文件夹,在ubuntu解压进了行安装。(关于虚拟机与windows之间怎么开启共享文件夹,我会但我懒,就不说了,可以自己去查一下)。

至于那个SDK源码的压缩包我就放下面了,有需要可以自提:

网盘链接: https://pan.baidu.com/s/16iiQJCs3_odndmvVO1LWYw
提取码: lsc6

一开始,你看这篇文章可能很懵逼,但是慢慢的去了解每一个东西,其实还是能理解的过去的。(懵逼也没事,跟着做就好,保姆级流程,不多不少刚刚好)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点灯学徒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值