ARM-Linux-gcc4.3.2交叉编译错误问题

原创 2016年05月31日 15:12:50

本博文针对arm-linux-gcc4.3.2版本的交叉编译工具出现的常见错误,进行了整理,总结。

开发环境: ARM9 (JZ2440开发板)
开放平台: Ubuntu14.04
交叉编译工具: arm-linux-gcc4.3.2

一. 解决 uboot1.1.6在arm-linux-gcc-4.3.2版本下编译错误问题

编译错误如下图:
这里写图片描述

解决方案:
1.修改Makefile文件中的PLATFORM_LIBS

PLATFORM_LIBS += -L $(shell dirname(CC)(CFLAGS) -print-libgcc-file-name) -lgcc

修改成:
PLATFORM_LIBS += -L $(shell dirname(CC)(CFLAGS) -print-libgcc-file-name) -lgcc -lc -L /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib

2.修改 cpu /arm920t/config.mk 文件

将: PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))

修改成:
PLATFORM_CPPFLAGS +=$(call cc-option,)
PLATFORM_RELFLAGS +=$(call cc-option,$(call cc-option,))

然后
make 100ask24x0_config
make
就可以编译通过啦~!

二. 解决在编译linux时无法生成uImage文件

解决方法: 没有安装mkimage安装包
sudo apt-get install mkimage

三.移植Busybox时注意的问题

1.选择arm-linux- 交叉编译工具

2.启动内核时卡在 Freeing init memory: 140K

解决方法: 在编译linux时make menuconig 选择 内核加上EABI 和OABI的支持
Kernel Features —>
[*] Use the ARM EABI to compile the kernel
[*] Allow old ABI binaries to run with this kernel (EXPERIMENTA

3.Illegal instruction 的解决方法

把/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib目录(也就是你的编译器的库目录)下
的所有文件拷贝到目标板子的根目录的lib目录下就好了。
这样无论你的hello是动态编译还是静态编译,跑起来都不会有Illegal instruction的问题。

4.执行qt的可执行文件时出现错误没有libstdc++库

解决方法: 在/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/lib中复制文件 : libstdc++.so libstdc++.so.6.0.10 libstdc++.so.6 到开发板的lib目录下面。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

交叉编译几种常见的报错

由于是第一次交叉编译,不知道会出现什么问题,思路就是先把gcc和ld都改成arm的,然后遇到什么问题在解决什么问题,以下过程都是在这个思路下进行。 1.指定arm的编译器和连接器: 只是把gcc改...

交叉编译环境之编译内核阶段各种错误

本开发板mini2440所配内核版本为 Linux-2.6.32.2 1 使用缺省配置文件配置和编译内核 $sudo cp config_mini2440_w35 .config       ...

Linux_ARM-LINUX-GCC 4.4.3安装(Ubuntu14下)

本文记录了Ubuntu下交叉编译环境arm-linux-gcc-4.4.3的安装过程,供大家参考。

无法获得锁 /var/lib/dpkg/lock 解决方法

sudo rm /var/lib/dpkg/lock sudo rm /var/cache/apt/archive/lock

ubuntu 10.04 建立交叉编译环境 arm-linux-gcc-4.3.2

建立交叉编译环境arm-linux-gcc-4.3.2。 1. 将友善科技光盘的arm-linux-gcc-4.3.2.tgz复制到任意路径下; 2. 确保安装了标准C开发环境,一句命令搞...

建立交叉编译环境arm-linux-gcc-4.3.2

      首先确保安装了标准C开发环境,一句命令搞定:sudo apt-get install build-essential 然后在终端进入arm-linux-gcc-4.3.2.tgz...

linux安装arm-linux-gcc-4.3.2(交叉编译环境搭建)

本人用的是Ubuntu14.04 64位系统。只要是linux系统,安装步骤都差不多,按以下步骤安装即可。 1、首先创建交叉编译器的存放目录sudo mkdir /usr/local/arm...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ARM-Linux-gcc4.3.2交叉编译错误问题
举报原因:
原因补充:

(最多只允许输入30个字)