蜗窝科技

samsung 2440 uboot 编译不过

蜗窝讨论区存档 · X Project · 楼主 heziq · 2016-12-17 · 6 帖

本文是原「蜗窝讨论区」的历史存档(2016-12-17),来自版块「X Project」,共 6 帖。讨论区已停止服务,此处仅供查阅。

heziq · 2016-12-17 14:53

这个问题困扰我半个月了 先贴代码: +++ b/arch/arm/Kconfig

+config TARGET_QT2440 + bool "Support samsung QT2440" + select CPU_ARM920T + select SUPPORT_SPL + select SPL + help + Support for SamSung platform based arm920t +

++ b/board/samsung/qt2440/Kconfig @@ -0,0 +1,18 @@ +# +#heziqin qt2440 samsung arm920t +# + +if TARGET_QT2440 + +config SYS_BOARD + default "qt2440" + +config SYS_VENDOR + default "samsung" + +config SYS_SOC + default "s3c24x0" + +config SYS_CONFIG_NAME + default "qt2440" +endif

Makefile 内容: nclude config.mk

UBOOT_DIR=$(BUILD_DIR)/../u-boot

OUT_DIR=$(BUILD_DIR)/out UBOOT_OUT_DIR=$(OUT_DIR)/u-boot

_all: all

env_prepare: git clone $(COMPILE_URL)

all: uboot

clean: uboot-clean

uboot: mkdir -p $(UBOOT_OUT_DIR) make -C $(UBOOT_DIR) CROSS_COMPILE=$(CROSS_COMPILE) KBUILD_OUTPUT=$(UBOOT_OUT_DIR) $(BOARD_NAME)_defconfig make -C $(UBOOT_DIR) CROSS_COMPILE=$(CROSS_COMPILE) KBUILD_OUTPUT=$(UBOOT_OUT_DIR)

config.mk 内容: ARD_NAME=qt2440 BOARD_ARCH=arm920t

BOARD_VENDOR=samsung BUILD_DIR=$(shell pwd) BIT32_64=$(shell getconf LONG_BIT)

ifeq ($(BOARD_NAME), qt2440) ifeq ($(BIT32_64), 64) COMPILE_URL=https://github.com/wowotechX/gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu.git CROSS_COMPILE=$(BUILD_DIR)/gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- else COMPILE_URL=https://github.com/wowotechX/gcc-linaro-aarch64-linux-gnu-4.8-2013.12_linux.git CROSS_COMPILE=$(BUILD_DIR)/gcc-linaro-aarch64-linux-gnu-4.8-2013.12_linux/bin/aarch64-linux-gnu- endif endif

主要内容就是这么多

下面是编译错误内容: make uboot error: /home/heziqin/x-project/u-boot/lib/asm-offsets.c:1:0: error: unknown value ‘armv4t’ for -march

网上说我在makefile里面没有添加ARCH=arm 好吧那我就添加 make -C $(UBOOT_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) KBUILD_OUTPUT=$(UBOOT_OUT_DIR)

error: /home/heziqin/x-project/u-boot/lib/asm-offsets.c:1:0: error: unknown value ‘armv4t’ for -march 错误一样。

我尝试这样修改: make -C $(UBOOT_DIR) ARCH=arm920t CROSS_COMPILE=$(CROSS_COMPILE) KBUILD_OUTPUT=$(UBOOT_OUT_DIR) include/config.h:6:24: fatal error: asm/config.h: No such file or directory

居然不报上次那个错误了,但我内心是觉得有ARCH=arm920t这样的吗?

为什么wowo搞的Makefile 里面没有添加ARCH=的内容就编过去了,为什么非要我添加这个? 诸位帮帮忙。

thanks

heziq · 2016-12-17 14:56

同志们大显身手的时候到了,快出来啊,不要潜水了

heziq · 2016-12-18 20:09

问题搞定。

wowo · 2016-12-18 21:50

heziq 写道: 问题搞定。

:rolleyes: 周六没有看网站,heziq同学就无声息的搞定了,哈哈~~ 可以分享一下解决方法哈~

heziq · 2016-12-18 23:25

是交叉编译器的问题,估计是不是太新了,不支持arm920t了,我换的arm-linux-gnueabi这套编译器。以后其他同学也可以参考。

xiao萧 · 2017-01-05 20:32

有朋友搞mini2440么,汇编部分比较若,需要大神的支持~