6410test

#$(shell echo $(HOSTOS) >>1.txt)
OBJTREE := $(CURDIR)
SRCTREE := $(CURDIR)
TOPDIR := $(SRCTREE)
LNDIR := $(OBJTREE)
obj :=
src :=
CROSS_COMPILE = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-
TEXT_BASE = 0xc0008000
CC = $(CROSS_COMPILE)gcc
AR = $(CROSS_COMPILE)ar
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
export CROSS_COMPILE CC
OBJS  = 
LIBS += s3c6410/libarch.a
LIBS += common/libcommon.a
LIBS += $(BOARDLIBS)
__OBJS := $(subst $(obj),,$(OBJS))
__LIBS := $(subst $(obj),,$(LIBS))
#########################################################################
#walt
%.o: %.S
arm-linux-gcc -c -o $@ $<
%.o: %.c
arm-linux-gcc -c -o $@ $<


6410_test.bin:6410_test
arm-linux-objcopy --gap-fill=0xff -O binary $< $@
arm-linux-objdump -D $< > $<.dis


6410_test:depend  $(SUBDIRS) $(OBJS) $(LIBS) 6410_test.lds
UNDEF_SYM=`arm-linux-objdump -x $(LIBS) |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
cd $(LNDIR) && arm-linux-ld -Bstatic -T 6410_test.lds -Ttext $(TEXT_BASE) $$UNDEF_SYM $(__OBJS) \
--start-group $(__LIBS) -Map 6410_test.map -o 6410_test


$(OBJS):
make -C cpu/$(s3c64xx)


$(LIBS):
make -C $(dir $(subst $(obj),,$@))


$(SUBDIRS):
make -C $@ all


depend dep:
for dir in $(SUBDIRS) ; do make -C; done
#########################################################################


clean:
find $(OBJTREE) -type f \( -name '*.o'  -o -name '*.a'  \) -print | xargs rm -f
rm -f 6410_test
rm -f 6410_test.bin
rm -f 6410_test.dis
rm -f 6410_test.map


#########################################################################


微笑6410_test.lds:

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")


OUTPUT_ARCH(arm)


ENTRY(__ENTRY)


SECTIONS
{
. = 0x00000000;


. = ALIGN(4);
.text      :
{
s3c6410/6410init.o (.text)
*(.text)
}


. = ALIGN(4);
.rodata : { *(.rodata) }


. = ALIGN(4);
.data : { *(.data) }


. = ALIGN(4);
.got : { *(.got) }


__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;


. = ALIGN(4);
.mmudata : { *(.mmudata) }


. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss) }
_end = .;
}


吐舌头6410_test.dis:



6410_test:     file format elf32-littlearm


Disassembly of section .text:


c0008000 <__ENTRY>:
c0008000: ea00003d b c00080fc <ResetHandler>
c0008004: ea00001b b c0008078 <HandlerUndef>
c0008008: ea000020 b c0008090 <HandlerSWI>
c000800c: ea00002b b c00080c0 <HandlerPabort>
c0008010: ea000024 b c00080a8 <HandlerDabort>
c0008014: eafffffe b c0008014 <__ENTRY+0x14>
c0008018: ea000010 b c0008060 <HandlerIRQ>
c000801c: ea000009 b c0008048 <HandlerFIQ>
c0008020: ea000014 b c0008078 <HandlerUndef>


c0008024 <ChangeBigEndian>:
c0008024: 0f10ee11 .word 0x0f10ee11
c0008028: 0080e380 .word 0x0080e380
c000802c: 0f10ee01 .word 0x0f10ee01
c0008030: ffffffff .word 0xffffffff
c0008034: ffffffff .word 0xffffffff
c0008038: ffffffff .word 0xffffffff
c000803c: ffffffff .word 0xffffffff
c0008040: ffffffff .word 0xffffffff
c0008044: ea00002c b c00080fc <ResetHandler>


c0008048 <HandlerFIQ>:
c0008048: e24dd004 sub sp, sp, #4 ; 0x4
c000804c: e92d0001 push {r0}
c0008050: e59f0100 ldr r0, [pc, #256] ; c0008158 <InitStacks+0x4c>
c0008054: e5900000 ldr r0, [r0]
c0008058: e58d0004 str r0, [sp, #4]
c000805c: e8bd8001 pop {r0, pc}


c0008060 <HandlerIRQ>:
c0008060: e24dd004 sub sp, sp, #4 ; 0x4
c0008064: e92d0001 push {r0}
c0008068: e59f00ec ldr r0, [pc, #236] ; c000815c <InitStacks+0x50>
c000806c: e5900000 ldr r0, [r0]
c0008070: e58d0004 str r0, [sp, #4]
c0008074: e8bd8001 pop {r0, pc}


c0008078 <HandlerUndef>:
c0008078: e24dd004 sub sp, sp, #4 ; 0x4
c000807c: e92d0001 push {r0}
c0008080: e59f00d8 ldr r0, [pc, #216] ; c0008160 <InitStacks+0x54>
c0008084: e5900000 ldr r0, [r0]
c0008088: e58d0004 str r0, [sp, #4]
c000808c: e8bd8001 pop {r0, pc}


c0008090 <HandlerSWI>:
c0008090: e24dd004 sub sp, sp, #4 ; 0x4
c0008094: e92d0001 push {r0}
c0008098: e59f00c4 ldr r0, [pc, #196] ; c0008164 <InitStacks+0x58>
c000809c: e5900000 ldr r0, [r0]
c00080a0: e58d0004 str r0, [sp, #4]
c00080a4: e8bd8001 pop {r0, pc}


c00080a8 <HandlerDabort>:
c00080a8: e24dd004 sub sp, sp, #4 ; 0x4
c00080ac: e92d0001 push {r0}
c00080b0: e59f00b0 ldr r0, [pc, #176] ; c0008168 <InitStacks+0x5c>
c00080b4: e5900000 ldr r0, [r0]
c00080b8: e58d0004 str r0, [sp, #4]
c00080bc: e8bd8001 pop {r0, pc}


c00080c0 <HandlerPabort>:
c00080c0: e24dd004 sub sp, sp, #4 ; 0x4
c00080c4: e92d0001 push {r0}
c00080c8: e59f009c ldr r0, [pc, #156] ; c000816c <InitStacks+0x60>
c00080cc: e5900000 ldr r0, [r0]
c00080d0: e58d0004 str r0, [sp, #4]
c00080d4: e8bd8001 pop {r0, pc}


c00080d8 <IsrIRQ>:
c00080d8: e24dd004 sub sp, sp, #4 ; 0x4
c00080dc: e92d0300 push {r8, r9}
c00080e0: e59f9088 ldr r9, [pc, #136] ; c0008170 <InitStacks+0x64>
c00080e4: e5999000 ldr r9, [r9]
c00080e8: e59f8084 ldr r8, [pc, #132] ; c0008174 <InitStacks+0x68>
c00080ec: e0888109 add r8, r8, r9, lsl #2
c00080f0: e5988000 ldr r8, [r8]
c00080f4: e58d8008 str r8, [sp, #8]
c00080f8: e8bd8300 pop {r8, r9, pc}


c00080fc <ResetHandler>:
c00080fc: eb000002 bl c000810c <InitStacks>
c0008100: e59f0054 ldr r0, [pc, #84] ; c000815c <InitStacks+0x50>
c0008104: eb000034 bl c00081dc <Main>
c0008108: eafffffe b c0008108 <ResetHandler+0xc>


c000810c <InitStacks>:
c000810c: e10f0000 mrs r0, CPSR
c0008110: e3c0001f bic r0, r0, #31 ; 0x1f
c0008114: e38010db orr r1, r0, #219 ; 0xdb
c0008118: e12ff001 msr CPSR_fsxc, r1
c000811c: e59fd054 ldr sp, [pc, #84] ; c0008178 <InitStacks+0x6c>
c0008120: e38010d7 orr r1, r0, #215 ; 0xd7
c0008124: e12ff001 msr CPSR_fsxc, r1
c0008128: e59fd04c ldr sp, [pc, #76] ; c000817c <InitStacks+0x70>
c000812c: e38010d2 orr r1, r0, #210 ; 0xd2
c0008130: e12ff001 msr CPSR_fsxc, r1
c0008134: e59fd044 ldr sp, [pc, #68] ; c0008180 <InitStacks+0x74>
c0008138: e38010d1 orr r1, r0, #209 ; 0xd1
c000813c: e12ff001 msr CPSR_fsxc, r1
c0008140: e59fd03c ldr sp, [pc, #60] ; c0008184 <InitStacks+0x78>
c0008144: e3c000df bic r0, r0, #223 ; 0xdf
c0008148: e3801013 orr r1, r0, #19 ; 0x13
c000814c: e12ff001 msr CPSR_fsxc, r1
c0008150: e59fd030 ldr sp, [pc, #48] ; c0008188 <InitStacks+0x7c>
c0008154: e1a0f00e mov pc, lr
c0008158: c7ff7e1c .word 0xc7ff7e1c
c000815c: c7ff7e18 .word 0xc7ff7e18
c0008160: c7ff7e04 .word 0xc7ff7e04
c0008164: c7ff7e08 .word 0xc7ff7e08
c0008168: c7ff7e10 .word 0xc7ff7e10
c000816c: c7ff7e0c .word 0xc7ff7e0c
c0008170: 4a000014 .word 0x4a000014
c0008174: c7ff7e20 .word 0xc7ff7e20
c0008178: c7ff5a00 .word 0xc7ff5a00
c000817c: c7ff5e00 .word 0xc7ff5e00
c0008180: c7ff6e00 .word 0xc7ff6e00
c0008184: c7ff7e00 .word 0xc7ff7e00
c0008188: c7ff5600 .word 0xc7ff5600


c000818c <delay_about_1s>:
c000818c: e1a0c00d mov ip, sp
c0008190: e92dd800 push {fp, ip, lr, pc}
c0008194: e24cb004 sub fp, ip, #4 ; 0x4
c0008198: e24dd008 sub sp, sp, #8 ; 0x8
c000819c: e3a03000 mov r3, #0 ; 0x0
c00081a0: e50b3010 str r3, [fp, #-16]
c00081a4: ea000002 b c00081b4 <delay_about_1s+0x28>
c00081a8: e51b3010 ldr r3, [fp, #-16]
c00081ac: e2833001 add r3, r3, #1 ; 0x1
c00081b0: e50b3010 str r3, [fp, #-16]
c00081b4: e51b2010 ldr r2, [fp, #-16]
c00081b8: e3a03605 mov r3, #5242880 ; 0x500000
c00081bc: e2433001 sub r3, r3, #1 ; 0x1
c00081c0: e1520003 cmp r2, r3
c00081c4: dafffff7 ble c00081a8 <delay_about_1s+0x1c>
c00081c8: e3a03000 mov r3, #0 ; 0x0
c00081cc: e1a00003 mov r0, r3
c00081d0: e24bd00c sub sp, fp, #12 ; 0xc
c00081d4: e89d6800 ldm sp, {fp, sp, lr}
c00081d8: e12fff1e bx lr


c00081dc <Main>:
c00081dc: e1a0c00d mov ip, sp
c00081e0: e92dd800 push {fp, ip, lr, pc}
c00081e4: e24cb004 sub fp, ip, #4 ; 0x4
c00081e8: e24dd018 sub sp, sp, #24 ; 0x18
c00081ec: e50b0018 str r0, [fp, #-24]
c00081f0: e50b101c str r1, [fp, #-28]
c00081f4: eb00016a bl c00087a4 <uart0_init>
c00081f8: eb000038 bl c00082e0 <gpio_led_init>
c00081fc: e3a00003 mov r0, #3 ; 0x3
c0008200: eb0000a0 bl c0008488 <led_off>
c0008204: e59f00cc ldr r0, [pc, #204] ; c00082d8 <Main+0xfc>
c0008208: eb000102 bl c0008618 <uart_printf>
c000820c: e51b3010 ldr r3, [fp, #-16]
c0008210: e3530000 cmp r3, #0 ; 0x0
c0008214: da000024 ble c00082ac <Main+0xd0>
c0008218: e51b2010 ldr r2, [fp, #-16]
c000821c: e3a03801 mov r3, #65536 ; 0x10000
c0008220: e2433003 sub r3, r3, #3 ; 0x3
c0008224: e1520003 cmp r2, r3
c0008228: ca00001f bgt c00082ac <Main+0xd0>
c000822c: ebffffd6 bl c000818c <delay_about_1s>
c0008230: e51b1010 ldr r1, [fp, #-16]
c0008234: e59f30a0 ldr r3, [pc, #160] ; c00082dc <Main+0x100>
c0008238: e0c32391 smull r2, r3, r1, r3
c000823c: e1a020c3 asr r2, r3, #1
c0008240: e1a03fc1 asr r3, r1, #31
c0008244: e0632002 rsb r2, r3, r2
c0008248: e50b2024 str r2, [fp, #-36]
c000824c: e51b3024 ldr r3, [fp, #-36]
c0008250: e1a03103 lsl r3, r3, #2
c0008254: e51b2024 ldr r2, [fp, #-36]
c0008258: e0833002 add r3, r3, r2
c000825c: e0631001 rsb r1, r3, r1
c0008260: e50b1024 str r1, [fp, #-36]
c0008264: e51b0024 ldr r0, [fp, #-36]
c0008268: eb000086 bl c0008488 <led_off>
c000826c: ebffffc6 bl c000818c <delay_about_1s>
c0008270: e51b1010 ldr r1, [fp, #-16]
c0008274: e59f3060 ldr r3, [pc, #96] ; c00082dc <Main+0x100>
c0008278: e0c32391 smull r2, r3, r1, r3
c000827c: e1a020c3 asr r2, r3, #1
c0008280: e1a03fc1 asr r3, r1, #31
c0008284: e0632002 rsb r2, r3, r2
c0008288: e50b2020 str r2, [fp, #-32]
c000828c: e51b3020 ldr r3, [fp, #-32]
c0008290: e1a03103 lsl r3, r3, #2
c0008294: e51b2020 ldr r2, [fp, #-32]
c0008298: e0833002 add r3, r3, r2
c000829c: e0631001 rsb r1, r3, r1
c00082a0: e50b1020 str r1, [fp, #-32]
c00082a4: e51b0020 ldr r0, [fp, #-32]
c00082a8: eb00006b bl c000845c <led_on>
c00082ac: e51b3010 ldr r3, [fp, #-16]
c00082b0: e2833001 add r3, r3, #1 ; 0x1
c00082b4: e50b3010 str r3, [fp, #-16]
c00082b8: e51b2010 ldr r2, [fp, #-16]
c00082bc: e3a03801 mov r3, #65536 ; 0x10000
c00082c0: e2433001 sub r3, r3, #1 ; 0x1
c00082c4: e1520003 cmp r2, r3
c00082c8: 1affffcf bne c000820c <Main+0x30>
c00082cc: e3a03001 mov r3, #1 ; 0x1
c00082d0: e50b3010 str r3, [fp, #-16]
c00082d4: eaffffcc b c000820c <Main+0x30>
c00082d8: c00088b4 .word 0xc00088b4
c00082dc: 66666667 .word 0x66666667


c00082e0 <gpio_led_init>:
c00082e0: e1a0c00d mov ip, sp
c00082e4: e92dd800 push {fp, ip, lr, pc}
c00082e8: e24cb004 sub fp, ip, #4 ; 0x4
c00082ec: e24dd008 sub sp, sp, #8 ; 0x8
c00082f0: eb000021 bl c000837c <S3C64XX_GetBase_GPM>
c00082f4: e1a03000 mov r3, r0
c00082f8: e50b3010 str r3, [fp, #-16]
c00082fc: e51b3010 ldr r3, [fp, #-16]
c0008300: e5933000 ldr r3, [r3]
c0008304: e1a03823 lsr r3, r3, #16
c0008308: e1a03803 lsl r3, r3, #16
c000830c: e51b2010 ldr r2, [fp, #-16]
c0008310: e5823000 str r3, [r2]
c0008314: e51b3010 ldr r3, [fp, #-16]
c0008318: e5933000 ldr r3, [r3]
c000831c: e3833c11 orr r3, r3, #4352 ; 0x1100
c0008320: e3833011 orr r3, r3, #17 ; 0x11
c0008324: e51b2010 ldr r2, [fp, #-16]
c0008328: e5823000 str r3, [r2]
c000832c: e51b3010 ldr r3, [fp, #-16]
c0008330: e5933008 ldr r3, [r3, #8]
c0008334: e3c320ff bic r2, r3, #255 ; 0xff
c0008338: e51b3010 ldr r3, [fp, #-16]
c000833c: e5832008 str r2, [r3, #8]
c0008340: e51b3010 ldr r3, [fp, #-16]
c0008344: e5933008 ldr r3, [r3, #8]
c0008348: e38320aa orr r2, r3, #170 ; 0xaa
c000834c: e51b3010 ldr r3, [fp, #-16]
c0008350: e5832008 str r2, [r3, #8]
c0008354: e51b3010 ldr r3, [fp, #-16]
c0008358: e5933004 ldr r3, [r3, #4]
c000835c: e383200f orr r2, r3, #15 ; 0xf
c0008360: e51b3010 ldr r3, [fp, #-16]
c0008364: e5832004 str r2, [r3, #4]
c0008368: e3a03000 mov r3, #0 ; 0x0
c000836c: e1a00003 mov r0, r3
c0008370: e24bd00c sub sp, fp, #12 ; 0xc
c0008374: e89d6800 ldm sp, {fp, sp, lr}
c0008378: e12fff1e bx lr


c000837c <S3C64XX_GetBase_GPM>:
c000837c: e1a0c00d mov ip, sp
c0008380: e92dd800 push {fp, ip, lr, pc}
c0008384: e24cb004 sub fp, ip, #4 ; 0x4
c0008388: e3a0347f mov r3, #2130706432 ; 0x7f000000
c000838c: e2833b22 add r3, r3, #34816 ; 0x8800
c0008390: e2833020 add r3, r3, #32 ; 0x20
c0008394: e1a00003 mov r0, r3
c0008398: e24bd00c sub sp, fp, #12 ; 0xc
c000839c: e89d6800 ldm sp, {fp, sp, lr}
c00083a0: e12fff1e bx lr


c00083a4 <led_onff>:
c00083a4: e1a0c00d mov ip, sp
c00083a8: e92dd800 push {fp, ip, lr, pc}
c00083ac: e24cb004 sub fp, ip, #4 ; 0x4
c00083b0: e24dd010 sub sp, sp, #16 ; 0x10
c00083b4: e50b0018 str r0, [fp, #-24]
c00083b8: e50b101c str r1, [fp, #-28]
c00083bc: ebffffee bl c000837c <S3C64XX_GetBase_GPM>
c00083c0: e1a03000 mov r3, r0
c00083c4: e50b3010 str r3, [fp, #-16]
c00083c8: e51b3018 ldr r3, [fp, #-24]
c00083cc: e3530000 cmp r3, #0 ; 0x0
c00083d0: da00001e ble c0008450 <led_onff+0xac>
c00083d4: e51b3018 ldr r3, [fp, #-24]
c00083d8: e3530004 cmp r3, #4 ; 0x4
c00083dc: da000000 ble c00083e4 <led_onff+0x40>
c00083e0: ea00001a b c0008450 <led_onff+0xac>
c00083e4: e51b3018 ldr r3, [fp, #-24]
c00083e8: e2433001 sub r3, r3, #1 ; 0x1
c00083ec: e50b3018 str r3, [fp, #-24]
c00083f0: e3a02001 mov r2, #1 ; 0x1
c00083f4: e51b3018 ldr r3, [fp, #-24]
c00083f8: e1a03312 lsl r3, r2, r3
c00083fc: e50b3014 str r3, [fp, #-20]
c0008400: e51b301c ldr r3, [fp, #-28]
c0008404: e2033001 and r3, r3, #1 ; 0x1
c0008408: e50b301c str r3, [fp, #-28]
c000840c: e51b301c ldr r3, [fp, #-28]
c0008410: e3530000 cmp r3, #0 ; 0x0
c0008414: 0a000007 beq c0008438 <led_onff+0x94>
c0008418: e51b3010 ldr r3, [fp, #-16]
c000841c: e5932004 ldr r2, [r3, #4]
c0008420: e51b3014 ldr r3, [fp, #-20]
c0008424: e1e03003 mvn r3, r3
c0008428: e0022003 and r2, r2, r3
c000842c: e51b3010 ldr r3, [fp, #-16]
c0008430: e5832004 str r2, [r3, #4]
c0008434: ea000005 b c0008450 <led_onff+0xac>
c0008438: e51b3010 ldr r3, [fp, #-16]
c000843c: e5932004 ldr r2, [r3, #4]
c0008440: e51b3014 ldr r3, [fp, #-20]
c0008444: e1822003 orr r2, r2, r3
c0008448: e51b3010 ldr r3, [fp, #-16]
c000844c: e5832004 str r2, [r3, #4]
c0008450: e24bd00c sub sp, fp, #12 ; 0xc
c0008454: e89d6800 ldm sp, {fp, sp, lr}
c0008458: e12fff1e bx lr


c000845c <led_on>:
c000845c: e1a0c00d mov ip, sp
c0008460: e92dd800 push {fp, ip, lr, pc}
c0008464: e24cb004 sub fp, ip, #4 ; 0x4
c0008468: e24dd008 sub sp, sp, #8 ; 0x8
c000846c: e50b0010 str r0, [fp, #-16]
c0008470: e51b0010 ldr r0, [fp, #-16]
c0008474: e3a01001 mov r1, #1 ; 0x1
c0008478: ebffffc9 bl c00083a4 <led_onff>
c000847c: e24bd00c sub sp, fp, #12 ; 0xc
c0008480: e89d6800 ldm sp, {fp, sp, lr}
c0008484: e12fff1e bx lr


c0008488 <led_off>:
c0008488: e1a0c00d mov ip, sp
c000848c: e92dd800 push {fp, ip, lr, pc}
c0008490: e24cb004 sub fp, ip, #4 ; 0x4
c0008494: e24dd008 sub sp, sp, #8 ; 0x8
c0008498: e50b0010 str r0, [fp, #-16]
c000849c: e51b0010 ldr r0, [fp, #-16]
c00084a0: e3a01000 mov r1, #0 ; 0x0
c00084a4: ebffffbe bl c00083a4 <led_onff>
c00084a8: e24bd00c sub sp, fp, #12 ; 0xc
c00084ac: e89d6800 ldm sp, {fp, sp, lr}
c00084b0: e12fff1e bx lr


c00084b4 <uart_putc>:
c00084b4: e1a0c00d mov ip, sp
c00084b8: e92dd800 push {fp, ip, lr, pc}
c00084bc: e24cb004 sub fp, ip, #4 ; 0x4
c00084c0: e24dd010 sub sp, sp, #16 ; 0x10
c00084c4: e50b0018 str r0, [fp, #-24]
c00084c8: e3a0347f mov r3, #2130706432 ; 0x7f000000
c00084cc: e2833a05 add r3, r3, #20480 ; 0x5000
c00084d0: e2833020 add r3, r3, #32 ; 0x20
c00084d4: e50b3010 str r3, [fp, #-16]
c00084d8: e51b2010 ldr r2, [fp, #-16]
c00084dc: e51b3018 ldr r3, [fp, #-24]
c00084e0: e5823000 str r3, [r2]
c00084e4: e24bd00c sub sp, fp, #12 ; 0xc
c00084e8: e89d6800 ldm sp, {fp, sp, lr}
c00084ec: e12fff1e bx lr


c00084f0 <serial_tstc>:
c00084f0: e1a0c00d mov ip, sp
c00084f4: e92dd800 push {fp, ip, lr, pc}
c00084f8: e24cb004 sub fp, ip, #4 ; 0x4
c00084fc: e24dd008 sub sp, sp, #8 ; 0x8
c0008500: e3a00000 mov r0, #0 ; 0x0
c0008504: eb000008 bl c000852c <S3C64XX_GetBase_UART>
c0008508: e1a03000 mov r3, r0
c000850c: e50b3010 str r3, [fp, #-16]
c0008510: e51b3010 ldr r3, [fp, #-16]
c0008514: e5933010 ldr r3, [r3, #16]
c0008518: e2033001 and r3, r3, #1 ; 0x1
c000851c: e1a00003 mov r0, r3
c0008520: e24bd00c sub sp, fp, #12 ; 0xc
c0008524: e89d6800 ldm sp, {fp, sp, lr}
c0008528: e12fff1e bx lr


c000852c <S3C64XX_GetBase_UART>:
c000852c: e1a0c00d mov ip, sp
c0008530: e92dd800 push {fp, ip, lr, pc}
c0008534: e24cb004 sub fp, ip, #4 ; 0x4
c0008538: e24dd008 sub sp, sp, #8 ; 0x8
c000853c: e50b0010 str r0, [fp, #-16]
c0008540: e51b3010 ldr r3, [fp, #-16]
c0008544: e1a03703 lsl r3, r3, #14
c0008548: e283347f add r3, r3, #2130706432 ; 0x7f000000
c000854c: e2833a05 add r3, r3, #20480 ; 0x5000
c0008550: e1a00003 mov r0, r3
c0008554: e24bd00c sub sp, fp, #12 ; 0xc
c0008558: e89d6800 ldm sp, {fp, sp, lr}
c000855c: e12fff1e bx lr


c0008560 <serial_getc>:
c0008560: e1a0c00d mov ip, sp
c0008564: e92dd800 push {fp, ip, lr, pc}
c0008568: e24cb004 sub fp, ip, #4 ; 0x4
c000856c: e24dd008 sub sp, sp, #8 ; 0x8
c0008570: e3a00000 mov r0, #0 ; 0x0
c0008574: ebffffec bl c000852c <S3C64XX_GetBase_UART>
c0008578: e1a03000 mov r3, r0
c000857c: e50b3010 str r3, [fp, #-16]
c0008580: e51b3010 ldr r3, [fp, #-16]
c0008584: e5933010 ldr r3, [r3, #16]
c0008588: e2033001 and r3, r3, #1 ; 0x1
c000858c: e3530000 cmp r3, #0 ; 0x0
c0008590: 0afffffa beq c0008580 <serial_getc+0x20>
c0008594: e51b3010 ldr r3, [fp, #-16]
c0008598: e5933024 ldr r3, [r3, #36]
c000859c: e20330ff and r3, r3, #255 ; 0xff
c00085a0: e1a00003 mov r0, r3
c00085a4: e24bd00c sub sp, fp, #12 ; 0xc
c00085a8: e89d6800 ldm sp, {fp, sp, lr}
c00085ac: e12fff1e bx lr


c00085b0 <serial_putc>:
c00085b0: e1a0c00d mov ip, sp
c00085b4: e92dd800 push {fp, ip, lr, pc}
c00085b8: e24cb004 sub fp, ip, #4 ; 0x4
c00085bc: e24dd010 sub sp, sp, #16 ; 0x10
c00085c0: e1a03000 mov r3, r0
c00085c4: e54b3015 strb r3, [fp, #-21]
c00085c8: e3a00000 mov r0, #0 ; 0x0
c00085cc: ebffffd6 bl c000852c <S3C64XX_GetBase_UART>
c00085d0: e1a03000 mov r3, r0
c00085d4: e50b3010 str r3, [fp, #-16]
c00085d8: e51b3010 ldr r3, [fp, #-16]
c00085dc: e5933010 ldr r3, [r3, #16]
c00085e0: e2033002 and r3, r3, #2 ; 0x2
c00085e4: e3530000 cmp r3, #0 ; 0x0
c00085e8: 0afffffa beq c00085d8 <serial_putc+0x28>
c00085ec: e55b3015 ldrb r3, [fp, #-21]
c00085f0: e51b2010 ldr r2, [fp, #-16]
c00085f4: e5823020 str r3, [r2, #32]
c00085f8: e55b3015 ldrb r3, [fp, #-21]
c00085fc: e353000a cmp r3, #10 ; 0xa
c0008600: 1a000001 bne c000860c <serial_putc+0x5c>
c0008604: e3a0000d mov r0, #13 ; 0xd
c0008608: ebffffe8 bl c00085b0 <serial_putc>
c000860c: e24bd00c sub sp, fp, #12 ; 0xc
c0008610: e89d6800 ldm sp, {fp, sp, lr}
c0008614: e12fff1e bx lr


c0008618 <uart_printf>:
c0008618: e1a0c00d mov ip, sp
c000861c: e92dd800 push {fp, ip, lr, pc}
c0008620: e24cb004 sub fp, ip, #4 ; 0x4
c0008624: e24dd008 sub sp, sp, #8 ; 0x8
c0008628: e50b0010 str r0, [fp, #-16]
c000862c: ea000006 b c000864c <uart_printf+0x34>
c0008630: e51b3010 ldr r3, [fp, #-16]
c0008634: e5d32000 ldrb r2, [r3]
c0008638: e51b3010 ldr r3, [fp, #-16]
c000863c: e2833001 add r3, r3, #1 ; 0x1
c0008640: e50b3010 str r3, [fp, #-16]
c0008644: e1a00002 mov r0, r2
c0008648: ebffffd8 bl c00085b0 <serial_putc>
c000864c: e51b3010 ldr r3, [fp, #-16]
c0008650: e5d33000 ldrb r3, [r3]
c0008654: e3530000 cmp r3, #0 ; 0x0
c0008658: 1afffff4 bne c0008630 <uart_printf+0x18>
c000865c: e24bd00c sub sp, fp, #12 ; 0xc
c0008660: e89d6800 ldm sp, {fp, sp, lr}
c0008664: e12fff1e bx lr


c0008668 <uart_rx>:
c0008668: e1a0c00d mov ip, sp
c000866c: e92dd800 push {fp, ip, lr, pc}
c0008670: e24cb004 sub fp, ip, #4 ; 0x4
c0008674: e24dd008 sub sp, sp, #8 ; 0x8
c0008678: e1a03000 mov r3, r0
c000867c: e54b300d strb r3, [fp, #-13]
c0008680: e55b300d ldrb r3, [fp, #-13]
c0008684: e353000d cmp r3, #13 ; 0xd
c0008688: 1a000001 bne c0008694 <uart_rx+0x2c>
c000868c: e3a0300a mov r3, #10 ; 0xa
c0008690: e54b300d strb r3, [fp, #-13]
c0008694: e55b300d ldrb r3, [fp, #-13]
c0008698: e1a00003 mov r0, r3
c000869c: ebffffc3 bl c00085b0 <serial_putc>
c00086a0: e24bd00c sub sp, fp, #12 ; 0xc
c00086a4: e89d6800 ldm sp, {fp, sp, lr}
c00086a8: e12fff1e bx lr


c00086ac <uart_err>:
c00086ac: e1a0c00d mov ip, sp
c00086b0: e92dd800 push {fp, ip, lr, pc}
c00086b4: e24cb004 sub fp, ip, #4 ; 0x4
c00086b8: e59f000c ldr r0, [pc, #12] ; c00086cc <uart_err+0x20>
c00086bc: ebffffd5 bl c0008618 <uart_printf>
c00086c0: e24bd00c sub sp, fp, #12 ; 0xc
c00086c4: e89d6800 ldm sp, {fp, sp, lr}
c00086c8: e12fff1e bx lr
c00086cc: c00088c4 .word 0xc00088c4


c00086d0 <uart0_isr>:
c00086d0: e1a0c00d mov ip, sp
c00086d4: e92dd800 push {fp, ip, lr, pc}
c00086d8: e24cb004 sub fp, ip, #4 ; 0x4
c00086dc: e24dd018 sub sp, sp, #24 ; 0x18
c00086e0: e50b0020 str r0, [fp, #-32]
c00086e4: e3a00000 mov r0, #0 ; 0x0
c00086e8: ebffff8f bl c000852c <S3C64XX_GetBase_UART>
c00086ec: e1a03000 mov r3, r0
c00086f0: e50b3010 str r3, [fp, #-16]
c00086f4: e3a03471 mov r3, #1895825408 ; 0x71000000
c00086f8: e2833602 add r3, r3, #2097152 ; 0x200000
c00086fc: e2833c0f add r3, r3, #3840 ; 0xf00
c0008700: e50b3018 str r3, [fp, #-24]
c0008704: e51b3018 ldr r3, [fp, #-24]
c0008708: e5933000 ldr r3, [r3]
c000870c: e50b3014 str r3, [fp, #-20]
c0008710: e51b3010 ldr r3, [fp, #-16]
c0008714: e5933030 ldr r3, [r3, #48]
c0008718: e50b3014 str r3, [fp, #-20]
c000871c: e59f307c ldr r3, [pc, #124] ; c00087a0 <uart0_isr+0xd0>
c0008720: e5933000 ldr r3, [r3]
c0008724: e1a01003 mov r1, r3
c0008728: e2832001 add r2, r3, #1 ; 0x1
c000872c: e59f306c ldr r3, [pc, #108] ; c00087a0 <uart0_isr+0xd0>
c0008730: e5832000 str r2, [r3]
c0008734: e3a00001 mov r0, #1 ; 0x1
c0008738: ebffff19 bl c00083a4 <led_onff>
c000873c: e51b3014 ldr r3, [fp, #-20]
c0008740: e2033001 and r3, r3, #1 ; 0x1
c0008744: e20330ff and r3, r3, #255 ; 0xff
c0008748: e3530000 cmp r3, #0 ; 0x0
c000874c: 0a000005 beq c0008768 <uart0_isr+0x98>
c0008750: e51b3010 ldr r3, [fp, #-16]
c0008754: e5933024 ldr r3, [r3, #36]
c0008758: e20330ff and r3, r3, #255 ; 0xff
c000875c: e1a00003 mov r0, r3
c0008760: ebffffc0 bl c0008668 <uart_rx>
c0008764: ea000004 b c000877c <uart0_isr+0xac>
c0008768: e51b3014 ldr r3, [fp, #-20]
c000876c: e2033002 and r3, r3, #2 ; 0x2
c0008770: e3530000 cmp r3, #0 ; 0x0
c0008774: 0a000000 beq c000877c <uart0_isr+0xac>
c0008778: ebffffcb bl c00086ac <uart_err>
c000877c: e51b2010 ldr r2, [fp, #-16]
c0008780: e51b3014 ldr r3, [fp, #-20]
c0008784: e5823030 str r3, [r2, #48]
c0008788: e51b2018 ldr r2, [fp, #-24]
c000878c: e3a03000 mov r3, #0 ; 0x0
c0008790: e5823000 str r3, [r2]
c0008794: e24bd00c sub sp, fp, #12 ; 0xc
c0008798: e89d6800 ldm sp, {fp, sp, lr}
c000879c: e12fff1e bx lr
c00087a0: c00088dc .word 0xc00088dc


c00087a4 <uart0_init>:
c00087a4: e1a0c00d mov ip, sp
c00087a8: e92dd800 push {fp, ip, lr, pc}
c00087ac: e24cb004 sub fp, ip, #4 ; 0x4
c00087b0: e24dd008 sub sp, sp, #8 ; 0x8
c00087b4: e3a00000 mov r0, #0 ; 0x0
c00087b8: ebffff5b bl c000852c <S3C64XX_GetBase_UART>
c00087bc: e1a03000 mov r3, r0
c00087c0: e50b3014 str r3, [fp, #-20]
c00087c4: eb000031 bl c0008890 <S3C64XX_GetBase_GPA>
c00087c8: e1a03000 mov r3, r0
c00087cc: e50b3010 str r3, [fp, #-16]
c00087d0: e51b3010 ldr r3, [fp, #-16]
c00087d4: e5933000 ldr r3, [r3]
c00087d8: e3c320ff bic r2, r3, #255 ; 0xff
c00087dc: e51b3010 ldr r3, [fp, #-16]
c00087e0: e5832000 str r2, [r3]
c00087e4: e51b3010 ldr r3, [fp, #-16]
c00087e8: e5933000 ldr r3, [r3]
c00087ec: e3832022 orr r2, r3, #34 ; 0x22
c00087f0: e51b3010 ldr r3, [fp, #-16]
c00087f4: e5832000 str r2, [r3]
c00087f8: e51b2014 ldr r2, [fp, #-20]
c00087fc: e3a03003 mov r3, #3 ; 0x3
c0008800: e5823000 str r3, [r2]
c0008804: e51b2014 ldr r2, [fp, #-20]
c0008808: e3a03d39 mov r3, #3648 ; 0xe40
c000880c: e2833005 add r3, r3, #5 ; 0x5
c0008810: e5823004 str r3, [r2, #4]
c0008814: e51b2014 ldr r2, [fp, #-20]
c0008818: e3a03000 mov r3, #0 ; 0x0
c000881c: e5823008 str r3, [r2, #8]
c0008820: e51b2014 ldr r2, [fp, #-20]
c0008824: e3a03000 mov r3, #0 ; 0x0
c0008828: e582300c str r3, [r2, #12]
c000882c: e51b2014 ldr r2, [fp, #-20]
c0008830: e3a03022 mov r3, #34 ; 0x22
c0008834: e5823028 str r3, [r2, #40]
c0008838: e51b2014 ldr r2, [fp, #-20]
c000883c: e3a03d7f mov r3, #8128 ; 0x1fc0
c0008840: e283303f add r3, r3, #63 ; 0x3f
c0008844: e582302c str r3, [r2, #44]
c0008848: e51b2014 ldr r2, [fp, #-20]
c000884c: e3a0300c mov r3, #12 ; 0xc
c0008850: e5823038 str r3, [r2, #56]
c0008854: e51b2014 ldr r2, [fp, #-20]
c0008858: e3a0300f mov r3, #15 ; 0xf
c000885c: e5823034 str r3, [r2, #52]
c0008860: e51b2014 ldr r2, [fp, #-20]
c0008864: e3a0300f mov r3, #15 ; 0xf
c0008868: e5823030 str r3, [r2, #48]
c000886c: e3e0330e mvn r3, #939524096 ; 0x38000000
c0008870: e2433c81 sub r3, r3, #33024 ; 0x8100
c0008874: e243304b sub r3, r3, #75 ; 0x4b
c0008878: e59f200c ldr r2, [pc, #12] ; c000888c <uart0_init+0xe8>
c000887c: e5832000 str r2, [r3]
c0008880: e24bd00c sub sp, fp, #12 ; 0xc
c0008884: e89d6800 ldm sp, {fp, sp, lr}
c0008888: e12fff1e bx lr
c000888c: c00086d0 .word 0xc00086d0


c0008890 <S3C64XX_GetBase_GPA>:
c0008890: e1a0c00d mov ip, sp
c0008894: e92dd800 push {fp, ip, lr, pc}
c0008898: e24cb004 sub fp, ip, #4 ; 0x4
c000889c: e3a0347f mov r3, #2130706432 ; 0x7f000000
c00088a0: e2833902 add r3, r3, #32768 ; 0x8000
c00088a4: e1a00003 mov r0, r3
c00088a8: e24bd00c sub sp, fp, #12 ; 0xc
c00088ac: e89d6800 ldm sp, {fp, sp, lr}
c00088b0: e12fff1e bx lr
Disassembly of section .rodata:


c00088b4 <.rodata>:
c00088b4: 6c65480a stclvs 8, cr4, [r5], #-40
c00088b8: 57206f6c .word 0x57206f6c
c00088bc: 646c726f strbtvs r7, [ip], #-623
c00088c0: 00000a21 andeq r0, r0, r1, lsr #20
c00088c4: 74726175 .word 0x74726175
c00088c8: 20787220 rsbscs r7, r8, r0, lsr #4
c00088cc: 20727265 rsbscs r7, r2, r5, ror #4
c00088d0: 72746e69 .word 0x72746e69
c00088d4: 74707572 ldrbtvc r7, [r0], #-1394
c00088d8: 00000a21 andeq r0, r0, r1, lsr #20
Disassembly of section .bss:


c00088dc <uart_rx_cnt>:
c00088dc: 00000000 andeq r0, r0, r0
Disassembly of section .ARM.attributes:


00000000 <.ARM.attributes>:
   0: 00001741 andeq r1, r0, r1, asr #14
   4: 61656100 cmnvs r5, r0, lsl #2
   8: 01006962 tsteq r0, r2, ror #18
   c: 0000000d andeq r0, r0, sp
  10: 00543405 subseq r3, r4, r5, lsl #8
  14: 01080206 tsteq r8, r6, lsl #4
Disassembly of section .comment:


00000000 <.comment>:
   0: 43434700 movtmi r4, #14080 ; 0x3700
   4: 4728203a undefined
   8: 2029554e eorcs r5, r9, lr, asr #10
   c: 2e322e34 mrccs 14, 1, r2, cr2, cr4, {1}
  10: 47000032 smladxmi r0, r2, r0, r0
  14: 203a4343 eorscs r4, sl, r3, asr #6
  18: 554e4728 strbpl r4, [lr, #-1832]
  1c: 2e342029 cdpcs 0, 3, cr2, cr4, cr9, {1}
  20: 00322e32 eorseq r2, r2, r2, lsr lr
  24: 43434700 movtmi r4, #14080 ; 0x3700
  28: 4728203a undefined
  2c: 2029554e eorcs r5, r9, lr, asr #10
  30: 2e322e34 mrccs 14, 1, r2, cr2, cr4, {1}
  34: Address 0x00000034 is out of bounds.


剩下兩個資料夾:common和s3c6410資料夾,裏面簡化得就剩makefile和源文件,

libcommon.a:main.o led.o  uart.o
arm-linux-ar rv $@ main.o led.o  uart.



libarch.a:6410init.o 
arm-linux-ar crv $@ 6410init.o








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值