首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >U-boot for Beaglebone Black不会构建-目标CPU不支持THUMB指令

U-boot for Beaglebone Black不会构建-目标CPU不支持THUMB指令
EN

Stack Overflow用户
提问于 2018-05-11 10:38:00
回答 2查看 684关注 0票数 3

我正在尝试按照Chris Simmonds的“掌握嵌入式Linux编程”中的说明为beagle bone black构建u-boot。我已经构建了跨工具链,现在正在尝试使用该工具链构建Das U-boot,但由于不支持THUMB指令(编译器?由BeagleBone?)。我使用的是Denx的git仓库v2018.05发布的最新版本。基于Ubuntu 18.04构建。

以下是控制台输出:

代码语言:javascript
复制
johann@mars:~/uboot-work/u-boot$ make CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- am335x_evm_defconfig
#
# configuration written to .config
#
johann@mars:~/uboot-work/u-boot$ make CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- 
scripts/kconfig/conf  --silentoldconfig Kconfig
CHK     include/config.h
UPD     include/config.h
CFG     u-boot.cfg
GEN     include/autoconf.mk
GEN     include/autoconf.mk.dep
CFG     spl/u-boot.cfg
GEN     spl/include/autoconf.mk
CHK     include/config/uboot.release
CHK     include/generated/version_autogenerated.h
CHK     include/generated/timestamp_autogenerated.h
UPD     include/generated/timestamp_autogenerated.h
CC      lib/asm-offsets.s
cc1: warning: target CPU does not support THUMB instructions
CHK     include/generated/generic-asm-offsets.h
CC      arch/arm/lib/asm-offsets.s
cc1: warning: target CPU does not support THUMB instructions
CHK     include/generated/asm-offsets.h
HOSTCC  scripts/dtc/dtc.o
HOSTCC  scripts/dtc/flattree.o
HOSTCC  scripts/dtc/fstree.o
HOSTCC  scripts/dtc/data.o
HOSTCC  scripts/dtc/livetree.o
HOSTCC  scripts/dtc/treesource.o
HOSTCC  scripts/dtc/srcpos.o
HOSTCC  scripts/dtc/checks.o
HOSTCC  scripts/dtc/util.o
SHIPPED scripts/dtc/dtc-lexer.lex.c
SHIPPED scripts/dtc/dtc-parser.tab.h
HOSTCC  scripts/dtc/dtc-lexer.lex.o
SHIPPED scripts/dtc/dtc-parser.tab.c
HOSTCC  scripts/dtc/dtc-parser.tab.o
HOSTLD  scripts/dtc/dtc
HOSTCC  tools/mkenvimage.o
HOSTCC  tools/lib/crc32.o
HOSTLD  tools/mkenvimage
HOSTCC  tools/common/bootm.o
HOSTCC  tools/lib/fdtdec.o
HOSTCC  tools/fit_image.o
HOSTCC  tools/image-host.o
HOSTCC  tools/dumpimage.o
HOSTLD  tools/dumpimage
HOSTCC  tools/mkimage.o
HOSTLD  tools/mkimage
CC      arch/arm/cpu/armv7/cache_v7.o
cc1: warning: target CPU does not support THUMB instructions
{standard input}: Assembler messages:
{standard input}:42: Error: selected processor does not support `dsb sy' in ARM mode

make[1]: *** [arch/arm/cpu/armv7/cache_v7.o] Error 1
Makefile:1363: recipe for target 'arch/arm/cpu/armv7' failed

make: *** [arch/arm/cpu/armv7] Error 2
EN

回答 2

Stack Overflow用户

发布于 2019-03-19 14:01:49

我也在读这本书,也得到了同样的错误。我使用U-Boot的主分支解决了这个问题(日期: 2019-03-19,操作系统: Ubuntu: 18.04)。

但是,U-Boot的主分支没有am335x_boneblack_defconfig。我改用了am335x_evm_defconfig。

尽管有这些编辑问题,这本书还是很棒的。

编辑:

进一步调查后,我发现根本原因是fpu-type需要使用./ct-ng menuconfig.设置为'neon-vfpv3‘

按照书中的指示将float-abi设置为hard,fpu-type也应设置为neon-vfpv3。否则,Linux内核和Barebox/U-boot都不会被编译。

票数 4
EN

Stack Overflow用户

发布于 2018-05-11 21:28:47

会不会是你使用了错误的交叉编译器?

在Debian Buster上使用包gcc-7-arm-linux-gnueabihf

代码语言:javascript
复制
make am335x_evm_defconfig
export CROSS_COMPILE=arm-linux-gnueabihf-
make -j6

运行起来就像一个护身符。

我使用的包也可以在Ubuntu18.04:https://launchpad.net/ubuntu/bionic/+package/gcc-7-arm-linux-gnueabihf中找到

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50284222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档