Linux第19步_安装“Ubutun交叉编译工具链”

由于Ubuntu系统使用的GCC编译器,编译结果是X86文件,只能在X86上运行,不能在ARM上直接运行。因此,还要安装一个“Ubutun交叉编译工具链”,才可以在ARM上运行。

arm-none-linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具lsb-core lib32stdc++6是需要安装的相关库。

1、在安装前,要检查虚拟机可以上网,否则可能会导致安装失败。

2、在虚拟机界面,右击鼠标,弹出下面的对话框:

Linux第19步_安装“Ubutun交叉编译工具链”_第1张图片

3、点击“打开终端(E)”,得到下面的界面:

Linux第19步_安装“Ubutun交叉编译工具链”_第2张图片

4、输入“ls回车”,列出文件和文件夹

输入“cd linux回车”,进入linux目录;

输入“rm main*回车”,删除所有以main开头的文件。

输入“ls回车”,列出文件和文件夹

Linux第19步_安装“Ubutun交叉编译工具链”_第3张图片

 5、输入“mkdir tool回车”,在linux目录下创建一个”tool“文件夹。

然后输入“ls回车”,列出文件和文件夹;

Linux第19步_安装“Ubutun交叉编译工具链”_第4张图片

6、双击Window系统桌面上的“FileZilla Client.exe”,打开FTP客户端,这时候,我们知道安装“FTP客户端 的用处了吧。

Linux第19步_安装“Ubutun交叉编译工具链”_第5张图片

7、点击“文件”,然后点击“站点管理器”,见下图操作:

Linux第19步_安装“Ubutun交叉编译工具链”_第6张图片打开E:\开发板资料\STM32MP157开发板A盘基础资料\05、开发工具\05、开发工具\01、交叉编译器,找到下面这个文件:

gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar

8、点击下图中“MP1_Ubinti”,然后点击“链接”,见下图操作: 

Linux第19步_安装“Ubutun交叉编译工具链”_第7张图片

得到下图:

Linux第19步_安装“Ubutun交叉编译工具链”_第8张图片 9、找到E盘,再找STM32MP157开发板A盘基础资料,见下图操作: 

Linux第19步_安装“Ubutun交叉编译工具链”_第9张图片10、将gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar拖到tool目录下,见下图操作:

Linux第19步_安装“Ubutun交叉编译工具链”_第10张图片 11、等待文件传输结束

Linux第19步_安装“Ubutun交叉编译工具链”_第11张图片

12、文件上传成功,见下图:

Linux第19步_安装“Ubutun交叉编译工具链”_第12张图片 13、在终端,输入“pwd回车”,pwd是词组print working directory的首字母缩写,即打印工作目录;

输入“cd tool回车”,进入tool目录;

输入“ls回车”,列出文件和文件夹;

Linux第19步_安装“Ubutun交叉编译工具链”_第13张图片

14、在虚拟机界面右击鼠标,弹出下面的对话框,再打开一个终端。 

Linux第19步_安装“Ubutun交叉编译工具链”_第14张图片

15、点击“打开终端(E)”,得到下面的界面:

Linux第19步_安装“Ubutun交叉编译工具链”_第15张图片

16、输入“ls回车” ,列出文件和文件夹;

Linux第19步_安装“Ubutun交叉编译工具链”_第16张图片

17、输入“sudo mkdir /usr/local/arm回车 ,在“/usr/local”路径下创建一个“arm”文件夹:

Linux第19步_安装“Ubutun交叉编译工具链”_第17张图片

 18、输入密码“123456回车”

Linux第19步_安装“Ubutun交叉编译工具链”_第18张图片

19、输入“cd /usr/local/arm回车” ,进入/usr/local”路径下的“arm”文件夹:

Linux第19步_安装“Ubutun交叉编译工具链”_第19张图片

20、输入“sudo cp gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz  /usr/local/arm回车”,将当前文件拷贝到“/usr/local/arm”目录下

21、 输入密码“123456回车”

Linux第19步_安装“Ubutun交叉编译工具链”_第20张图片

 22、在另外一个已经打开的终端里,输入“ls回车”,列出文件和文件夹;

Linux第19步_安装“Ubutun交叉编译工具链”_第21张图片

23、输入“sudo tar -vxf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz回车”,解压文件。

Linux第19步_安装“Ubutun交叉编译工具链”_第22张图片

 24、 输入密码“123456回车”

Linux第19步_安装“Ubutun交叉编译工具链”_第23张图片

25、解压完成后,输入“ls回车”,发现下面的目录

gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf

26、输入“cd gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/回车”,进入目录gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf下;

输入“ls回车”,列出文件和文件夹;

Linux第19步_安装“Ubutun交叉编译工具链”_第24张图片

27、输入“cd bin回车”,进入“bin”目录

输入“ls回车”,列出文件和文件夹;

Linux第19步_安装“Ubutun交叉编译工具链”_第25张图片

28、arm-none-linux-gnueabi-gcc是 Codesourcery 公司基于GCC推出的的ARM交叉编译工具,见下图:

Linux第19步_安装“Ubutun交叉编译工具链”_第26张图片

29、输入“pwd回车”,查找全路径如下:

/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin

输入“sudo vi /etc/profile回车”,直接打开"etc"目录下的profile文件,准备修改它。

Linux第19步_安装“Ubutun交叉编译工具链”_第27张图片

30、输入密码“123456回车”

31、在文件的最后面添加下面的语句

export PATH=$PATH:/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin

注意:PATH后面不能有空格

32、按“ESC键”,然后输入“:wq回车”保存退出。

33、升级系统中的软件包

输入“cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin回车”,进入“bin”目录

输入“ls回车,列出文件和文件夹;

输入“sudo apt-get update回车”,升级系统中的软件包。

输入密码“123456回车

Linux第19步_安装“Ubutun交叉编译工具链”_第28张图片

更新完成见下图:

Linux第19步_安装“Ubutun交叉编译工具链”_第29张图片34、输入“sudo apt-get install lsb-core lib32stdc++6回车”,安装相关库“lsb-core lib32stdc++6”

发现问题如下:

E: 无法获得锁 /var/cache/apt/archives/lock - open (11: 资源暂时不可用)

E: 无法对目录 /var/cache/apt/archives/ 加锁

输入“ps -aux回车”,列出所有进程,找到lock

Linux第19步_安装“Ubutun交叉编译工具链”_第30张图片

输入“sudo kill  850回车”,删除lockd进程

 输入“sudo apt-get install lsb-core lib32stdc++6回车”,安装“lsb-core lib32stdc++6”;

见下图:

Linux第19步_安装“Ubutun交叉编译工具链”_第31张图片

 输入“cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin回车

Linux第19步_安装“Ubutun交叉编译工具链”_第32张图片

35、关机重启Ubuntu系统

36、在虚拟机界面右击鼠标,弹出下面的对话框:

Linux第19步_安装“Ubutun交叉编译工具链”_第33张图片

37、点击“打开终端(E)”,得到下面的界面 

Linux第19步_安装“Ubutun交叉编译工具链”_第34张图片

 38打开终端,输入“arm-none-linux-gnueabihf-gcc -v回车”,如果交叉编译器安装正确的话就会显示版本号

Linux第19步_安装“Ubutun交叉编译工具链”_第35张图片39、输入“cd /home/zgq/linux/回车”,进入/home/zgq路径下的linux目录;

输入“ls回车”,列出文件和文件夹;

Linux第19步_安装“Ubutun交叉编译工具链”_第36张图片

可以看到: gcc版本:9.2-2019.12

40、输入“vi main.c回车”,创建一个main.c文件,并打开

Linux第19步_安装“Ubutun交叉编译工具链”_第37张图片

41、按下“大写字母A”,插入光标。

#include

int main(int argc,char *argv[])

{      

        printf("Hello world\r\n");

}

Linux第19步_安装“Ubutun交叉编译工具链”_第38张图片

 42、按下“ESC建”,输入“:wq回车”,保存退出。

43、输入“ls回车”,列出文件和文件夹;

Linux第19步_安装“Ubutun交叉编译工具链”_第39张图片

 44输入“arm-none-linux-gnueabihf-gcc  main.c  -o main回车”,编译,并生成可执行文件main.exe

输入“ls回车”,列出文件和文件夹;

见下图:

Linux第19步_安装“Ubutun交叉编译工具链”_第40张图片

45输入“file main回车”,发现main是32位文件。

46、输入“./main回车”,发现不能执行main。

Linux第19步_安装“Ubutun交叉编译工具链”_第41张图片

你可能感兴趣的:(产品研发,linux,ubuntu,经验分享,STM32MP157,虚拟机,编译器)