豆腐脑 发表于 2013-10-8 21:57:36

arm-linux-ld: cannot find cpu/arm1176/s3c64xx/cpu_init.o

本帖最后由 豆腐脑 于 2013-10-8 22:44 编辑

u-boot-2010-06版本
1)修改Makefile,更改交叉编译器为CROSS_COMPILE ?= arm-linx-
  2)编译
make smdk6400_config
make distclean
  1)创建板级文件/uboot/board/samsung目录下
mkdir smdk6410cp smdk6400/* smdk6410/
  2)修改板级文件目录下的文件
cd smdk6410mv smdk6400.c smdk6410.c

  3)修改板级文件内容

vim smdk6410.c:%s/6400改为6410:wqvim Makefile:%s/smdk6400改为 smdk6410:wqhttp://common.cnblogs.com/images/copycode.gif

  4)添加smdk6410头文件
  进入目录/uboot/include/configs
cp smdk6400.h smdk6410.h
  将smdk6410.h中的6400全部替换成6410。
  5)修改cpu目录的Makefile
  进入目录/cpu/arm1176/s3c64xx
vim Makefile:%s/6400改为6410/:wq
  6)修改根目录Makefile
  找到smdk6400配置项,复制一段修改为smdk6410配置项
http://common.cnblogs.com/images/copycode.gif
#########################################################################smdk6410_noUSB_config   \smdk6410_config :       unconfig      @mkdir -p $(obj)include $(obj)board/samsung/smdk6410      @mkdir -p $(obj)nand_spl/board/samsung/smdk6410      @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h      @if [ -z "$(findstring smdk6410_noUSB_config,$@)" ]; then                     \                echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\                $(MKCONFIG) $(@:_config=) arm arm1176 smdk6410 samsung s3c64xx;         \      else                                                                            \                echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\                $(MKCONFIG) $(@:_noUSB_config=) arm arm1176 smdk6410 samsung s3c64xx;   \      fi      @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk#========================================================================http://common.cnblogs.com/images/copycode.gif

  7)添加/asm/arch/s3c6410.h文件
cp s3c6400.h s3c6410.h

vim s3c6410.h
:%s/6400改为6410
:wq
  8)添加nand_spl板级Makefile
  /uboot/nand_spl/board/samsung/smdk6410/目录下是空的
  拷贝6400目录下的文件过来
cd /uboot/nand_spl_board/samsungcp smdk6400/* smdk6410/vim smdk6410/Makefile:%s/6400改为6410/:wq
  9)然后可以进行smdk6410的初次编译了,在根目录下
make smdk6410_configmake
  10)如果在之前make smdk6400_config && make之后没有执行make clean的相关操作,一般是不会提示错误地。
    但是如果clean了,很可能会提示
arm-linux-ld: cannot find cpu/arm1176/s3c64xx/cpu_init.omake: *** 错误 1
    提示这个的话,修改两处地方
//cpu/arm1176/s3c64xx/cpu_init.S//cpu/arm1176/s3c64xx/Makefilemake
还是提示 arm-linux-ld: cannot find cpu/arm1176/s3c64xx/cpu_init.omake: *** 错误 1
问题出在哪里了?帮我下
问下:u-boot/nand_spl/board/sansung/---这个下面包含的文件:config.mkMakefile      u-boot.lds这三个文件?

豆腐脑 发表于 2013-10-9 20:34:51

:funk::funk:
页: [1]
查看完整版本: arm-linux-ld: cannot find cpu/arm1176/s3c64xx/cpu_init.o