Skip to content

Commit

Permalink
adding MIT License. Providing all compiled output makes it easier on …
Browse files Browse the repository at this point in the history
…me to maintain. Some folks have reported problems trying to use this source, so I am providing binaries and disassembly files to help close the gap between failure and success.
  • Loading branch information
dwelch67 committed Jun 29, 2012
1 parent 17d25f0 commit f8de73f
Show file tree
Hide file tree
Showing 14 changed files with 261 additions and 1 deletion.
13 changes: 13 additions & 0 deletions blinker03/blinker03.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,16 @@ int notmain ( void )
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------


//-------------------------------------------------------------------------
//
// Copyright (c) 2012 David Welch [email protected]
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-------------------------------------------------------------------------
Binary file added blinker03/blinker03.clang.bc
Binary file not shown.
Binary file added blinker03/blinker03.clang.bin
Binary file not shown.
17 changes: 17 additions & 0 deletions blinker03/blinker03.clang.hex
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
:1080000002D9A0E3050000EBFEFFFFEA001080E5C7
:108010001EFF2FE1000090E51EFF2FE11EFF2FE164
:10802000F0402DE9A4409FE50400A0E1F8FFFFEB3C
:108030000707C0E3011780E30400A0E1F2FFFFEBB4
:108040008C409FE5F918A0E30400A0E1EEFFFFEBF0
:10805000021CA0E3F91881E30400A0E1EAFFFFEBB2
:1080600070009FE5EAFFFFEB095CA0E3126CA0E360
:108070000040A0E13D5885E37A6886E3000000EA0D
:10808000064084E050009FE50118A0E3DEFFFFEB0F
:1080900040009FE5DEFFFFEB040040E0050050E1FB
:1080A000FAFFFF3A34009FE50118A0E3D6FFFFEB8B
:1080B0002C009FE5047040E018009FE5D4FFFFEB23
:1080C000000087E0050050E1FAFFFF3AEBFFFFEA0E
:1080D0000400202008B4002020B400201C00202030
:0880E0002800202000F7C2FF78
:040000030000800079
:00000001FF
Binary file added blinker03/blinker03.clang.opt.bc
Binary file not shown.
Binary file added blinker03/blinker03.clang.opt.elf
Binary file not shown.
89 changes: 89 additions & 0 deletions blinker03/blinker03.clang.opt.list
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@

blinker03.clang.opt.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: e92d40f0 push {r4, r5, r6, r7, lr}
8024: e59f40a4 ldr r4, [pc, #164] ; 80d0 <notmain+0xb0>
8028: e1a00004 mov r0, r4
802c: ebfffff8 bl 8014 <GET32>
8030: e3c00707 bic r0, r0, #1835008 ; 0x1c0000
8034: e3801701 orr r1, r0, #262144 ; 0x40000
8038: e1a00004 mov r0, r4
803c: ebfffff2 bl 800c <PUT32>
8040: e59f408c ldr r4, [pc, #140] ; 80d4 <notmain+0xb4>
8044: e3a018f9 mov r1, #16318464 ; 0xf90000
8048: e1a00004 mov r0, r4
804c: ebffffee bl 800c <PUT32>
8050: e3a01c02 mov r1, #512 ; 0x200
8054: e38118f9 orr r1, r1, #16318464 ; 0xf90000
8058: e1a00004 mov r0, r4
805c: ebffffea bl 800c <PUT32>
8060: e59f0070 ldr r0, [pc, #112] ; 80d8 <notmain+0xb8>
8064: ebffffea bl 8014 <GET32>
8068: e3a05c09 mov r5, #2304 ; 0x900
806c: e3a06c12 mov r6, #4608 ; 0x1200
8070: e1a04000 mov r4, r0
8074: e385583d orr r5, r5, #3997696 ; 0x3d0000
8078: e386687a orr r6, r6, #7995392 ; 0x7a0000
807c: ea000000 b 8084 <notmain+0x64>
8080: e0844006 add r4, r4, r6
8084: e59f0050 ldr r0, [pc, #80] ; 80dc <notmain+0xbc>
8088: e3a01801 mov r1, #65536 ; 0x10000
808c: ebffffde bl 800c <PUT32>
8090: e59f0040 ldr r0, [pc, #64] ; 80d8 <notmain+0xb8>
8094: ebffffde bl 8014 <GET32>
8098: e0400004 sub r0, r0, r4
809c: e1500005 cmp r0, r5
80a0: 3afffffa bcc 8090 <notmain+0x70>
80a4: e59f0034 ldr r0, [pc, #52] ; 80e0 <notmain+0xc0>
80a8: e3a01801 mov r1, #65536 ; 0x10000
80ac: ebffffd6 bl 800c <PUT32>
80b0: e59f002c ldr r0, [pc, #44] ; 80e4 <notmain+0xc4>
80b4: e0407004 sub r7, r0, r4
80b8: e59f0018 ldr r0, [pc, #24] ; 80d8 <notmain+0xb8>
80bc: ebffffd4 bl 8014 <GET32>
80c0: e0870000 add r0, r7, r0
80c4: e1500005 cmp r0, r5
80c8: 3afffffa bcc 80b8 <notmain+0x98>
80cc: eaffffeb b 8080 <notmain+0x60>
80d0: 20200004 eorcs r0, r0, r4
80d4: 2000b408 andcs fp, r0, r8, lsl #8
80d8: 2000b420 andcs fp, r0, r0, lsr #8
80dc: 2020001c eorcs r0, r0, ip, lsl r0
80e0: 20200028 eorcs r0, r0, r8, lsr #32
80e4: ffc2f700 ; <UNDEFINED> instruction: 0xffc2f700

Disassembly of section .ARM.attributes:

00000000 <.ARM.attributes>:
0: 00002141 andeq r2, r0, r1, asr #2
4: 61656100 cmnvs r5, r0, lsl #2
8: 01006962 tsteq r0, r2, ror #18
c: 00000017 andeq r0, r0, r7, lsl r0
10: 01080206 tsteq r8, r6, lsl #4
14: 020a0109 andeq r0, sl, #1073741826 ; 0x40000002
18: 01150114 tsteq r5, r4, lsl r1
1c: 01180317 tsteq r8, r7, lsl r3
20: Address 0x00000020 is out of bounds.

Binary file added blinker03/blinker03.clang.opt.o
Binary file not shown.
91 changes: 91 additions & 0 deletions blinker03/blinker03.clang.opt.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
.syntax unified
.eabi_attribute 10, 2
.fpu vfpv2
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.file "blinker03.clang.opt.bc"
.text
.globl notmain
.align 2
.type notmain,%function
notmain: @ @notmain
@ BB#0: @ %entry
push {r4, r5, r6, r7, lr}
ldr r4, .LCPI0_0
mov r0, r4
bl GET32
bic r0, r0, #1835008
orr r1, r0, #262144
mov r0, r4
bl PUT32
ldr r4, .LCPI0_1
mov r1, #16318464
mov r0, r4
bl PUT32
mov r1, #512
orr r1, r1, #16318464
mov r0, r4
bl PUT32
ldr r0, .LCPI0_2
bl GET32
mov r5, #2304
mov r6, #4608
mov r4, r0
orr r5, r5, #3997696
orr r6, r6, #7995392
b .LBB0_2
.LBB0_1: @ %while.end12
@ in Loop: Header=BB0_2 Depth=1
add r4, r4, r6
.LBB0_2: @ %while.body
@ =>This Loop Header: Depth=1
@ Child Loop BB0_5 Depth 2
@ Child Loop BB0_3 Depth 2
ldr r0, .LCPI0_3
mov r1, #65536
bl PUT32
.LBB0_3: @ %while.body3
@ Parent Loop BB0_2 Depth=1
@ => This Inner Loop Header: Depth=2
ldr r0, .LCPI0_2
bl GET32
sub r0, r0, r4
cmp r0, r5
blo .LBB0_3
@ BB#4: @ %while.end
@ in Loop: Header=BB0_2 Depth=1
ldr r0, .LCPI0_4
mov r1, #65536
bl PUT32
ldr r0, .LCPI0_5
sub r7, r0, r4
.LBB0_5: @ %while.body6
@ Parent Loop BB0_2 Depth=1
@ => This Inner Loop Header: Depth=2
ldr r0, .LCPI0_2
bl GET32
add r0, r7, r0
cmp r0, r5
blo .LBB0_5
b .LBB0_1
.align 2
@ BB#6:
.LCPI0_0:
.long 538968068 @ 0x20200004
.LCPI0_1:
.long 536917000 @ 0x2000b408
.LCPI0_2:
.long 536917024 @ 0x2000b420
.LCPI0_3:
.long 538968092 @ 0x2020001c
.LCPI0_4:
.long 538968104 @ 0x20200028
.LCPI0_5:
.long 4290967296 @ 0xffc2f700
.Ltmp0:
.size notmain, .Ltmp0-notmain


16 changes: 16 additions & 0 deletions blinker03/blinker03.hex
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
:1080000002D9A0E3050000EBFEFFFFEA001080E5C7
:108010001EFF2FE1000090E51EFF2FE11EFF2FE164
:1080200070402DE98C009FE5F9FFFFEB0717C0E3D7
:10803000011781E37C009FE5F3FFFFEB78009FE5EC
:10804000F918A0E3F0FFFFEB6C009FE56C109FE5D3
:10805000EDFFFFEB68009FE5EDFFFFEB64409FE560
:108060000050A0E160009FE50118A0E3E6FFFFEBF0
:108070004C009FE5E6FFFFEB000065E0040050E1E7
:10808000FAFFFF9A3D6885E240009FE50118A0E3F2
:10809000096C86E2DCFFFFEB24009FE5DCFFFFEBD1
:1080A000002066E0040052E1FAFFFF9A7A5885E268
:1080B000125C85E2EAFFFFEA0400202008B40020F9
:1080C0000002F90020B40020FF083D001C00202021
:0480D0002800202044
:040000030000800079
:00000001FF
Binary file added blinker03/blinker03.o
Binary file not shown.
18 changes: 17 additions & 1 deletion blinker03/memmap
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@

/*-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------*/
MEMORY
{
ram : ORIGIN = 0x8000, LENGTH = 0x1000
}

/*-----------------------------------------------------------------------*/
SECTIONS
{
.text : { *(.text*) } > ram
.bss : { *(.bss*) } > ram
}
/*-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------*/


/*-----------------------------------------------------------------------*/

/* Copyright (c) 2012 David Welch [email protected] */

/* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: */

/* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. */

/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */

/*-----------------------------------------------------------------------*/
Binary file added blinker03/vectors.o
Binary file not shown.
18 changes: 18 additions & 0 deletions blinker03/vectors.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@

;@-------------------------------------------------------------------------
;@-------------------------------------------------------------------------

.globl _start
_start:
mov sp,#0x8000
Expand All @@ -18,3 +21,18 @@ GET32:
.globl dummy
dummy:
bx lr

;@-------------------------------------------------------------------------
;@-------------------------------------------------------------------------

;@-------------------------------------------------------------------------
;@
;@ Copyright (c) 2012 David Welch [email protected]
;@
;@ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
;@
;@ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
;@
;@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
;@
;@-------------------------------------------------------------------------

0 comments on commit f8de73f

Please sign in to comment.