From cab790eeb8034d12bcd639869452fd2537a6192e Mon Sep 17 00:00:00 2001 From: David Welch Date: Thu, 28 Jun 2012 22:33:47 -0400 Subject: [PATCH] adding MIT License. All as-built files for blinker01 added, makes it easier on me if I am going to provide any binaries. --- blinker01/blinker01.c | 13 ++++++ blinker01/blinker01.clang.bc | Bin 0 -> 904 bytes blinker01/blinker01.clang.bin | Bin 0 -> 152 bytes blinker01/blinker01.clang.hex | 12 +++++ blinker01/blinker01.clang.opt.bc | Bin 0 -> 812 bytes blinker01/blinker01.clang.opt.elf | Bin 0 -> 33520 bytes blinker01/blinker01.clang.opt.list | 69 +++++++++++++++++++++++++++++ blinker01/blinker01.clang.opt.o | Bin 0 -> 928 bytes blinker01/blinker01.clang.opt.s | 66 +++++++++++++++++++++++++++ blinker01/blinker01.hex | 13 ++++++ blinker01/blinker01.o | Bin 0 -> 1084 bytes blinker01/memmap | 18 +++++++- blinker01/vectors.o | Bin 0 -> 800 bytes blinker01/vectors.s | 19 ++++++++ 14 files changed, 209 insertions(+), 1 deletion(-) create mode 100644 blinker01/blinker01.clang.bc create mode 100755 blinker01/blinker01.clang.bin create mode 100644 blinker01/blinker01.clang.hex create mode 100644 blinker01/blinker01.clang.opt.bc create mode 100755 blinker01/blinker01.clang.opt.elf create mode 100644 blinker01/blinker01.clang.opt.list create mode 100644 blinker01/blinker01.clang.opt.o create mode 100644 blinker01/blinker01.clang.opt.s create mode 100644 blinker01/blinker01.hex create mode 100644 blinker01/blinker01.o create mode 100644 blinker01/vectors.o diff --git a/blinker01/blinker01.c b/blinker01/blinker01.c index ea457c4..8b6c104 100644 --- a/blinker01/blinker01.c +++ b/blinker01/blinker01.c @@ -31,3 +31,16 @@ int notmain ( void ) } //------------------------------------------------------------------------- //------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// +// Copyright (c) 2012 David Welch dwelch@dwelch.com +// +// 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. +// +//------------------------------------------------------------------------- diff --git a/blinker01/blinker01.clang.bc b/blinker01/blinker01.clang.bc new file mode 100644 index 0000000000000000000000000000000000000000..1eb5ce6444c11c19ccaa61b005f4b0491200518d GIT binary patch literal 904 zcmZ8eQAkr^6h3$N?*7+#op)}J%SRj39!bluRfHic0XQ{yQPE!@1{t=bm%EbNG+fr@XJ? z0X_f#B>RF*5ES8xi!;EFwy3B9cB1g~bZ|ksWmYJ+KvM;R@buG0iD#?)Dkt02IdEaq&1;I^71bxwoM!xxOm zGQg}!@(&&wA7=eXoWBDbmfADt&AaWiXUpucfyb7+HY(+_WTb-?=er?X#KhL4zGP9BC!$oh@|~4tmAP6jM;#_<3aZI|VF&lJ+c;{xuIX@3UuhT{rUSeF;T`^Ml{INR z42V0AC4b)EvT3Oy;pl7r*NJih{Lavr!O*F-Uy7P8?}<}U(7tLng!Nt~l!t~@t?kW- oU9NP~{iyYbEpkd$nhuIoPC_#4uue&(GT0{ug@Cw6*7z%b0N0WTJ^%m! literal 0 HcmV?d00001 diff --git a/blinker01/blinker01.clang.bin b/blinker01/blinker01.clang.bin new file mode 100755 index 0000000000000000000000000000000000000000..69600f008166a8fee377cb5bde1f21e7cb46d804 GIT binary patch literal 152 zcmZR&x!^G?1Hf0mJ}MWlwwn literal 0 HcmV?d00001 diff --git a/blinker01/blinker01.clang.hex b/blinker01/blinker01.clang.hex new file mode 100644 index 0000000..1ffd670 --- /dev/null +++ b/blinker01/blinker01.clang.hex @@ -0,0 +1,12 @@ +:1080000002D9A0E3050000EBFEFFFFEA001080E5C7 +:108010001EFF2FE1000090E51EFF2FE11EFF2FE164 +:1080200010402DE960409FE50400A0E1F8FFFFEB60 +:108030000707C0E3011780E30400A0E1F2FFFFEBB4 +:1080400048009FE50118A0E3EFFFFFEB0040A0E32D +:108050000400A0E1F0FFFFEB014084E2010654E3DD +:10806000FAFFFF1A28009FE50118A0E3E6FFFFEBE7 +:108070000040A0E30400A0E1E7FFFFEB014084E241 +:10808000010654E3FAFFFF1AECFFFFEA0400202088 +:088090001C0020202800202024 +:040000030000800079 +:00000001FF diff --git a/blinker01/blinker01.clang.opt.bc b/blinker01/blinker01.clang.opt.bc new file mode 100644 index 0000000000000000000000000000000000000000..fc802dc55acac41879e52075d6493367ff94389f GIT binary patch literal 812 zcmZ8eUr3Wt6hGU(efMtroY!sDEVIoi`QXEx(-stc`xg_fX8GV#e6H|qvALmZg52r1 zrsTsk2p?zlum>L^Azx>$7-X`7Ac#uIgrdM8gr4etvxn?(?mg$8^Et=b)j7iFR|FDr^{F?Ux5V2$j!^iMa`Lq(>+BrK7__oxrtb= zN6IB*xpXPl<3Z!aT%BXU7=`+@6O9&7!iE&5%6}m!O%;viji~}sv=$sIptyw61dXxh ze@5hKWkX6x0T*@kck6k(4o5 ziz>fTtMXe^K-o`$^&Sxw3nlUy)HUx`yN>OQNj}H^gsl;}Fl{PtHH}zQXJ`B#`RSaG zqMIp{Sd0rhQ2(76e^O(Y;A?)ec6?*02_SA``(|~A!}RLJJ3i*#C`0I)=9$j-ZgO>>x=$^fM z|J#h$&Z&Q_n>YubCAhD%&n67Qd7@JwLfDIhQvqyUcL`JONEl~ImKClnY9+za84>ZC z^G&i8(`4ydhhH4r65%N0-m`h;FF0Rs2RMI#ANY8ZS}ty*4f?(`;F-VVp7wV9O${H@ zX579>(7x(#7&)Yi+wW|;H8+f!s&J$*gdUN}P2p`rYu5ZL(h%O{VPZeBCSNHRRB$RI@` z3%Yoq-4n?zNLkk_l9$YQUv$q^N1Lmh)?m$b1_B5mfB*srAb0Uj_P_rrC-kUsce+QSVRhVmG_s@aJ~1P*nXGpr zk<&@g?%v_X5iLD89xo%2`EmMv&YkyC>u(>6ywyqpZS4R8ptK5BsRCf0!BP(BHcTYJ=R*aN&`Ye^tXr3D7qQ38}=EJEx zr`bKft^KI(U)C;~-EilxXrGB(8fKXdWG!eukZ`@;d{}E;nD: + 8000: e3a0d902 mov sp, #32768 ; 0x8000 + 8004: eb000005 bl 8020 + +00008008 : + 8008: eafffffe b 8008 + +0000800c : + 800c: e5801000 str r1, [r0] + 8010: e12fff1e bx lr + +00008014 : + 8014: e5900000 ldr r0, [r0] + 8018: e12fff1e bx lr + +0000801c : + 801c: e12fff1e bx lr + +00008020 : + 8020: e92d4010 push {r4, lr} + 8024: e59f4060 ldr r4, [pc, #96] ; 808c + 8028: e1a00004 mov r0, r4 + 802c: ebfffff8 bl 8014 + 8030: e3c00707 bic r0, r0, #1835008 ; 0x1c0000 + 8034: e3801701 orr r1, r0, #262144 ; 0x40000 + 8038: e1a00004 mov r0, r4 + 803c: ebfffff2 bl 800c + 8040: e59f0048 ldr r0, [pc, #72] ; 8090 + 8044: e3a01801 mov r1, #65536 ; 0x10000 + 8048: ebffffef bl 800c + 804c: e3a04000 mov r4, #0 + 8050: e1a00004 mov r0, r4 + 8054: ebfffff0 bl 801c + 8058: e2844001 add r4, r4, #1 + 805c: e3540601 cmp r4, #1048576 ; 0x100000 + 8060: 1afffffa bne 8050 + 8064: e59f0028 ldr r0, [pc, #40] ; 8094 + 8068: e3a01801 mov r1, #65536 ; 0x10000 + 806c: ebffffe6 bl 800c + 8070: e3a04000 mov r4, #0 + 8074: e1a00004 mov r0, r4 + 8078: ebffffe7 bl 801c + 807c: e2844001 add r4, r4, #1 + 8080: e3540601 cmp r4, #1048576 ; 0x100000 + 8084: 1afffffa bne 8074 + 8088: eaffffec b 8040 + 808c: 20200004 eorcs r0, r0, r4 + 8090: 2020001c eorcs r0, r0, ip, lsl r0 + 8094: 20200028 eorcs r0, r0, r8, lsr #32 + +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. + diff --git a/blinker01/blinker01.clang.opt.o b/blinker01/blinker01.clang.opt.o new file mode 100644 index 0000000000000000000000000000000000000000..855965a6aec582e24ac89ef5cfcef8acd9790c81 GIT binary patch literal 928 zcma)5xlRKy5Pc>~!c_zWN`Qz|kOdMV=;K zpQKGFUwK)G1cg!2C3-pr#gIrul44lQ3&_f4UMr7KmqR?WQQ6N)?N>EqMrj4=qlDciW++8~MZy?4uV-Bs`HbOI{<2$x z7Q$-)<|x7XzjXW#(v<9a?l)x#q3zdCvF*j>J93u;V^+u5VUvVaA`L>`3p<}9PR?g- z@3%%|jdIp(Kg%t)=N-HSHqRJo?KaFte!PL}4wCH)NY8W6wQ}vK5Exi*=D@==Gz_$Q;6cv=7e literal 0 HcmV?d00001 diff --git a/blinker01/blinker01.clang.opt.s b/blinker01/blinker01.clang.opt.s new file mode 100644 index 0000000..6964d06 --- /dev/null +++ b/blinker01/blinker01.clang.opt.s @@ -0,0 +1,66 @@ + .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 "blinker01.clang.opt.bc" + .text + .globl notmain + .align 2 + .type notmain,%function +notmain: @ @notmain +@ BB#0: @ %entry + push {r4, lr} + ldr r4, .LCPI0_0 + mov r0, r4 + bl GET32 + bic r0, r0, #1835008 + orr r1, r0, #262144 + mov r0, r4 + bl PUT32 +.LBB0_1: @ %while.body + @ =>This Loop Header: Depth=1 + @ Child Loop BB0_4 Depth 2 + @ Child Loop BB0_2 Depth 2 + ldr r0, .LCPI0_1 + mov r1, #65536 + bl PUT32 + mov r4, #0 +.LBB0_2: @ %for.body + @ Parent Loop BB0_1 Depth=1 + @ => This Inner Loop Header: Depth=2 + mov r0, r4 + bl dummy + add r4, r4, #1 + cmp r4, #1048576 + bne .LBB0_2 +@ BB#3: @ %for.end + @ in Loop: Header=BB0_1 Depth=1 + ldr r0, .LCPI0_2 + mov r1, #65536 + bl PUT32 + mov r4, #0 +.LBB0_4: @ %for.body3 + @ Parent Loop BB0_1 Depth=1 + @ => This Inner Loop Header: Depth=2 + mov r0, r4 + bl dummy + add r4, r4, #1 + cmp r4, #1048576 + bne .LBB0_4 + b .LBB0_1 + .align 2 +@ BB#5: +.LCPI0_0: + .long 538968068 @ 0x20200004 +.LCPI0_1: + .long 538968092 @ 0x2020001c +.LCPI0_2: + .long 538968104 @ 0x20200028 +.Ltmp0: + .size notmain, .Ltmp0-notmain + + diff --git a/blinker01/blinker01.hex b/blinker01/blinker01.hex new file mode 100644 index 0000000..3218147 --- /dev/null +++ b/blinker01/blinker01.hex @@ -0,0 +1,13 @@ +:1080000002D9A0E3050000EBFEFFFFEA001080E5C7 +:108010001EFF2FE1000090E51EFF2FE11EFF2FE164 +:1080200038402DE974009FE5F9FFFFEB0717C0E327 +:10803000011781E364009FE5F3FFFFEB60009FE51C +:108040000118A0E3F0FFFFEB0040A0E30400A0E173 +:10805000015084E2F0FFFFEB024084E20500A0E162 +:10806000EDFFFFEB010654E3F7FFFF1A34009FE535 +:108070000118A0E3E4FFFFEB0040A0E30400A0E14F +:10808000015084E2E4FFFFEB024084E20500A0E13E +:10809000E1FFFFEB010654E3F7FFFF1AE6FFFFEAFB +:0C80A000040020201C00202028002020CC +:040000030000800079 +:00000001FF diff --git a/blinker01/blinker01.o b/blinker01/blinker01.o new file mode 100644 index 0000000000000000000000000000000000000000..636367fe7c8eec9513d18779001f5cf2facbad35 GIT binary patch literal 1084 zcmb7CO>fgc5S@*k^aGHffD%dsMg$QAv62uK!YL(`s!}UeG~BUcOSOod%GpTd1V}yd zAIMM158%LGpcY8LsV6QKW?r)!!l`1U@q2IP?bzPkw;S8fg%G4eP?`QJqTWfac zEz<%$ZdJZZ`uO#Cn*LnKPZE)TpLj~YVibjOf*!TTiAm!xV)yU}I@3Bl%CZI*xlZyc zO;;QL>Hn6dKTNW$B4?SCHrwqdR(Y>KjJtk3vf6#mf9glweQP_AzE!W*YIe0*S!>?2 z8upr9qxBm9iQ_wNK;kab?D~tHN1bOoTa?QziY2jPUJ+MC-YAG`VpZJ8JP>3LMxk_E zMj20WU$fZn+0uU_$@U!SknIizWOw^v=to@R(Y7OH9JoX25A+tFi8tASZO4!v}sxX>Om!M4^W15fk0#0{mzBs_elUAY#IaUDbgevdPJ_ z4s`vPNnHy@{oYH=^*hnN&5bP(71{^P=py3@i_eVM10??UqT=)OKC!59U5B2hwZ{3n zNyn+K1C80&POHX0UyQy<7v>kRAK&tBR-2y=e|FXZG5EAEs|wC~h1cVJbzs&lEf}G3 zeRV*S+Y6%Ceq62DT`D4)9y<=yY(mx&6%b3`SDxNpVt P)4K%hsJf@>2MYfH1R ram .bss : { *(.bss*) } > ram } +/*-----------------------------------------------------------------------*/ +/*-----------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------*/ + +/* Copyright (c) 2012 David Welch dwelch@dwelch.com */ + +/* 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. */ + +/*-----------------------------------------------------------------------*/ diff --git a/blinker01/vectors.o b/blinker01/vectors.o new file mode 100644 index 0000000000000000000000000000000000000000..360bc05ac98654d7db5ac627b694c2e4761040ad GIT binary patch literal 800 zcma)3K}rKb5bVh&F$)S20t$xcAwp0YMSXxdL@x>=@hr1sF@bE9-3gdee1cE#0Y1V< zc=0IWMgQR1wKEeF5wxMVs;8@ax@X6&<3k|?ITO^N?}+HZBntZ(Hpr(U<(}_fKhyMs z{hi9UZ?$y$h3GCr@a7VWRj7g_jT9<6bb-VPYov$9I)A*r8~(n0?K1K;H5dM&I%bJfoZA0QJz7*w<~$>CD;| z9Y71)WQYDQ-Hy>*Gh~K-%a#LNzeVP*7tZ_a2O!p*4w!R?j1>+Z88HiX!5(FH>^j}= ziFF%%=FIhT@o(r&rZZV@rX%|2e<;M{9ZkjTEgltS{y~|mF{?9hyv@8lK)%MjG8NaE zSEpjCE9$DjC0!(1#hM0JI#Rs>ou0S%cIl{vZ)X@qBd)>QRQaKBPlFwI0nrcm1*=m+ ARsaA1 literal 0 HcmV?d00001 diff --git a/blinker01/vectors.s b/blinker01/vectors.s index beb9cf5..9cdad8b 100644 --- a/blinker01/vectors.s +++ b/blinker01/vectors.s @@ -1,4 +1,7 @@ +;@ ------------------------------------------------------------------ +;@ ------------------------------------------------------------------ + .globl _start _start: mov sp,#0x8000 @@ -18,3 +21,19 @@ GET32: .globl dummy dummy: bx lr + +;@------------------------------------------------------------------------- +;@------------------------------------------------------------------------- + + +;@------------------------------------------------------------------------- +;@ +;@ Copyright (c) 2012 David Welch dwelch@dwelch.com +;@ +;@ 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. +;@ +;@-------------------------------------------------------------------------