- 论坛徽章:
- 0
|
.text :
{
arch/arm/cpu/arm1176/start.o (.text)
board/samsung/xt6410/lowlevel_init.o (.text)
*(.text)
}
红色部分是我加的,加了以后就编译不过了。
board/samsung/xt6410/libxt6410.o: In function `lowlevel_init':
/home/work/tiny6410/my/u-boot-2012.04-6410/board/samsung/xt6410/lowlevel_init.S:52: multiple definition of `lowlevel_init'
board/samsung/xt6410/lowlevel_init.o:/home/work/tiny6410/my/u-boot-2012.04-6410/board/samsung/xt6410/lowlevel_init.S:52: first defined here
board/samsung/xt6410/libxt6410.o: In function `mmu_table':
xt6410.c.mmudata+0x0): multiple definition of `mmu_table'
board/samsung/xt6410/lowlevel_init.o.mmudata+0x0): first defined here
arm-linux-ld: warning: creating a DT_TEXTREL in object.
make: *** [u-boot] Error 1
在lowlevel_init.S中有下面的定义:
#ifdef CONFIG_ENABLE_MMU
/*
* MMU Table for SMDK6400
*/
/* form a first-level section entry */
.macro FL_SECTION_ENTRY base,ap,d,c,b
.word (\base << 20) | (\ap << 10) | \
(\d << 5) | (1<<4) | (\c << 3) | (\b << 2) | (1<<1)
.endm
.section .mmudata, "a"
.align 14
/* the following alignment creates the mmu table at address 0x4000. */
.globl mmu_table
mmu_table:
.set __base, 0
/* 1:1 mapping for debugging */
.rept 0xA00
FL_SECTION_ENTRY __base, 3, 0, 0, 0
.set __base, __base + 1
.endr
/* access is not allowed. */
.rept 0xC00 - 0xA00
.word 0x00000000
.endr
/* 128MB for SDRAM 0xC0000000 -> 0x50000000 */
.set __base, 0x500
.rept 0xC80 - 0xC00
FL_SECTION_ENTRY __base, 3, 0, 1, 1
.set __base, __base + 1
.endr
/* access is not allowed. */
.rept 0x1000 - 0xc80
.word 0x00000000
.endr
#endif
|
|