交叉编译环境配置(Cortex-A8)

    xiaoxiao2021-03-25  119

    系统环境:Ubuntu 16.04 LTS(64位)  开发板:致远IoT-A3352LI V1.00(Cortex-A8)

    安装官方提供的 arm-none-linux-gnueabi

    推荐使用官方提供的工具,按照官方的指导手册来做会避免很多不必要的麻烦。手动安装更新的工具,有可能会引起系统其他软件的不兼容。

    解压 arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 安装包到 /opt 目录下:

    tar -zxvf arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /opt

    生成文件夹 arm-2011.03 ,

    修改 ~/.bashrc 文件,在 PATH 变量中增加交叉编译工具链的安装路径,  然后运行 ~/.bashrc 文件,使设置生效。

    # User specific environment and startup programsPATH=$PATH:**/home/ctools/arm-2011.03/bin** #增加交叉编译器安装路径

    运行.bashrc 文件的方法,进入用户主目录,输入. .bashrc 命令( 点+空格.bashrc)。  在终端输入 arm-none- 并按 TAB 键, 如果能够看到很多 arm-none-linux-gnueabi- 前缀的  命令, 则基本可以确定交叉编译器安装正确。

    64位系统请注意!  上述的利用 TAB 键补全的测试方法其实不能表示交叉编译环境已配置成功,请使用命令:

    arm-none-linux-gnueabi-gcc -v #任何后缀均可

    64位系统会出现 arm-none-linux-gnueabi-gcc: 没有那个文件或目录 的提示,google搜索可知:  “The problem has been solved, because I installed the amd64.iso linux system,so first must excuse apt-get install lsb-core,then you can excuse arm-linux-gcc -v”

    解决方法:

    apt-get install lsb-core

    如配置成功会显示如下信息: 

    如果上述方法未成功,请再往下看(未测试)  在 /etc/profile 中添加交叉编译环境的目录(加入到文件最后):

    export PATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin

    更新一下该配置文件:

    source /etc/profile

    此时在终端输入 arm-none- 并按 TAB 键, 如果能够看到很多 arm-none-linux-gnueabi- 前缀的  命令, 则基本可以确定交叉编译器安装正确。 

    如果还未成功配置。继续配置(未测试),在 /etc/environment 中的 PATH 末尾添加 arm-2011.03 的路径:

    /opt/arm-2011.03/bin

    推荐使用 arm-none-guneabi-gcc -v 指令查看配置结果。

    在这里,PATH 的手动输入配置该怎么写,请参考该文件中已有的字段。

    使用Ubuntu软件源中的 arm-linux-gcc 工具

    诸如 raspberry pi 这类的开发板,可以在线升级系统,使用最新的工具一般都没有什么问题。但还是建议以官方为准,比较稳定。

    使用 Ubuntu 官方源中的 arm-linux-gcc 工具

    sudo apt-get install gcc-arm-linux-gnueabi

    如果提示未找到软件包,是因为Ubuntu系统版本不是官网支持的最新的版本,请升级。执行以上命令即可。

    进行交叉编译(注意:在64位Linux系统上,需要安装lsb-core,否则,编译好的可执行文件可能在arm板上无法运行):

    arm-linux-gnueabi-gcc hello.c -o hello

    下载到开发板上,为文件添加可执行权限,执行: 

    ok!

    转载请注明原文地址: https://ju.6miu.com/read-6863.html

    最新回复(0)