嵌入式爱好者

查看: 8444|回复: 1

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

[复制链接]

32

主题

76

帖子

101

积分

扫一扫,手机访问本帖
发表于 2013-10-8 21:57:36 | 显示全部楼层 |阅读模式
本帖最后由 豆腐脑 于 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:wq

  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配置项

#########################################################################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#========================================================================

  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: *** [u-boot] 错误 1
    提示这个的话,修改两处地方
//cpu/arm1176/s3c64xx/cpu_init.S//cpu/arm1176/s3c64xx/Makefilemake
还是提示 arm-linux-ld: cannot find cpu/arm1176/s3c64xx/cpu_init.omake: *** [u-boot] 错误 1
问题出在哪里了?帮我下
问下:u-boot/nand_spl/board/sansung/---这个下面包含的文件:config.mk  Makefile      u-boot.lds这三个文件?
回复

使用道具 举报

32

主题

76

帖子

101

积分

 楼主| 发表于 2013-10-9 20:34:51 | 显示全部楼层
:funk::funk:
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-22 15:22

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表