I install the arm-2005q3-2-arm-none-eabi.exe in my pc. I had program and compile your company's tools I use these command step by step, but the endless is not my holp: 1> arm-none-eabi-as -a=Vector_GNU.lst -mcpu=arm7 -o Vector_GNU.o Vector_GNU.s 2>arm-none-eabi-ld -e 0x0 -m armelf -o Vector_GNU.elf Vector_GNU.o 3>arm-none-eabi-objdump -d Vector_GNU.elf > Vector_GNU.txt 4>arm-none-eabi-objcopy -O binary Vector_GNU.elf Vector_GNU.bin I found the binary enter address is not 0x0, but at the 0x8000 (form Vector_GNU.txt) Could you tell me the reason I had attachment all files to you. Thank you ________________________________ From: Yongming (Stephen Lg) Hu Sent: Monday, March 06, 2006 4:03 PM To: 'Borkar, Parag (Parag)' Subject: RE: [arm-gnu] codesourcery compile helping Please see the red words, could you help me to solve this question Thank you Stephen //////////////////////////////////// .section .data @ pre_define Mode_USR = 0x10 Mode_FIQ = 0x11 Mode_IRQ = 0x12 Mode_SVC = 0x13 Mode_ABT = 0x17 Mode_UND = 0x1B Mode_SYS = 0x1F I_Bit = 0x80 F_Bit = 0x40 Len_UND_Stack = 256 Len_ABT_Stack = 256 Len_IRQ_Stack = 256 Len_FIQ_Stack = 256 Len_SVC_Stack = 256 Offset_UND_Stack = 0 Offset_ABT_Stack = 256 Offset_IRQ_Stack = 512 Offset_FIQ_Stack = 768 Offset_SVC_Stack = 1024 .section .text @ program start .global _start _start: @ begin @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ exception enter address define @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ LDR PC, Reset LDR PC, Undefined_Handler LDR PC, SWI_Handler LDR PC, Prefetch_Handler LDR PC, Abort_Handler B . LDR PC, IRQ_Handler LDR PC, FIQ_Handler @ ************************ @ Exception Handlers @ ************************ Undefined_Handler: B Undefined_Handler SWI_Handler: B SWI_Handler Prefetch_Handler: B Prefetch_Handler Abort_Handler: B Abort_Handler IRQ_Handler: B IRQ_Handler FIQ_Handler: B FIQ_Handler @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ reset handler @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Reset: @ Enter each mode in turn and set up the stack pointer LDR r0, stack_base @MSR CPSR_c, $Mode_UND:OR:I_Bit:OR:F_Bit @Undefine mode MRS R1, CPSR ORR r1, r1, $I_Bit ORR R1, R1, $F_BIT ORR R1, R1, $Mode_USR MSR CPSR, R1 SUB sp, r0, $Offset_UND_Stack @MSR CPSR_c, $Mode_ABT:OR:I_Bit:OR:F_Bit @Abort mode MRS r1, CPSR ORR r1, r1, $I_Bit ORR R1, R1, $F_BIT ORR R1, R1, $Mode_ABT MSR CPSR, R1 SUB sp, r0, $Offset_ABT_Stack @MSR CPSR_c, $Mode_IRQ:OR:I_Bit:OR:F_Bit @IRQ mode MRS r1, CPSR ORR r1, r1, $I_Bit ORR R1, R1, $F_BIT ORR R1, R1, $Mode_IRQ MSR CPSR, R1 SUB sp, r0, $Offset_IRQ_Stack @MSR CPSR_c, $Mode_FIQ:OR:I_Bit:OR:F_Bit @FIQ mode MRS r1, CPSR ORR r1, r1, $I_Bit ORR R1, R1, $F_BIT ORR R1, R1, $Mode_FIQ MSR CPSR, R1 SUB sp, r0, $Offset_FIQ_Stack @MSR CPSR_c, $Mode_SVC:OR:I_Bit:OR:F_Bit @ SVC mode MRS r1, CPSR ORR r1, r1, $I_Bit ORR R1, R1, $F_BIT ORR R1, R1, $Mode_SVC MSR CPSR, R1 SUB sp, r0, $Offset_SVC_Stack @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@ @@ call the main function @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@ @ LDR r12,=C_Entry @ BX r12 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ @@ IRQ exception handler @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ stack_base .word 0x80000 @ stack defin //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////// Could not run still: which imply: error instruction: stack_base .word 0x80000 I want to define the stack point address ________________________________ From: Borkar, Parag (Parag) [mailto:borkar@xxxxxxxxx] Sent: Monday, March 06, 2006 3:36 PM To: Yongming (Stephen Lg) Hu; arm-gnu@xxxxxxxxxxxxxxxx Subject: RE: [arm-gnu] codesourcery compile helping Hi Stephen, the equivalent of DCD in GNU as is .word. regards, parag -----Original Message----- From: Yongming (Stephen Lg) Hu [mailto:yohu@xxxxxxx] Sent: Monday, March 06, 2006 3:18 AM To: arm-gnu@xxxxxxxxxxxxxxxx Subject: [arm-gnu] codesourcery compile helping Dear Sir; I am a new player, I want to use the coudsourcery to compile and debug the arm assemble language. I give you the program, could you help me solving the question. Thank you. @/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// .section .data @ pre_define Mode_USR = 0x10 Mode_FIQ = 0x11 Mode_IRQ = 0x12 Mode_SVC = 0x13 Mode_ABT = 0x17 Mode_UND = 0x1B Mode_SYS = 0x1F I_Bit = 0x80 F_Bit = 0x40 Len_UND_Stack = 256 Len_ABT_Stack = 256 Len_IRQ_Stack = 256 Len_FIQ_Stack = 256 Len_SVC_Stack = 256 Offset_UND_Stack = 0 Offset_ABT_Stack = 256 Offset_IRQ_Stack = 512 Offset_FIQ_Stack = 768 Offset_SVC_Stack = 1024 .section .text @ program start .global _start _start: @ begin @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ exception enter address define @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ LDR PC, Reset LDR PC, Undefined_Handler LDR PC, SWI_Handler LDR PC, Prefetch_Handler LDR PC, Abort_Handler B . LDR PC, IRQ_Handler LDR PC, FIQ_Handler @ ************************ @ Exception Handlers @ ************************ Undefined_Handler: B Undefined_Handler SWI_Handler: B SWI_Handler Prefetch_Handler: B Prefetch_Handler Abort_Handler: B Abort_Handler IRQ_Handler: B IRQ_Handler FIQ_Handler: B FIQ_Handler @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ reset handler @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Reset: @ Enter each mode in turn and set up the stack pointer LDR r0, stack_base @MSR CPSR_c, $Mode_UND:OR:I_Bit:OR:F_Bit @Undefine mode MRS r1, CPSR BIC r1, r1, $I_Bit BIC R1, R1, $F_BIT BIC R1, R1, $Mode_USR MSR CPSR, R1 SUB sp, r0, $Offset_UND_Stack @MSR CPSR_c, $Mode_ABT:OR:I_Bit:OR:F_Bit @Abort mode MRS r1, CPSR BIC r1, r1, $I_Bit BIC R1, R1, $F_BIT BIC R1, R1, $Mode_ABT MSR CPSR, R1 SUB sp, r0, $Offset_ABT_Stack @MSR CPSR_c, $Mode_IRQ:OR:I_Bit:OR:F_Bit @IRQ mode MRS r1, CPSR BIC r1, r1, $I_Bit BIC R1, R1, $F_BIT BIC R1, R1, $Mode_IRQ MSR CPSR, R1 SUB sp, r0, $Offset_IRQ_Stack @MSR CPSR_c, $Mode_FIQ:OR:I_Bit:OR:F_Bit @FIQ mode MRS r1, CPSR BIC r1, r1, $I_Bit BIC R1, R1, $F_BIT BIC R1, R1, $Mode_FIQ MSR CPSR, R1 SUB sp, r0, $Offset_FIQ_Stack @MSR CPSR_c, $Mode_SVC:OR:I_Bit:OR:F_Bit @ SVC mode MRS r1, CPSR BIC r1, r1, $I_Bit BIC R1, R1, $F_BIT BIC R1, R1, $Mode_SVC MSR CPSR, R1 SUB sp, r0, $Offset_SVC_Stack @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@ @@ call the main function @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@ @ LDR r12,=C_Entry @ BX r12 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ @@ IRQ exception handler @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ stack_base DCD 0x80000 @ stack defin @/////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// ///////////////// I use the arm-none-eabi-as -mcpu=arm7 -o=Vector_GNU.o Vector_GNU.s But it imply bad instruction ' stack_base DCD 0x80000' Could you tell me how to solve the question. Thank you Stephen
Attachment:
Vector_GNU.s
Description: Vector_GNU.s
Attachment:
Vector_GNU.lst
Description: Vector_GNU.lst
Attachment:
Vector_GNU.o
Description: Vector_GNU.o
Attachment:
Vector_GNU.bin
Description: Vector_GNU.bin
Vector_GNU.elf: file format elf32-littlearm Disassembly of section .text: 00008000 <_start>: 8000: e59ff030 ldr pc, [pc, #48] ; 8038 <Reset> 8004: e59ff014 ldr pc, [pc, #20] ; 8020 <Undefined_Handler> 8008: e59ff014 ldr pc, [pc, #20] ; 8024 <SWI_Handler> 800c: e59ff014 ldr pc, [pc, #20] ; 8028 <Prefetch_Handler> 8010: e59ff014 ldr pc, [pc, #20] ; 802c <Abort_Handler> 8014: eafffffe b 8014 <_start+0x14> 8018: e59ff010 ldr pc, [pc, #16] ; 8030 <IRQ_Handler> 801c: e59ff010 ldr pc, [pc, #16] ; 8034 <FIQ_Handler> 00008020 <Undefined_Handler>: 8020: eafffffe b 8020 <Undefined_Handler> 00008024 <SWI_Handler>: 8024: eafffffe b 8024 <SWI_Handler> 00008028 <Prefetch_Handler>: 8028: eafffffe b 8028 <Prefetch_Handler> 0000802c <Abort_Handler>: 802c: eafffffe b 802c <Abort_Handler> 00008030 <IRQ_Handler>: 8030: eafffffe b 8030 <IRQ_Handler> 00008034 <FIQ_Handler>: 8034: eafffffe b 8034 <FIQ_Handler> 00008038 <Reset>: 8038: e59f0074 ldr r0, [pc, #116] ; 80b4 <stack_base> 803c: e10f1000 mrs r1, CPSR 8040: e3811080 orr r1, r1, #128 ; 0x80 8044: e3811040 orr r1, r1, #64 ; 0x40 8048: e3811010 orr r1, r1, #16 ; 0x10 804c: e129f001 msr CPSR_fc, r1 8050: e240d000 sub sp, r0, #0 ; 0x0 8054: e10f1000 mrs r1, CPSR 8058: e3811080 orr r1, r1, #128 ; 0x80 805c: e3811040 orr r1, r1, #64 ; 0x40 8060: e3811017 orr r1, r1, #23 ; 0x17 8064: e129f001 msr CPSR_fc, r1 8068: e240dc01 sub sp, r0, #256 ; 0x100 806c: e10f1000 mrs r1, CPSR 8070: e3811080 orr r1, r1, #128 ; 0x80 8074: e3811040 orr r1, r1, #64 ; 0x40 8078: e3811012 orr r1, r1, #18 ; 0x12 807c: e129f001 msr CPSR_fc, r1 8080: e240dc02 sub sp, r0, #512 ; 0x200 8084: e10f1000 mrs r1, CPSR 8088: e3811080 orr r1, r1, #128 ; 0x80 808c: e3811040 orr r1, r1, #64 ; 0x40 8090: e3811011 orr r1, r1, #17 ; 0x11 8094: e129f001 msr CPSR_fc, r1 8098: e240dc03 sub sp, r0, #768 ; 0x300 809c: e10f1000 mrs r1, CPSR 80a0: e3811080 orr r1, r1, #128 ; 0x80 80a4: e3811040 orr r1, r1, #64 ; 0x40 80a8: e3811013 orr r1, r1, #19 ; 0x13 80ac: e129f001 msr CPSR_fc, r1 80b0: e240db01 sub sp, r0, #1024 ; 0x400 000080b4 <stack_base>: 80b4: 00080000 andeq r0, r8, r0