linux20.04下安装嵌入式gcc交叉工具编译链

linux20.04下安装嵌入式gcc交叉工具编译链

主要内容是从开始安装并解决在安装过程中遇到的问题

开始

版本信息

windows 10 2004
Ubuntu 20.04.01(64位)
vmware 15
嵌入式板子 s5pv210

1.选择交叉编译链版本

选择 arm-2009q3.tar
相对可靠,三星公司通用版本

2.安装步骤

步骤1:打开虚拟机,打开终端(ctrl+shift+t),在/usr/local/下创建/usr/local/arm文件夹
将此压缩包复制到linux共享文件夹:winshare中,我的地址是:E:\study\winshare\s5pv210\tar

步骤2:在linux中进入到/usr/local/arm文件夹中,将共享文件夹中的压缩包复制到当前目录中,代码:cp /mnt/hgfs/winshare/s5pv210/tar/arm-2009q3.tar.bz2 ./注意代码分为三部分,第一部分为复制命令cp,第二部分为要复制的目标文件,第三部分为想要复制到的目标地址(在此为./表示当前地址)

步骤3:将arm-2009q3.tar.bz2解压到当前文件夹tar -jxvf arm -2009q3.tar.bz2在一些列解压命令行结束后,ls查看当前目录下的文件,进入/arm-2009q3/bin文件夹中查看当前文件夹中的文件,其中都是交叉编译链的程序,解压结束就代表安装成功,相当于windows中的绿色软件。真正的应用程序安装在/usr/local/arm/arm-2009q3/bin目录下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

步骤4:安装后的测试
到真正的安装程序的目录下(/usr/local/arm/arm-2009q3/bin),去执行其中的程序
执行方法是 ./arm-none-linux-gnueabi-gcc -v,(-v指令显示程序的版本号)出来一堆信息,只要后面已经显示gcc版本号就代表安装成功。
在这里插入图片描述
在这里插入图片描述

3.所遇到的问题

步骤4中执行查看版本号命令不成功
在这里插入图片描述
这是由于所安装的linux版本是64位,而安装的文件是32位不兼容引起,解决办法是执行sudo apt install lib32stdc++6
或者sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
在这里插入图片描述
在这里插入图片描述

输入后为上图信息,又有新的问题,这是由于上次使用apt出现异常,没有正常关闭,线程还在继续,解决办法使用ps 和 grep查找apt的pid,并使用kill杀死掉。执行:ps afx|grep apt,将出来的列表中的进程使用kill结束。
在这里插入图片描述
之后在输入apt命令成功,若出现如下信息
在这里插入图片描述
还需要进一步输入:sudo rm /var/lib/dpkg/lock-frontend 将相应的锁文件删除
在这里插入图片描述
之后重新输入apt可以正确安装
在这里插入图片描述
之后成功安装,显示出版本号

4.总结

其中在64位linux中安装32位软件,需要安装32位的库,使用apt-get中要注意apt是否正在运行,或者异常,需要手动使用命令找见并结束。关于/var/lib/dpkg/lock-frontend - open的详细信息看这篇文章

https://blog.csdn.net/xy_sugar/article/details/84999808

其中涉及dpkg (软件包管理)即 package manager for Debian,看这篇文章。

https://www.jianshu.com/p/2ec0f4b945a2

补充: linux下/bin目录放置一些系统自带的用户使用的应用程序,/sbin目录下存放的是系统自带的系统管理方面的应用程序。 自己装软件一般都放在/usr目录下。可以在/usr/local下创建文件夹,将自己所使用的程序安装进去。