u-boot编译错误:error: bad value (armv5) for -march= switch

在makefile文件最上方加上

ARCH :=arm

CROSS_COMPILE ?=arm-none-linux-gnueabi-

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 这是一个编译错误,意思是使用了错误的参数“armv5”作为“-march=”开关的值。可能是因为编译器不支持该参数或者该参数不适用于当前的编译环境。需要检查编译器的文档或者尝试使用其他参数来解决该问题。 ### 回答2: 如果出现了“cc1: error: bad value (‘armv5’) for ‘-march=’ switch”的错误信息,意味着当前编译器无法识别设定的“-march=armv5”参数,从而导致编译失败。 这个错误通常与使用了错误编译器或编译选项有关。在大多数情况下,这个错误出现的原因是不兼容的编译器选项或不支持的处理器体系结构。因此,需要进行一些调整来解决这个问题。 解决这个问题的方法有几种: 1. 在编译命令中加入“-mcpu=xxx”,其中的“xxx”为当前设备所支持的处理器体系结构。例如,“-mcpu=arm1176jzf-s”,这样可以确保编译器可以识别处理器体系结构,并正确地进行编译。 2. 检查是否为当前设备正确的安装了编译器。有时候,该错误可能由于编译器不兼容或版本过低导致的。如果是这个原因引起的错误,需要升级或更换编译器来解决问题。 3. 确认设置正确的交叉编译器,因为错误的交叉编译器也有可能导致错误的出现。交叉编译器指的是在不同的平台上将代码编译为目标平台可执行文件的编译器。 4. 了解代码的依赖项和运行环境,有时候出现错误也可能是因为缺少相关的依赖项或者运行环境。检查一下相关的依赖项和运行环境是否已经正确安装。 综上所述,当出现“cc1: error: bad value (‘armv5’) for ‘-march=’ switch错误时,需要检查编译器选项、交叉编译器、正在使用的处理器体系结构、代码的依赖项和运行环境等因素,从而找到解决问题的方案。 ### 回答3: cc1: error: bad value ('armv5') for '-march=' switch 通常出现在编译 ARM 架构(尤其是 ARMv7 及更新版本)时。 这是因为编译器在编译时无法识别-march=armv5参数,因为 armv5 是较旧的 ARM 架构版本,与当前编译器不兼容。 解决这个问题的方法是更新编译器版本或使用正确的-march=参数。例如,在编译 ARMv7 架构时,应使用-march=armv7-a或-march=armv7ve参数。如果您正在使用GCC编译器,则还应使用-mfloat-abi=hard和-mfpu=vfpv3-d16参数指定硬件浮点单元。 除此之外,如果您正在使用交叉编译工具链,则还应确保工具链与目标设备支持的 ARM 架构版本兼容。 总之,要解决这个错误,您需要更加了解目标设备的 ARM 架构版本,并根据这些信息进行正确的编译参数设置。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值