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
blinker01/blinker01.bin Executable file

Binary file not shown.

BIN
blinker01/blinker01.elf Executable file

Binary file not shown.

93
blinker01/blinker01.list Normal file
View File

@@ -0,0 +1,93 @@
blinker01.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: e92d4038 push {r3, r4, r5, lr}
8024: e59f0074 ldr r0, [pc, #116] ; 80a0 <notmain+0x80>
8028: ebfffff9 bl 8014 <GET32>
802c: e3c01707 bic r1, r0, #1835008 ; 0x1c0000
8030: e3811701 orr r1, r1, #262144 ; 0x40000
8034: e59f0064 ldr r0, [pc, #100] ; 80a0 <notmain+0x80>
8038: ebfffff3 bl 800c <PUT32>
803c: e59f0060 ldr r0, [pc, #96] ; 80a4 <notmain+0x84>
8040: e3a01801 mov r1, #65536 ; 0x10000
8044: ebfffff0 bl 800c <PUT32>
8048: e3a04000 mov r4, #0
804c: e1a00004 mov r0, r4
8050: e2845001 add r5, r4, #1
8054: ebfffff0 bl 801c <dummy>
8058: e2844002 add r4, r4, #2
805c: e1a00005 mov r0, r5
8060: ebffffed bl 801c <dummy>
8064: e3540601 cmp r4, #1048576 ; 0x100000
8068: 1afffff7 bne 804c <notmain+0x2c>
806c: e59f0034 ldr r0, [pc, #52] ; 80a8 <notmain+0x88>
8070: e3a01801 mov r1, #65536 ; 0x10000
8074: ebffffe4 bl 800c <PUT32>
8078: e3a04000 mov r4, #0
807c: e1a00004 mov r0, r4
8080: e2845001 add r5, r4, #1
8084: ebffffe4 bl 801c <dummy>
8088: e2844002 add r4, r4, #2
808c: e1a00005 mov r0, r5
8090: ebffffe1 bl 801c <dummy>
8094: e3540601 cmp r4, #1048576 ; 0x100000
8098: 1afffff7 bne 807c <notmain+0x5c>
809c: eaffffe6 b 803c <notmain+0x1c>
80a0: 20200004 eorcs r0, r0, r4
80a4: 2020001c eorcs r0, r0, ip, lsl r0
80a8: 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

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

BIN
blinker03/blinker03.bin Executable file

Binary file not shown.

BIN
blinker03/blinker03.elf Executable file

Binary file not shown.

103
blinker03/blinker03.list Normal file
View File

@@ -0,0 +1,103 @@
blinker03.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: e92d4070 push {r4, r5, r6, lr}
8024: e59f008c ldr r0, [pc, #140] ; 80b8 <notmain+0x98>
8028: ebfffff9 bl 8014 <GET32>
802c: e3c01707 bic r1, r0, #1835008 ; 0x1c0000
8030: e3811701 orr r1, r1, #262144 ; 0x40000
8034: e59f007c ldr r0, [pc, #124] ; 80b8 <notmain+0x98>
8038: ebfffff3 bl 800c <PUT32>
803c: e59f0078 ldr r0, [pc, #120] ; 80bc <notmain+0x9c>
8040: e3a018f9 mov r1, #16318464 ; 0xf90000
8044: ebfffff0 bl 800c <PUT32>
8048: e59f006c ldr r0, [pc, #108] ; 80bc <notmain+0x9c>
804c: e59f106c ldr r1, [pc, #108] ; 80c0 <notmain+0xa0>
8050: ebffffed bl 800c <PUT32>
8054: e59f0068 ldr r0, [pc, #104] ; 80c4 <notmain+0xa4>
8058: ebffffed bl 8014 <GET32>
805c: e59f4064 ldr r4, [pc, #100] ; 80c8 <notmain+0xa8>
8060: e1a05000 mov r5, r0
8064: e59f0060 ldr r0, [pc, #96] ; 80cc <notmain+0xac>
8068: e3a01801 mov r1, #65536 ; 0x10000
806c: ebffffe6 bl 800c <PUT32>
8070: e59f004c ldr r0, [pc, #76] ; 80c4 <notmain+0xa4>
8074: ebffffe6 bl 8014 <GET32>
8078: e0650000 rsb r0, r5, r0
807c: e1500004 cmp r0, r4
8080: 9afffffa bls 8070 <notmain+0x50>
8084: e285683d add r6, r5, #3997696 ; 0x3d0000
8088: e59f0040 ldr r0, [pc, #64] ; 80d0 <notmain+0xb0>
808c: e3a01801 mov r1, #65536 ; 0x10000
8090: e2866c09 add r6, r6, #2304 ; 0x900
8094: ebffffdc bl 800c <PUT32>
8098: e59f0024 ldr r0, [pc, #36] ; 80c4 <notmain+0xa4>
809c: ebffffdc bl 8014 <GET32>
80a0: e0662000 rsb r2, r6, r0
80a4: e1520004 cmp r2, r4
80a8: 9afffffa bls 8098 <notmain+0x78>
80ac: e285587a add r5, r5, #7995392 ; 0x7a0000
80b0: e2855c12 add r5, r5, #4608 ; 0x1200
80b4: eaffffea b 8064 <notmain+0x44>
80b8: 20200004 eorcs r0, r0, r4
80bc: 2000b408 andcs fp, r0, r8, lsl #8
80c0: 00f90200 rscseq r0, r9, r0, lsl #4
80c4: 2000b420 andcs fp, r0, r0, lsr #8
80c8: 003d08ff ldrshteq r0, [sp], -pc
80cc: 2020001c eorcs r0, r0, ip, lsl r0
80d0: 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