报错信息:sun@sun-X450CC:~/sun/Bootloader/imx-bootlets-src-2.6.35.3-1.1.0$ make BOARD=iMX28_EVK
by using the pre-build command line
force building linux_prep
make clean -C linux_prep
make[1]: 正在进入目录 /home/sun/sun/Bootloader/imx-bootlets-src-2.6.35.3-1.1.0/linux_prep'
/home/sun/sun/Bootloader/imx-bootlets-src-2.6.35.3-1.1.0/linux_prep'
Cleaning...
Files:
rm -rf ./core/entry.o ./core/resume.o ./core/cmdlines.o ./core/setup.o ./core/keys.o ./board/iMX28_EVK.o ./hw/lradc-buttons.o ./output-target/linux_prep.ld
Build output:
rm -rf ./output-target
Build system:
rm -rf ./include/arch
make[1]:正在离开目录
cross-compiling linux_prep
make -C linux_prep ARCH=mx28 BOARD=iMX28_EVK
make[1]: 正在进入目录 /home/sun/sun/Bootloader/imx-bootlets-src-2.6.35.3-1.1.0/linux_prep'
.code'
gcc -c -Wall -I./include -nostdinc -fno-builtin -O -DMX28 -DBOARD_MX28_EVK -D__ASSEMBLY__ -o core/entry.o core/entry.S
core/entry.S: Assembler messages:
core/entry.S:26: Error: unknown pseudo-op:
core/entry.S:31: Error: no such instruction: stmdb sp!,{r4-r12,lr}'
ldr r4,entry_count'
core/entry.S:34: Error: no such instruction:
core/entry.S:35: Error: expecting operand after ','; got nothing
core/entry.S:36: Error: no such instruction: bne start_kernel'
bl try_to_resume'
core/entry.S:42: Error: no such instruction:
core/entry.S:49: Error: too many memory references for add'
str'
core/entry.S:50: Error: too many memory references for
core/entry.S:53: Error: no such instruction: ldmia sp!,{r4-r12,lr}'
bx lr'
core/entry.S:54: Error: no such instruction:
core/entry.S:56: Error: unknown pseudo-op: .pool'
bl clear_bss'
core/entry.S:64: Error: no such instruction:
core/entry.S:67: Error: no such instruction: bl hw_init'
bl setup_tags'
core/entry.S:70: Error: no such instruction:
core/entry.S:71: Error: too many memory references for mov'
ldr r1,=2531'
core/entry.S:74: Error: no such instruction:
core/entry.S:77: Error: expecting operand after ','; got nothing
core/entry.S:80: Error: no such instruction: ldr lr,=(0x40000000+0x8000)'
mov'
core/entry.S:81: Error: too many memory references for
core/entry.S:83: Error: unknown pseudo-op: .pool'
stmdb sp!,{r4-r6,lr}'
core/entry.S:91: Error: no such instruction:
core/entry.S:92: Error: no such instruction: ldr r4,=_hwinit_start'
ldr r5,=_hwinit_end'
core/entry.S:93: Error: no such instruction:
core/entry.S:94: Error: no such instruction: ldr r6,[r4],'
mov'
core/entry.S:95: Error: too many memory references for
core/entry.S:96: Error: too many memory references for mov'
cmp'
core/entry.S:97: Error: too many memory references for
core/entry.S:98: Error: no such instruction: blo 1b'
ldmia sp!,{r4-r6,lr}'
core/entry.S:99: Error: no such instruction:
core/entry.S:100: Error: too many memory references for mov'
.pool'
core/entry.S:102: Error: unknown pseudo-op:
core/entry.S:107: Error: no such instruction: ldr r0,=_bss_start'
ldr r1,=_bss_end'
core/entry.S:108: Error: no such instruction:
core/entry.S:109: Error: expecting operand after ','; got nothing
core/entry.S:110: Error: invalid char '[' beginning operand 2 [r0]'
cmp'
core/entry.S:111: Error: too many memory references for
core/entry.S:112: Error: no such instruction: blo 1b'
mov'
core/entry.S:113: Error: too many memory references for
core/entry.S:115: Error: unknown pseudo-op: .pool'
mov'
core/entry.S:122: Error: too many memory references for
core/entry.S:125: Error: too many memory references for mov'
mov'
core/entry.S:128: Error: too many memory references for
make[1]: *** [core/entry.o] 错误 1
make[1]:正在离开目录 `/home/sun/sun/Bootloader/imx-bootlets-src-2.6.35.3-1.1.0/linux_prep'
make: *** [linux_prep] 错误 2
报错文件我找到了是这个:
/*
- linux_prep entry code. *
- Entered twice: *
- - Before loading Linux kernel image to SDRAM to check
- if CPU is being taken out of standby mode and resume
- sleeping kernel. *
- - After loading Linux kernel image to prepare Linux boot
- paramteters and jump to the kernel *
- Vladislav Buzov vbuzov@embeddedalley.com *
- Copyright 2008 SigmaTel, Inc
- Copyright 2008 Embedded Alley Solutions, Inc *
- This file is licensed under the terms of the GNU General Public License
- version 2. This program is licensed "as is" without any warranty of any
- kind, whether express or implied. */ #include
#undef DEBUG
.code 32
.section ".start", "ax"
.global _start, _fail_reason
_start:
stmdb sp!, {r4-r12, lr}
/* Check entry counter */
ldr r4, entry_count
cmp r4, #0
bne start_kernel
/*
* We may not return from there if system is resuming
* from standby mode
*/
bl try_to_resume
#ifdef DEBUG
mov r2, #0x80000000
orr r2, r2, #0x70000
str r0, [r2]
#endif
/* Update counter to show we were here */
add r4, r4, #1
str r4, entry_count
/* Return to ROM */
ldmia sp!, {r4-r12, lr}
bx lr
.pool
entry_count:
.long 0x00
_fail_reason:
.long 0x00
start_kernel:
bl clear_bss
/* Initialize HW modules relevant for linux_prep */
bl hw_init
/* Setup tags for Linux kernel and save tags pointer in r2 */
bl setup_tags
mov r2, r0
/* Store machine id in r1 */
ldr r1, =MACHINE_ID
/* Zero r0 register */
mov r0, #0
/* Jump to Linux kernel */
ldr lr, =KERNEL_BASE_ADDRESS
mov pc, lr
.pool
/*
- This function initializes all HW modules anebled in
- current configuration. It goes throgh .hwinitcall section
-
containing addresses of HW initialization routines.
*/
hw_init:
stmdb sp!, {r4-r6, lr}
ldr r4, =_hwinit_start
ldr r5, =_hwinit_end
1: ldr r6, [r4], #4
mov lr, pc
mov pc, r6
cmp r4, r5
blo 1b
ldmia sp!, {r4-r6, lr}
mov pc, lr.pool
/* -
This function clears out the .bss section.
*/
clear_bss:
ldr r0, =_bss_start
ldr r1, =_bss_end
mov r2, #0
1: str r2, [r0], #4
cmp r0, r1
blo 1b
mov pc, lr.pool
/* ARM EABI toolchain needs divide by zero handler to be implemented
externally.
*/
.globl __div0
__div0:
mov pc, lr
.globl __aeabi_unwind_cpp_pr0
__aeabi_unwind_cpp_pr0:
mov pc, lr
.globl raise
raise:
mov pc, lr
有没有知道哪里错了的,这个文件我没有动过,是不是有什么地方需要配置