normally I dont post binaries, but perhaps due to the gpu firmware files and perhaps due to toolchain or build differences not everyone is able to use these examples directly. I have posted a few blinker binaries with the elf file and

disassembly (.list file in this case) so you can compare your build to my build to insure the start code is in the
right place, etc.
This commit is contained in:
David Welch
2012-06-28 15:15:17 -04:00
parent 42f79b8440
commit b690368e86
9 changed files with 280 additions and 0 deletions

BIN
blinker02/blinker02.bin Executable file

Binary file not shown.

BIN
blinker02/blinker02.elf Executable file

Binary file not shown.

84
blinker02/blinker02.list Normal file
View File

@@ -0,0 +1,84 @@
blinker02.elf: file format elf32-littlearm
Disassembly of section .text:
00008000 <_start>:
8000: e3a0d902 mov sp, #32768 ; 0x8000
8004: eb000005 bl 8020 <notmain>
00008008 <hang>:
8008: eafffffe b 8008 <hang>
0000800c <PUT32>:
800c: e5801000 str r1, [r0]
8010: e12fff1e bx lr
00008014 <GET32>:
8014: e5900000 ldr r0, [r0]
8018: e12fff1e bx lr
0000801c <dummy>:
801c: e12fff1e bx lr
00008020 <notmain>:
8020: e92d4008 push {r3, lr}
8024: e59f004c ldr r0, [pc, #76] ; 8078 <notmain+0x58>
8028: ebfffff9 bl 8014 <GET32>
802c: e3c01707 bic r1, r0, #1835008 ; 0x1c0000
8030: e3811701 orr r1, r1, #262144 ; 0x40000
8034: e59f003c ldr r0, [pc, #60] ; 8078 <notmain+0x58>
8038: ebfffff3 bl 800c <PUT32>
803c: e59f0038 ldr r0, [pc, #56] ; 807c <notmain+0x5c>
8040: e3a01801 mov r1, #65536 ; 0x10000
8044: ebfffff0 bl 800c <PUT32>
8048: e59f0030 ldr r0, [pc, #48] ; 8080 <notmain+0x60>
804c: ebfffff0 bl 8014 <GET32>
8050: e3100501 tst r0, #4194304 ; 0x400000
8054: 0afffffb beq 8048 <notmain+0x28>
8058: e59f0024 ldr r0, [pc, #36] ; 8084 <notmain+0x64>
805c: e3a01801 mov r1, #65536 ; 0x10000
8060: ebffffe9 bl 800c <PUT32>
8064: e59f0014 ldr r0, [pc, #20] ; 8080 <notmain+0x60>
8068: ebffffe9 bl 8014 <GET32>
806c: e3100501 tst r0, #4194304 ; 0x400000
8070: 1afffffb bne 8064 <notmain+0x44>
8074: eafffff0 b 803c <notmain+0x1c>
8078: 20200004 eorcs r0, r0, r4
807c: 2020001c eorcs r0, r0, ip, lsl r0
8080: 20003004 andcs r3, r0, r4
8084: 20200028 eorcs r0, r0, r8, lsr #32
Disassembly of section .ARM.attributes:
00000000 <.ARM.attributes>:
0: 00002c41 andeq r2, r0, r1, asr #24
4: 61656100 cmnvs r5, r0, lsl #2
8: 01006962 tsteq r0, r2, ror #18
c: 00000022 andeq r0, r0, r2, lsr #32
10: 4d524105 ldfmie f4, [r2, #-20] ; 0xffffffec
14: 54347620 ldrtpl r7, [r4], #-1568 ; 0xfffff9e0
18: 08020600 stmdaeq r2, {r9, sl}
1c: 12010901 andne r0, r1, #16384 ; 0x4000
20: 15011404 strne r1, [r1, #-1028] ; 0xfffffbfc
24: 18031701 stmdane r3, {r0, r8, r9, sl, ip}
28: 2c011a01 stccs 10, cr1, [r1], {1}
2c: Address 0x0000002c is out of bounds.
Disassembly of section .comment:
00000000 <.comment>:
0: 3a434347 bcc 10d0d24 <notmain+0x10c8d04>
4: 6f532820 svcvs 0x00532820
8: 65637275 strbvs r7, [r3, #-629]! ; 0xfffffd8b
c: 43207972 teqmi r0, #1867776 ; 0x1c8000
10: 4265646f rsbmi r6, r5, #1862270976 ; 0x6f000000
14: 68636e65 stmdavs r3!, {r0, r2, r5, r6, r9, sl, fp, sp, lr}^
18: 74694c20 strbtvc r4, [r9], #-3104 ; 0xfffff3e0
1c: 30322065 eorscc r2, r2, r5, rrx
20: 302e3131 eorcc r3, lr, r1, lsr r1
24: 39362d39 ldmdbcc r6!, {r0, r3, r4, r5, r8, sl, fp, sp}
28: 2e342029 cdpcs 0, 3, cr2, cr4, cr9, {1}
2c: 00312e36 eorseq r2, r1, r6, lsr lr