/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc 
-Wp,-MD,arch/arm/kernel/.debug.o.d  
-nostdinc 
-isystem /toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include 
-I/kernel_imx/arch/arm/include 
-Iinclude  
-include include/generated/autoconf.h 
-D__KERNEL__ 
-mlittle-endian 
-Iarch/arm/mach-mx5/include 
-Iarch/arm/plat-mxc/include 
-D__ASSEMBLY__ 
-mabi=aapcs-linux -mno-thumb-interwork 
-funwind-tables  
-D__LINUX_ARM_ARCH__=7 
-march=armv7-a  
-include asm/unified.h 
-msoft-float       
-c -o arch/arm/kernel/debug.o arch/arm/kernel/debug.S
  /toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc 
-Wp,-MD,arch/arm/mm/.iomap.o.d  
-nostdinc 
-isystem /toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include 
-I/kernel_imx/arch/arm/include 
-Iinclude  
-include include/generated/autoconf.h 
-D__KERNEL__ 
-mlittle-endian 
-Iarch/arm/mach-mx5/include 
-Iarch/arm/plat-mxc/include 
-Wall 
-Wundef 
-Wstrict-prototypes 
-Wno-trigraphs 
-fno-strict-aliasing 
-fno-common 
-Werror-implicit-function-declaration 
-Wno-format-security 
-fno-delete-null-pointer-checks 
-Os 
-marm 
-mabi=aapcs-linux 
-mno-thumb-interwork 
-funwind-tables 
-D__LINUX_ARM_ARCH__=7 
-march=armv7-a 
-msoft-float 
-Uarm 
-Wframe-larger-than=1024 -fno-stack-protector 
-fomit-frame-pointer 
-Wdeclaration-after-statement 
-Wno-pointer-sign 
-fno-strict-overflow 
-fconserve-stack   
-D"KBUILD_STR(s)=#s" 
-D"KBUILD_BASENAME=KBUILD_STR(iomap)"  
-D"KBUILD_MODNAME=KBUILD_STR(iomap)"  
-c -o arch/arm/mm/.tmp_iomap.o arch/arm/mm/iomap.c
arch/arm/kernel/debug.S: Assembler messages:
arch/arm/kernel/debug.S:167: Error: garbage following instruction -- `ldrne r3,=MX51_AIPS1_IO_ADDRESS(MX51_UART1_BASE_ADDR)'
arch/arm/kernel/debug.S:183: Error: garbage following instruction -- `ldrne r3,=MX51_AIPS1_IO_ADDRESS(MX51_UART1_BASE_ADDR)'
make[1]: *** [arch/arm/kernel/debug.o] Error 1
make: *** [arch/arm/kernel] Error 2
make: *** Waiting for unfinished jobs....
 
trace debug.S :167
		addruart r3, r1
addruart 定義在 debug-macro.S:
		.macro	addruart, rx, tmp
		mrc	p15, 0, \rx, c1, c0
		tst	\rx, #1			@ MMU enabled?
		ldreq	\rx, =UART_PADDR	@ physical
		ldrne	\rx, =UART_VADDR	@ virtual
所以是 UART_VADDR 的定義: (debug-macro.S):
#include 
#define UART_PADDR	MX51_UART1_BASE_ADDR
#define UART_VADDR	MX51_AIPS1_IO_ADDRESS(MX51_UART1_BASE_ADDR)
 
的 MX51_AIPS1_IO_ADDRESS( ) 沒有展開 (定義)。這個是定義在 mx51.h。
用 git blame 找一下 debug-macro.S ,發現原來是 include mx51.h ,後來在新增 mx5x.h 後,才改為 include mx51.h..
改回去就 build OK...
... 但是..
在 boot argument 加上 earlyprintk 後,bootmessage 在
Uncompressing Linxu... done, booting the kernel.
後,就沒有 message 了...
 
沒有留言:
張貼留言