uboot根目录下
mv include/configs/smdk2410.h include/configs/fs2410.h
cd board/samsung/
cp smdk2410.c fs2410.c -a
cd fs2410
mv smdk2410.c fs2410.c
vi Makefile
COBJS:=fs2410.o flash.o
再次进入uboot根目录
vi Makefile
在smdk2410_config:unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0
下添加:
fs2410_config:unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t fs2410 samsung s3c24x0
修改编译器
在
ifeq ($HOSTARCH,$(ARCH))
CROSS_COMPILE ?=
endif
下添加
ifeq (arm,$(ARCH))
##注意在ifeq 后有个空格。
CROSS_COMPILE ?= arm-none-linux-gnueabi-
endif
编译uboot
make disclean
make fs2410_config
make
但是出现错误
lib_arm/libarm.a(board.o): In function `start_armboot':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/lib_arm/board.c:414: undefined reference to `copy_filename'
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/lib_arm/board.c:434: undefined reference to `eth_initialize'
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/lib_arm/board.c:442: undefined reference to `BootFile'
lib_arm/libarm.a(board.o):(.data+0x8): undefined reference to `env_init'
lib_arm/libarm.a(board.o):(.data+0x10): undefined reference to `serial_init'
common/libcommon.a(cmd_bootm.o): In function `do_bootm_qnxelf':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/cmd_bootm.c:1438: undefined reference to `do_bootelf'
common/libcommon.a(cmd_bootm.o): In function `do_bootm_vxworks':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/cmd_bootm.c:1414: undefined reference to `do_bootvx'
common/libcommon.a(cmd_load.o): In function `do_load_serial_bin':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/cmd_load.c:470: undefined reference to `serial_setbrg'
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/cmd_load.c:508: undefined reference to `serial_setbrg'
common/libcommon.a(cmd_nvedit.o): In function `do_saveenv':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/cmd_nvedit.c:597: undefined reference to `saveenv'
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/cmd_nvedit.c:598: undefined reference to `env_name_spec'
common/libcommon.a(cmd_nvedit.o): In function `_do_setenv':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/cmd_nvedit.c:289: undefined reference to `serial_setbrg'
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/cmd_nvedit.c:384: undefined reference to `copy_filename'
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/cmd_nvedit.c:401: undefined reference to `BootFile'
common/libcommon.a(console.o): In function `puts':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/console.c:366: undefined reference to `serial_puts'
common/libcommon.a(console.o): In function `serial_printf':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/console.c:222: undefined reference to `serial_puts'
common/libcommon.a(console.o): In function `putc':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/console.c:345: undefined reference to `serial_putc'
common/libcommon.a(console.o): In function `tstc':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/console.c:325: undefined reference to `serial_tstc'
common/libcommon.a(console.o): In function `getc':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/console.c:309: undefined reference to `serial_getc'
common/libcommon.a(env_common.o): In function `env_get_char_init':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/env_common.c:154: undefined reference to `env_get_char_spec'
common/libcommon.a(env_common.o): In function `env_crc_update':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/env_common.c:145: undefined reference to `env_ptr'
common/libcommon.a(env_common.o): In function `set_default_env':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/env_common.c:223: undefined reference to `env_ptr'
common/libcommon.a(env_common.o): In function `env_relocate':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/env_common.c:263: undefined reference to `env_relocate_spec'
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/env_common.c:270: undefined reference to `env_ptr'
common/libcommon.a(stdio.o): In function `stdio_init':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/stdio.c:252: undefined reference to `serial_putc'
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/stdio.c:252: undefined reference to `serial_puts'
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/stdio.c:252: undefined reference to `serial_getc'
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/common/stdio.c:252: undefined reference to `serial_tstc'
board/samsung/fs2410/libfs2410.a(fs2410.o): In function `board_eth_init':
/home/embeded/Desktop/homeSecurityProgram/FS2410/uboot/u-boot-2010.03/board/samsung/fs2410/fs2410.c:132: undefined reference to `cs8900_initialize'
make: *** [u-boot] Error 1
初步判断是有些变量没有配置的结果。。。因此去配置变量。。。
第一个配置的就是cpu/arm920t/start.S
但是遇到汇编代码。。
因此暂停下来,复习汇编。。