Ubuntu 14.04 arm-2009q3交叉编译工具链的安装及使用

    xiaoxiao2022-07-12  176

    原文出自:https://blog.csdn.net/a470038781/article/details/52973450 感谢网友的分享!!! 我的开发板:GEC210。  文章仅作自己学习过程中的记录。

    最近在学习ARM开发板,按照开发板附送的安装交叉编译链教程,原文如下:

    将光盘中交叉编译工具的源码 arm-2009q3.tar.bz2 拷贝到/usr/local/arm(没有该 目录就新建一个)目录下,并解压: #tar jxvf arm-2009q3.tar.bz2 2)修改环境变量: #vim ~/.bashrc 在文件末添加 export PATH=/usr/local/arm/arm-2009q3/bin:$PATH 编译器安装成功。 #source ~/.bashrc

    PS:修改环境变量有三种方法:

    添加环境变量

    方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用) sudo gedit /etc/bash.bashrc 在最后加上 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin (路径)(注意等号那边不要有空格)

    使其生效:./etc/bash.bashrc

    方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用) sudo gedit /etc/profile 增加路径设置,在末尾添加如下: export PATH=$PATH:/usr/local/arm/4.4.3/bin

    使其生效:source /etc/profile

    方法三:修改/etc/environment文件 sudo gedit /etc/environment 原文件应为 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“ 将其改为 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin"

    按照此教程,设置完毕后理应能正常使用(因为教程没说其他的,萌新以为就此可以正常使用)。结果

    查阅得知,可能是因为ia32-libs数据库的问题(我的系统为Ubuntu 14.04)。

    于是依样画葫芦,使用如下命令安装32位库:

    sudo dpkg --add-architecture i386 sudo apt -get update sudo apt-get dist-upgrade 或者:

    安装新立德软件包管理器:打开终端,输入以下命令:sudo apt-get install synaptic 打开新立德软件包管理器,选择“设置>软件库” 选择“其他软件 > 添加” 在APT行中输入 “deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse” 选择确定退出新立德软件包管理器 在终端输入“sudo apt-get update” 在终端输入“sudo apt-get install ia32-libs”

    添加完32位库后,arm-linux-gcc -v 依旧显示未找到命令·····

    结果,百度得知,其实arm-2009q3.tar.bz2是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。

    SO,查询等所有你所熟悉的交叉编译工具命令都应该换成:

    arm-none-linux-gnueabi-

    故,arm-linux-gcc -v  应该打成arm-none-linux-gnueabi-gcc -v。

    10.31日补充:

    查阅得知,其实可以用软连接实现使用arm-linux-gcc指令,方法:

    #cd arm-2009q3/bin #gedit arm-2009q3.sh 编辑内容: #!/bin/bash ln -s arm-none-linux-gnueabi-addr2line arm-linux-addr2line ln -s arm-none-linux-gnueabi-ar arm-linux-ar ln -s arm-none-linux-gnueabi-as arm-linux-as ln -s arm-none-linux-gnueabi-c++ arm-linux-c++ ln -s arm-none-linux-gnueabi-c++filt arm-linux-c++filt ln -s arm-none-linux-gnueabi-cpp arm-linux-cpp ln -s arm-none-linux-gnueabi-g++ arm-linux-g++ ln -s arm-none-linux-gnueabi-gcc arm-linux-gcc ln -s arm-none-linux-gnueabi-gcc-4.4.1 arm-linux-gcc-4.4.1 ln -s arm-none-linux-gnueabi-gcov arm-linux-gcov ln -s arm-none-linux-gnueabi-gdb arm-linux-gdb ln -s arm-none-linux-gnueabi-gdbtui arm-linux-gdbtui ln -s arm-none-linux-gnueabi-gprof arm-linux-gprof ln -s arm-none-linux-gnueabi-ld arm-linux-ld ln -s arm-none-linux-gnueabi-nm arm-linux-nm ln -s arm-none-linux-gnueabi-objcopy arm-linux-objcopy ln -s arm-none-linux-gnueabi-objdump arm-linux-objdump ln -s arm-none-linux-gnueabi-ranlib arm-linux-ranlib ln -s arm-none-linux-gnueabi-readelf arm-linux-readelf ln -s arm-none-linux-gnueabi-size arm-linux-size ln -s arm-none-linux-gnueabi-sprite arm-linux-sprite ln -s arm-none-linux-gnueabi-strings arm-linux-strings ln -s arm-none-linux-gnueabi-strip arm-linux-strip 保存退出,执行: source arm-2009q3.sh source ~/.bashrc 即可。

    作者:a470038781 来源: 原文:https://blog.csdn.net/a470038781/article/details/52973450 版权声明:本文为博主原创文章,转载请附上博文链接!

    最新回复(0)