From 7964505b5eaf8be846f82c6c3c5a3f6c9dc84ede Mon Sep 17 00:00:00 2001 From: =?utf8?q?Asbj=C3=B8rn=20Sloth=20T=C3=B8nnesen?= Date: Thu, 2 Dec 2010 17:57:14 +0000 Subject: [PATCH] removing bitbucket_lpc1768 again now that new_cmsis works MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Asbjørn Sloth Tønnesen --- bitbucket_lpc1768/.hg/00changelog.i | Bin 57 -> 0 bytes bitbucket_lpc1768/.hg/branch | 1 - bitbucket_lpc1768/.hg/branchheads.cache | 5 - bitbucket_lpc1768/.hg/dirstate | Bin 413 -> 0 bytes bitbucket_lpc1768/.hg/hgrc | 2 - bitbucket_lpc1768/.hg/requires | 3 - bitbucket_lpc1768/.hg/store/00changelog.i | Bin 2665 -> 0 bytes bitbucket_lpc1768/.hg/store/00manifest.i | Bin 2546 -> 0 bytes bitbucket_lpc1768/.hg/store/data/.hgignore.i | Bin 114 -> 0 bytes bitbucket_lpc1768/.hg/store/data/.hgtags.i | Bin 790 -> 0 bytes .../.hg/store/data/_c_m_s_i_s/_l_p_c17xx.h.i | Bin 6593 -> 0 bytes .../.hg/store/data/_c_m_s_i_s/core__cm3.h.i | Bin 13154 -> 0 bytes .../store/data/_c_m_s_i_s/system___l_p_c17xx.c.i | Bin 4456 -> 0 bytes .../store/data/_c_m_s_i_s/system___l_p_c17xx.h.i | Bin 905 -> 0 bytes .../.hg/store/data/_l_p_c1768-flash.ld.i | Bin 621 -> 0 bytes bitbucket_lpc1768/.hg/store/data/_makefile.i | Bin 935 -> 0 bytes bitbucket_lpc1768/.hg/store/data/io-pin.h.i | Bin 835 -> 0 bytes bitbucket_lpc1768/.hg/store/data/io-pin.ss.i | Bin 855 -> 0 bytes bitbucket_lpc1768/.hg/store/data/main.c.i | Bin 1419 -> 0 bytes bitbucket_lpc1768/.hg/store/data/quiet.i | Bin 970 -> 0 bytes bitbucket_lpc1768/.hg/store/data/startup.c.i | Bin 1172 -> 0 bytes bitbucket_lpc1768/.hg/store/fncache | 13 - bitbucket_lpc1768/.hg/store/undo | Bin 313 -> 0 bytes bitbucket_lpc1768/.hg/tags.cache | 6 - bitbucket_lpc1768/.hg/undo.branch | 1 - bitbucket_lpc1768/.hg/undo.desc | 3 - bitbucket_lpc1768/.hgignore | 8 - bitbucket_lpc1768/.hgtags | 11 - bitbucket_lpc1768/CMSIS/LPC17xx.h | 1038 ----------- bitbucket_lpc1768/CMSIS/core_cm3.h | 1818 -------------------- bitbucket_lpc1768/CMSIS/system_LPC17xx.c | 559 ------ bitbucket_lpc1768/CMSIS/system_LPC17xx.d | 8 - bitbucket_lpc1768/CMSIS/system_LPC17xx.h | 63 - bitbucket_lpc1768/CMSIS/system_LPC17xx.o | Bin 1632 -> 0 bytes bitbucket_lpc1768/LPC1768-flash.ld | 50 - bitbucket_lpc1768/Makefile | 76 - bitbucket_lpc1768/io-pin.h | 140 -- bitbucket_lpc1768/io-pin.ss | 76 - bitbucket_lpc1768/lpcrc/Makefile | 12 - bitbucket_lpc1768/lpcrc/lpcrc | Bin 7966 -> 0 bytes bitbucket_lpc1768/lpcrc/lpcrc.c | 97 -- bitbucket_lpc1768/main.bin | Bin 568 -> 0 bytes bitbucket_lpc1768/main.bin.old | Bin 568 -> 0 bytes bitbucket_lpc1768/main.c | 55 - bitbucket_lpc1768/main.d | 10 - bitbucket_lpc1768/main.dump | 61 - bitbucket_lpc1768/main.elf | Bin 67112 -> 0 bytes bitbucket_lpc1768/main.hex | 39 - bitbucket_lpc1768/main.map | 115 -- bitbucket_lpc1768/main.o | Bin 1740 -> 0 bytes bitbucket_lpc1768/openocd.cfg | 3 - bitbucket_lpc1768/quiet | 62 - bitbucket_lpc1768/startup.c | 91 - bitbucket_lpc1768/startup.d | 8 - bitbucket_lpc1768/startup.o | Bin 1912 -> 0 bytes 55 files changed, 4434 deletions(-) delete mode 100644 bitbucket_lpc1768/.hg/00changelog.i delete mode 100644 bitbucket_lpc1768/.hg/branch delete mode 100644 bitbucket_lpc1768/.hg/branchheads.cache delete mode 100644 bitbucket_lpc1768/.hg/dirstate delete mode 100644 bitbucket_lpc1768/.hg/hgrc delete mode 100644 bitbucket_lpc1768/.hg/requires delete mode 100644 bitbucket_lpc1768/.hg/store/00changelog.i delete mode 100644 bitbucket_lpc1768/.hg/store/00manifest.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/.hgignore.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/.hgtags.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/_c_m_s_i_s/_l_p_c17xx.h.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/_c_m_s_i_s/core__cm3.h.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/_c_m_s_i_s/system___l_p_c17xx.c.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/_c_m_s_i_s/system___l_p_c17xx.h.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/_l_p_c1768-flash.ld.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/_makefile.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/io-pin.h.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/io-pin.ss.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/main.c.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/quiet.i delete mode 100644 bitbucket_lpc1768/.hg/store/data/startup.c.i delete mode 100644 bitbucket_lpc1768/.hg/store/fncache delete mode 100644 bitbucket_lpc1768/.hg/store/undo delete mode 100644 bitbucket_lpc1768/.hg/tags.cache delete mode 100644 bitbucket_lpc1768/.hg/undo.branch delete mode 100644 bitbucket_lpc1768/.hg/undo.desc delete mode 100644 bitbucket_lpc1768/.hg/undo.dirstate delete mode 100644 bitbucket_lpc1768/.hgignore delete mode 100644 bitbucket_lpc1768/.hgtags delete mode 100644 bitbucket_lpc1768/2 delete mode 100755 bitbucket_lpc1768/CMSIS/LPC17xx.h delete mode 100755 bitbucket_lpc1768/CMSIS/core_cm3.h delete mode 100755 bitbucket_lpc1768/CMSIS/system_LPC17xx.c delete mode 100644 bitbucket_lpc1768/CMSIS/system_LPC17xx.d delete mode 100755 bitbucket_lpc1768/CMSIS/system_LPC17xx.h delete mode 100644 bitbucket_lpc1768/CMSIS/system_LPC17xx.o delete mode 100644 bitbucket_lpc1768/LPC1768-flash.ld delete mode 100644 bitbucket_lpc1768/Makefile delete mode 100644 bitbucket_lpc1768/io-pin.h delete mode 100644 bitbucket_lpc1768/io-pin.ss delete mode 100644 bitbucket_lpc1768/lpcrc/Makefile delete mode 100755 bitbucket_lpc1768/lpcrc/lpcrc delete mode 100644 bitbucket_lpc1768/lpcrc/lpcrc.c delete mode 100755 bitbucket_lpc1768/main.bin delete mode 100755 bitbucket_lpc1768/main.bin.old delete mode 100644 bitbucket_lpc1768/main.c delete mode 100644 bitbucket_lpc1768/main.d delete mode 100644 bitbucket_lpc1768/main.dump delete mode 100755 bitbucket_lpc1768/main.elf delete mode 100644 bitbucket_lpc1768/main.hex delete mode 100644 bitbucket_lpc1768/main.map delete mode 100644 bitbucket_lpc1768/main.o delete mode 100644 bitbucket_lpc1768/openocd.cfg delete mode 100755 bitbucket_lpc1768/quiet delete mode 100644 bitbucket_lpc1768/startup.c delete mode 100644 bitbucket_lpc1768/startup.d delete mode 100644 bitbucket_lpc1768/startup.o diff --git a/bitbucket_lpc1768/.hg/00changelog.i b/bitbucket_lpc1768/.hg/00changelog.i deleted file mode 100644 index d3a8311050e54c57c5be7cfe169e60a95768812c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmWN_K?=Yi3`cxtN{vs>H3nPC!0;amfR5tuP0UVB%gjlIx|Zb;R3~d;X=Z8( zR5V5%Dk=ssueh?fBsDi4=9OfqdzgBm%GmWX(n}K4VeVuwfr@hi#WU0MfUbcW%r1b} dV32=MoXeJ*2n+y_eJH}5#U+VFC8Y&=$pCwsjX(eZ diff --git a/bitbucket_lpc1768/.hg/hgrc b/bitbucket_lpc1768/.hg/hgrc deleted file mode 100644 index cf8bc2d..0000000 --- a/bitbucket_lpc1768/.hg/hgrc +++ /dev/null @@ -1,2 +0,0 @@ -[paths] -default = http://bitbucket.org/jpc/lpc1768 diff --git a/bitbucket_lpc1768/.hg/requires b/bitbucket_lpc1768/.hg/requires deleted file mode 100644 index 5175383..0000000 --- a/bitbucket_lpc1768/.hg/requires +++ /dev/null @@ -1,3 +0,0 @@ -revlogv1 -store -fncache diff --git a/bitbucket_lpc1768/.hg/store/00changelog.i b/bitbucket_lpc1768/.hg/store/00changelog.i deleted file mode 100644 index 7ff755763bbd6a367846943c4837026292d8611a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 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 DV1piH diff --git a/bitbucket_lpc1768/.hg/store/00manifest.i b/bitbucket_lpc1768/.hg/store/00manifest.i deleted file mode 100644 index 234ee25a53a4950482dedc20a94082cd7ec41737..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2546 zcmdT^i#wG07k>vCF(sP%+16I;UX0$EdEdE+avNFNHnm+`in)i-MNx<>X=)mN!jMah zMd^PcDPoXFPxVm)|RQXQ4-p_ut=m0;6p_Hy*^StNr}EV8;9T^{Oh0xVK^Lng5qFo#0`sT?{}83`c=$^w~5Ehm`;0P=_% z;cj6?tlq#^Q9eZNH`~qcZkSu4*t3B7dJ&}tB6#BiTwgl(C_se>6e3I~QXq&yB0(%N zL}Eh}G7%3_SVSU|1H*JW1!hpckbBAEd{3?*^~fXSyqH&Fi8^@$@8lj8?E|r5Uh`8Q z8Ty+-h*?tko16i{6qrn=#uQh`^>pEEbgnN=t{?REP;uNgVJCd5$d7_vDMD z9tDK_W?QXT^_KfH4Wf4e&$n;6X@5_T4E;_0i=4_Nun8<_0(emRi>V-k1aX)oI-UT6 zWEKHWCrP_NXTuBR1F}d$Y3shO8AZf{kk_sD(F}e#gpP5t|G9My{%D=K663)+W)vCi1RKSWulz0VdLz4UO<46p?n-3HL$PkzZ| zK*U5;!>$cQEpi!MmX#T)(>a~aI9$Rr7ZY@@8G~7vHNm|5QMp@3iDt*^%+F%p*Szz? z&k3U)J0_wA&B}KNKN4Q+Lxq}izPb&p$T3fix%M>qeeI_YL88$bC|vP8ch zS+vxHjIAP6iw&P0@#!+kb2#SLxzf;*CMf(zS^qyHtDrAS-Tk|(cSAGrCbjZy`CB#$tx|K*ZdBxIo z)(HCR@lQJDQ0u+Z0#hoP*$_5X=l?kWy)w_vb~dD@K}QSMcxA`O03&Om(Y;%NDVvf6 z1O1Xn@~e>Wv};X^;~ccP$)@KV6Xf+T!D36sOt0^~v9Xf+Gv}=KvL^xVA?UbV0-qk5 zweR46->F9a=9;o8cy8~PE+qNU(=&Wc_Y-)Do3^@6}QVGiKOqR93hp8id2*la6 z>%A24O6K$_lTw{L)Q<*Qw2&n=2IbA|d2q%R7ore5T8cgt0Cb;1^$a|EmG^WyOo#Bk zHY{^mJD(FtA5sUs2WL809Nhyeb6(NA>s?Pxq-8I}9Qw(kEps$x_fzmqnR^NvvXz$xHX7M`5elpFLgw`vV- H)+FdJOL6Vv diff --git a/bitbucket_lpc1768/.hg/store/data/.hgignore.i b/bitbucket_lpc1768/.hg/store/data/.hgignore.i deleted file mode 100644 index 2c061b0ebf63b07e7804d7ce7d5e971b193198fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmZQzWME`~03#q}0%bG&hXScx0@FMsZ&yv_02s w2=X|8(*Mz=OWur+Y83p=dNNOvTq){cq-o5r5UGmASYEfDJL^8yOIm69b_j1 zgAWi_f>{g(7?dgqYC1dHn6d7Kyovf z#lXM{q!~eOnWLv05y<*~!Z!b73l-QeN#(3v7XVcQqd@KlVJm|~10XUqOExpGOg2e0 zHUwI1lw_EeY@U*AlA360X=;&_XaRJKv2Jl?aY<%!HcE(`0UMYJv{)T#G$)W|0=c3% zCT!Q~l#j3EV%IfpU;1}zjQ7oMs2VU;F(>u(Y0kq201=M&V@j?^@3Rp44_~HCmeeeT!(-TeSIysaN_})iI|^YFcS!kJ;b3dyM1%+=~+h07`NOf&c&j diff --git a/bitbucket_lpc1768/.hg/store/data/_c_m_s_i_s/_l_p_c17xx.h.i b/bitbucket_lpc1768/.hg/store/data/_c_m_s_i_s/_l_p_c17xx.h.i deleted file mode 100644 index 5b572b0b8816236e2579647786ade003a548076a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6593 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 diff --git a/bitbucket_lpc1768/.hg/store/data/_c_m_s_i_s/core__cm3.h.i b/bitbucket_lpc1768/.hg/store/data/_c_m_s_i_s/core__cm3.h.i deleted file mode 100644 index 7ce310d0f213e7beaaf0878cc67be57f27ca8513..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13154 zcmZ9x18gQ<&_3F3xox-F+QwVkwr$(Cjjh|awr!hR+qSi}-?sPn-S6Jypa0|}&&iyV z%uF(w$;<-=4h9bP{|XBU7`V*X|K7pCzW+a2HFiMc>?>J2@aOBp)m+3|3m5qJ|Nr?P z^vu5YvvS##Y`lK?bM~#ch(Ax^N0*h{ZP`7oNM_13WhW?UFVKewEhdawNS!n^JUR9H z^_-@q24*dRlI-)oZ6ofwNf9&!EMsnJ#6Tn1?rWMYl6blKzNK`|16>0$h9L!j!vF#~ z`*?z#dO~^)Dc>*w)~=!F1Xj!{InZ0aPiR2&IFUa2WR@peZsLe3YTarv%NJ_hm=P>j1$8Ih58={r?1+08uHXM9$V+DFa!PlAM8Q24)?Ekl*MymqWY zO&tjk--iNOp+jbTkZEzB7;P5zwTc#nkYN!-dnu>g*LZJ!?CJleqPLgwbv9i(fZhmIcXsukvHS zW1JT~7)j5CHxD&Zud!FlH&dVt6_$%=z#2+OrH+sC+heAW47qNV2v0ZwzA+wA0=FKa zmj|4Xuo^YVU%cq-2nzM@38wm_%4%}Z~q(?YFCi-mbtWk2f+FgFV^0lYQ2Xbsp`Mof0ZsXx~{rHfl z)?Hho2B~+j-xki{-qP35^!?3l3VjSV?-niFdr$cYo`^XYKm7S4Pc3<{f%GyWNd2y7 zcLUSo-dwqV6QXJvv$i4hvV3R*_5^m-Qhf)nTa z7wkBDR_iOBO2RF&xm`du-Eu3;*MMZ|rKngmVXMbIDgGX2QXH_k<*?CNYK};}rKebR zHPtQru?Q zuDi#64=CJOC^AzDum_Mi9xL4WX6nvIA9I$u3K8oZ(PIrg{1!ICTYe5v3b^lnra>{RZcD?CBEiyCE-^N{ zIF?Zk&?f(G#a1$7bbe|KaD?jq08JFLM6Azu?mwOej8klT6M&{o zD~`9#qCopD23Spt6e5WsYdAdHAg$l2CG7A_7frVNh|g2}Ah7Aj+4yK|*Bq9bnhHOw z%C5FxB?_%63xj_JJDa9GrHst+uhh9Uhr;NLjv*VZ&2Zwm)de@K!pnC*H%MElP#|)O zZf;1j4gy5W;nci0kmf1+78TU-BJ&t)9&pq4SPrGQd)pUhiw5o4aP6r=^3Vtb2fr%X zfu;M&@B;ybbwWS8HT{D0O@6v1DB>)_hFS(OFc^mZ0F-%Ig%#2B`v?N4DgaMFE4ks~ z&s$1RZilcwpK!z1KGucnVFb6>_k}gSL+(&|p?VdH&>Q1ULZF(O7U?k|WdFA{HZIm2 ztA~&aZGqLy!QDjEXk>U$#b!SO%$MN>HycEZQ~8jaz3vj8cEvhW>>nIl0?bTO+{}?b z0+}KiSoaI#H6fVp$xZ6u_Lql8UJx82jPA?C-iH$IPTbM{akcL9>A6C5_8-c zJQ7YtvXNn{4F8f-^O1dAk_pGnj&~notmut==PBo>;Qa(fQgA*4Bc3RhW8K%9FV)pJ zep=C{HJJ`ld^H7jZ5DTS0Ie-;tfUulg9klvWZT8>wv@|z`xczHck1WL+Z$p}D4w1)y<7S>)&CjZ zq9Gj0#F=Dyi*RM;co?nhAOR^}PUa@k(VdT1XAVW(htYBr;2=NM%q z%b=FJmhAKINHgH?J6q5F@>W8QgN}BqJygv3b_yuB!wxXU6MaFt&VgQw}322|=d^0gSS8T41mdv7f9 z*o~6k=^Jq9<$Z5XyHm7{xz_46WwZ5|`y#eplx$mhVd*xXCpVja_}Ao4&^7Wc)@eIf zyQA0!U1#_Yc<187!BEut1`Xva)ol_$_N*|@6&{!C$FZS(WFI+SH&=k6?Es##Ss~PI znk~U-^+n7UZ0HeAepky)Zsv{CF$%2KdBs}yLaONyHC!;X_OAbQyUe?G;2V2tBzW@C zo-KISihqZ%iI1`Sc6GQUoo$T=ZSrrFT$9$d{*TTy;F52X|K8!lGOaZ}YNMAA0mcZ~ z6-N7zkl@8v48NBu5hbSa7gd)Szu=Y6QnkvO5tS&;R5ZaRh&X8dA_q#q{07YB>mu`R& zNJcUGKw#Bi=_}TJsdsLgL5uF>ilu{KdKSF=%faRg&tVz9AAdEP(}OQco?ARGsQWI> zxw~NPG<32BNMXeh$3V8ATHlJJvtoajuB!R{xWrmdLT*zc%P~gBj+b)jzIZKCR#rx_ z$+czO;JmFe1^nhDw9WYP@Iut{&Zh^ld)BdNGHBT;HB21})#eCk^*E{0-<1upv6Pp$ zy~dFtcnnWI@5WwJtuFe*3FW0UY~%^oz6&}!2l^>PaNJZ8C^Bd{ID=(ukw80x#YGJT zE^9kkf@MD=4L)bp2k_59-#0BP-$+z_0;(=Nv;}+x{<1w%A$-*$ zD>m*NY(RC0K}I4U!Om?M2$Pk9d3zl&@F2=Ei?W{D^~WSA=;fSox2)VMkCCYGB@~({?}+P~=izepC}EXc zs;;ZB36>7~O_!&zRvF1?+u3CvTY(!U0cI@&X8;g@dDK~h3C?*R3SQ+mpaQkm7=RTz zcjzvsXFAS1z69?K4~vXKrQ!tuhts@V$P4cu5UkrBT8}=XwT0>lpAuRxQCMP_baTl! zMAlN|n%mDDU8O)+X`C=Q&1{+*{N*yo?I4ePnj>k_pwAqn+_09Ap(~MAB~%}$6k|ze zf(8MpGcQzWzI0v4slF-5$E_@7W=(LeF)L;geHAJ&u$*<}2r3F?jiQ_myOO(=eS zvMH{DUy!ONBzwpL)JZ3HhI}5Jgj`YgJcrFjsE?)K1~1lcyghhl`7hCqz;s1i@vHnI zYkxReg!$LuKZ!tqf2hfJYz@XFkW$@)VcQ15z{2vrOF@8}X+V|mPf$WKgM|?g8PVMb z;st83FJZ6M86Y3MmkP&1_yAa)_k#D-$gxoO_3>bx{bV4K{)^wA&BcjgkFR`Yz&}GV z;Zg_B(=k8)sVV~ENLigI}100E8KvcKB zZGC@xbRTk}UEHDSt#(eqLQ@u+!k6TNJqXrQ7DRP5c1HJr59O(QRZMSfSayYgEC%G4 z8X~}?83G1Qg;1^|Vk+>DJsP$M+?^sS`!+i+!O73;LSlxWN>BVt5hyAxcD|OKxX1xc z;V6%iH5Kk07^)sv3D`oHl1nmz0{GX|9!FBEs zYIA4!>XQk-Zr;)J{bOA(bC3OVfF}*z+KDe(5LzLVaVag+Q6PrDotit1;Ew*j}w4r3#sGA26PFSzz#2Bkdy*Fhj1 z!CJL6S=1kBtA7S6S4~nc^Ees)BM1ZkJVdMz_If=-|2i*~hBVC8oS=Z3N~jtJn^G;w z3Fgq4`;5svHNwJ*OIiz|L55G9KI-g11%Gua5oC8E2d{TDyI6(eA-@un=<&z0jF(Eu zB$8^#*WCIE=?p)p2&RY@&aCc%6$Pei6*+;|`)lVM_wHFrM3!&ji7D@*jbGU+)Y|Ls zP=4RsJJp$63yklx^q?$H%B2ZEgk!`!3HX{(OuqvI0cCShEu(l~0D3Iah6{+J_d5*A zvUw1A)%BVgEXA9Z2sd`i9gi|wm)!((8}D1oNLw#ReT3zCy=+(&(zpsqMc^2}c86}c zGHlpLIE3K6Q~9nZ(N)w4kbbheRPdY8Zmg&hV7pvgny)1M@^)>H?<^8Y>#Pe!csCN| z$6Hr`XQ?zPV$sv%SF>x4!$R8T^S9=mVuS0ReVCZG$Tb)EYQs|a6#4vvGLz4mJpg!1 zpE|I?CBe)V!NvPFAywlPlMwIR!}H?=Mc*B5dywz#nRKmoBLzsr|Kbp0j_umq&%GGb ztd@dbcGI)!dadyi!>^e9_#rGx@`qf|gbK6!-kzPoLN_<~ zzfo%W`#uqQQlrJowl8*!>>!OBaE+a>W282&H=|_*^>Xs7x2IEhqYsJ!qL4;&mOXtc zmBMhT<8F%N)(rX5;1|Wx3;#+dcp;98tE2sQqJue%NSU*7^ivz@fBn&|4Pi$Q@;csv zUTJo=7tdF*$mVx$SRTkRHDGr#VeXjxsubbKVd`)%6g`IeObK3GH;|g3>%cv3(BhN9 z?v2>?ZJo1XU)4))GE4uLO?Tn08M_RK3BIweGAPZMbj!*Cyja?STR7R2O?;-^-Kxiv z^WHrz9~kSqJ5ziqcGs5aU+ec55&8{}GFENci+}Xq#b{I5!TjLAK8dr9K%a!|d{L|%!-|~$ncO}dxW*AX4e!!}Xy!U9rMvev?1I^qMsl^X= zGmL6%71XFBllzg?P9&ex?hyLlB1vflnwh669jOVIVy#nHS9f z@%5i0e2$=U9!qMV>Od?PwpX{Qeco~l>ua{^^}BNPKk@`ERF=Hj^Kx>zk!-|sj<1?)U@Eywo_RNBCWr2g7%f9%#~yd$P>+>rc~W!?y-RoAO>0pq zj>mOFyuI3uu8hY_s@2Qpz%)U@6U7#n znHm(*2o%mw6rQmDg#1poQ)Ra3sZrbzTBfZ5IYaeNo--t$XEqt29@eWaP>JUP3V!p_~&n?czo&jY%B!Cpy#f#|9UXS zd=RHCxshH`NKxx`m(#vugVFAMn@NSKI0~k%6VP$(T@nKSSfZFp59kDtm7 zQ#$KRJHo`qtHds?$UZaX4g;r!4GtKmmx4!D5TkB7-NN%1EIKZD*+ZuiOz(A~6Yb{2yu_D_5CK$RQ9YR?`sTgaf!j;p@HKoAARh ze?Phf7!gfkodH^2TdBtl@|aobzgcejSxABMgAlG%1k6kI!TgLMT8&3Q zkrWzHW$a=ph5Z|iK+cF}eq&b8aVC4>q|q7Mjd38(D#d{Nidl&tu8zI+`l=n6bTI+#1$;My*1EhSaTP zK%tI_f#*T_aZt&D;3YQbU}_;0GbAZHa&xk;hp4JZt0xHF5mx;N3vNpy=+c$&XUL|X za>I}ySE8T5%Q$kNt^)>g2(xb0We6Ko!?p(*0>$XMQM;{RtjMDhnsxl?Kd$nhXGL1F z_QWnE;Xl5W_P9SK2KSx`0j--i{}EMsfV~&o3C8~%A^b%R>j7SO;D&z7468tpEblcN zB#SsurIM<|DWmbLzQ|Qg(UZBL+tzEgKsIjRtI>=GPJjY|L6=@|e_V8~Ym(r<(B~PV zv3!|D5m!k?91#d;bq(o$w+1ub*i3eRDvBgbKA8yj?^A96N~kI63LlF9<@?Nz1|Q!w zmX@LGz|4uD(NRj;>d^r}5TKX8B|jm-^hji3>DbYA#NyXIisWnGV+6Ga4%A;^c_gyA zbnKWGbMh972I}IGQzHtnXIeOz&9+BRWsE;jgbdx@#o#qWSU6(&>ps3u2Z@gOs|aDk z(ywO4phZMjz$QfVkq+;Vinr15h-c7+Q=qBVa$q8eIk^%4ps%K9M$2VdK!RvR99nNL z@@E5H5>jBJjzrSPiq5GykbTWEoj5O8U^&5<^kT$SWjW&Nw*CD4weK&J*`q)&Zq!esLds(`iI~hqi0KDl2<@JvfWK4 zj*2e#>mY`5^5JkW;(8DT&6+NeUy7Pd6k5*er$E>nLEYe&?GM>_^@C)xT`c!9!mXDQ z)O5F)SQ*P@rlwMsFX5M{?HccGjoY#GlX4VeOG$br9JX-f?ilgIrAaW1uNbCz7YH>)#C0|bgW z#YU{71x2@&BO~#JpXB?)IwtcMr~Db>gsJ>Y(j{)ArhU@pQ6BC17JcbmUaYN9HwlV^ z_o-a|C9V&m<@&aZJJHlgnowOxbR<1p-`lgRqZnMXgF=LmgLFhYFcnlBAnCv8jjeF2 z>QEh_KJJ?%o4>}gm9(v$+zfUT^!)Si?uz7(z_E9W%o2{cSrq*#ltL?`f*75laYHATLdNZcpx&7Cy=QvbW zCE80&)lH1yfCY^S#Zi42fAH&iUuu|bE{L|Tw|c4afUjoIr}Uj~d(g*z*=JDLM7@z| zUy29NzR$cK>EWtvbUP_!)}fU#pa#&146$*&9-sDvqUXbzHblG6*il{<&GGu9z1u(6 zCAq}Ip!73$^ahzNraXx7POJ_ok{$)mID`WZ)3Pn^+T)`O-{G_aAO%DokIA7sS-lF_ z+Oax5G=|0}c}yb298caV19-lVK@mymE;kz|Kwl6dGe|wQ(WVHtmaDF-yKSae-H$P# zUubAMfBl!he>EV*bN*v#<=Hu2lR}~R{GHpehtlopB~Px-A^nG<^v3H7F)LPK2lK7B z<19?a&1x&A%>4QK{|F52p1xs#=FhlyVxWhFplZr{83*u3a0#m?@2nB{F3cOQ4E9T| z8iTuVY-~vYx!&R9s>o6dXNWM5xl!}|fV^Yr>4;wE6oG5vwV5oN>Fb&DgrKYnJxRxQyXbIqmT(K;_S-IQIKuGl#!=_TT3I4ARDq<`4 z7qM~(dX}G7B|e~J zDmyGTm2CaeQa9Y`-~K(AqtpHja3AxhmHfYZa^|<>t$mK@=02PLXwfC0C~k9KeT4vosF_sj8wLcoFZKU^ z&+oTO79Nn33YRPm1+=x#RIHWo%`3nrNg!w=*{bS=(n1Q!YIT8a(r$-;Ed>{Q(33U zt{bJ(n-~pZFecM)NKpBc!`_0A1fpbc?{lG4l8eK;dF*sn_MCb6^~f>UovDK&lG_C* z7~83m8{-5pB#j>QD7b_t_c+OHFc)!t)dnproiEF`rsS?{OP=q9p*3t(a_@xhr#kyl zDj(7JNXEfW5-1;0-*p4`fITI}2(#TsXUfG;lD(1u1{wYYh93iA%4eAkjqP3rVvl~; zcOM&vFD;|r=Qi;?)$N}J>IA@Ft5EbW({wBV79Hn>xMo=gW=Lhm+^T*HRhrTA;>vZ$ z0N$KhSnP)g>`>eC%!FZsWBxwwwA4$X8sP9XUG8C^4|s*PJ42T~`$hW3-xt0T1I0Ie z@#VZPi)v%<4y{hLrO`${&2^41cYORWiz{RA8h0nmBizA82RwHnw*CE3YoZ#CXf@r1 z+o#lC+81jc()h7utZ-tLkp0NXlT!7rw|^~5a&PQRNOfwO^ItURZy37ZVR#{So?pxu)gq6U zI-7lU<#RHT-)>gQ`DL`@WC;ah}IkzJB&Y$z?$Ndq{==1g;e7HWh<<6{7 zHZ_IF**>gq3=q|FT|XMXm=8)!-NV|*zwh*bg0q;Aov=seY&EWx~ z4^kjT7n3OB5hfLYU9uDe)gc=L@tddyG-Ui8kLR{!#B_ph`D!lVx3nSIH^o&R(wZ2E zj4~BsZA$!lf5-w-0S&?+kN-#>9;L0+?>e1;oI{2J7q)1cGKOqhaEj5Ba|uC1r9AWs zXN=Qk3jR@%zkh*HsDh(fdF@gMHUlfzq5~|%@w=K9M-Hk^T4b0rR{r?Mld=nVDQ}Qe zU$IYJlYtQ@SD|fpLT{>llzmz|slhX>FK_wtRKqoru0OFO-F&veuy6ViCu})tW`iTJ zNb3PWpfLWUn|{-jJ`YxMfhFI$N1%`7TW&U{*joZqh(&sL?bRVEAn*P6SH32aH)R65 zM)mvv2PMbhTZ?yGawX<<4eU3o|5xnGSf2Ft18@;K*Rm?4baXBA-~0x;y+AF71G(I_ z&Fm@@!Ulg3g7*%(o8LuC#v=1asGzSH83PM{)9pxRvt^8TF`Yg!npp+MGwreJqavaW z6E6A*o(#x*K-}atmN@*lOrqTHQFBpsdzQVAtj-|IU%1Va7&4Mhja1u&1?s9GI6FV5 zGui#sBZfC~@0@r>F>9)=EzLG`D%XG5*_O8mB7g#EFtWz?6rBKqiDL29lo@i>V>+Jqzyq=9J4oI8t|ekt_D+e@I5u;doK$Or+gu0E&iZcP0}XD8f!w&&)9 z6-o%u@~>TpwujXRAJrf|dwc|gQhHk>m)iT}MXDt;TQyX;*3WsW zQeN?5C)hhn1WYr2KV&18P+tq5=CK@lEWnNzM_|%E#?UohM?jI$u*@f>({04iv(@3C>-p{7}#r!^Wps!j~^FrRNEOLve+P(0Nd(JRTXuVf9|$_4~}8f8@x3{3e7~HSao|o*(yM>*O@@7TuRyPQf(Cr+1j&~ zBk~Hh|F|5>jJVox3kVTJVGEub0^U-q@}!KwI4@bmNcK^c={QAVgT-DGB6gFnPRy_H zSX;D~lOoHDc0BBOU=Rj5`ECDc6=UUULPbe2*c9m>|7ga}l|f0VY-y|#qryw}A<#E# zF$s50l<40<$J}W$Bkf&#j5aKmL+o4w0id~D7&`b+Hn~ICrfH)#)ljX&@2Qn@WD^bJ zXoH@RyC};uOIo3jdEp_AM?rGmRa)QQ8m|}qc;Gn!6JSkcv>?g~WcvOxD&lqgsBPRZb#ZN}B(rVrnSv^TUD=dTpw`AgX_S)1 z&UiOPC%j*y$Lv1Bsa8D&5Z)3sHw2<*+ppYo88Y=g>DN=qD)0s<8wiy)|Hl^%MJ(IO zP0?7@i;r~=G(z7C>YgOvDZPr_0_>)Xrw$^&tzjDmd4ft4)2twqK@y;KM_f9TTpoz;+&a@I`KOJbiMg9fgE-X4IU zt3R6zZVWA3JsS7=*6TiHkJIKrY!Bs9HG6jo{ql&fh*Eu*k+6R7vJcp6S*!U8y1Z_h zsq|4Ou9qNkr<2{?)o$tcYahT@QQ5(VwmNcVP_0;H$1){NpJCxL0&&!efLdL1HswKZ z4c8z>j_rp64vv49Yw|YtzrN2&aT;e8~;;oxTOF`S_v4w4y+RAsxx8Fmj=#0a!U+BlR<>#e-( zZW%YLlaIxktJRB#q*SWl-(74*$##Xpk6i?2>=Z6%RK{cOn_Tv{g>@DtAFC&x=C}$y zOs}J85u?F$VGv7?vANZJp%w=T`M%D7RIyCznsB*4#cj}_ACWp`^U#^xyx^g8MzZNf z7G0?VvPwQ(hY-@dZgEQH%MCaDTWug_0}{taiQl8n6ZDTHn}xGY8Q9GptWw@5)4cEV zjm&c8q+ur5E_pS~r^JdxM7mptdI=TRwQjj`mKL+N;OVLSqLR$f+!du(;%;x0n*N7q zM#=);ydz!qKbPnvw&vJv^*P@x;j@SJjs+s3JFxy!YHcEB`*Bt(pZCR6NT2(U&^S)z zVXLdCa>88%&c~{$1KdgGM4me7I(UmlC=<8=y_)0MUT1vL^&PmQGo}lL*=WJFa{jwx z`r&}f3=oz{cKsKHeQ&O}#gY)?GaWSKKofsH1KQaCAoj!d!UApAlhWDzYjf&Wr4hFz z?-a0`(2L5$R5TyOf7y9*AAUxeHQxA|v)XFZn2oCdI*H}k=i4Z%>>x(*#{z%l?~<|X z6b>dgk4CTk+KhZqG3wF9?@8&gXy*%9+O<#B890~e=r&npQ8V4X%N|s0RR3GBY{OF>HqD;tgJ-Y;maY8= zt}{!xvs1$>ow*;&;)KLBZub{zTL5W~>e?FZC3weHsZIXfsA+>9eEBNYsUur0k8S&d z{lNiU+FGtid)uG71T=z_9+b&8(DflqosLkN`8jC$@G(mX5?!QjpsFJ;V8$6ubb;(- z^Kk((n$S1wec&>3qR>GF2K&~6UgQ&&xxuO$H6)=HD8liTR2y*{f9IJ}N#zu%VDzP` zLiV5rpIO-vB_t5TzvS=N&c|(Pl7M-I^EPU7_4^G%RgEZF|51%rE70^qRMW@)af%i_ zGAKPF3JZ!?Mb_mf(inK0I(%15@k=)JSdN8`iWE1xHy%IzdDywGu@e%`GB diff --git a/bitbucket_lpc1768/.hg/store/data/_c_m_s_i_s/system___l_p_c17xx.c.i b/bitbucket_lpc1768/.hg/store/data/_c_m_s_i_s/system___l_p_c17xx.c.i deleted file mode 100644 index 2eb572927efad84388508982a548d8359e794325..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4456 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 HTHg)*9X2Q^ diff --git a/bitbucket_lpc1768/.hg/store/data/_makefile.i b/bitbucket_lpc1768/.hg/store/data/_makefile.i deleted file mode 100644 index 21bf2714dd8b0edca1278e63911738bc2054728f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 935 zcmZQzWME_f1Ex<546NA@HUq2qJm`+{zWagKJ9knx^_DvBuU2XA^O+ZWWvCpkF_QmHGaNG3ioP6Hp>(|zN z`}NBor&Br#en+*ts%$np*b|f?+oaDdx;o~iMRFhW)8*W5lXv)JE3!!Q$1PgezcQ}L zCbjmxXvdOw-T~+9xnx*p^KF~gSSP4@M!Hr$@4(Dox;Jy0Jft>y+fCs6M~*hGmiwVbgx!b&ZjcYZ84>S&*^PB4i_rwvgvVQLD30 zn??5?E#IfJ=;y3gyg{svg4|MlQ%`AN0& zc6e&*CRv;=`eUQFY~?PG))t3WqvXdIk3N6+=2~%@@^`N0W9v45|97`hw8bX+){2(L zXXi}PJ6$QJ;=9%tR{z=pwR$?$pBs7OxXAfUWkFWo^y-|xVtxfJ; zx7K&k!m6|{DQC*gFB89S2TY__XKj;IerM&<#@Hs|8^xpZV#Y?bLyuugXvS#N{K52& zL4(!_1GXKFyX^k{;@Mo&nlSsTsC!w<#C?5*^D|akU2WUAwv=&6wl3el$*vJUKHa?b zOYJv%(a$_hP^t&z6(BGL=9sBq76St}hz4bv$Ci#KOS0t6rZDovul1_ax;^!iBvcKU zs+g0UkZ|)9!!e$ynLl^2&aAAG4C4w2D>M{e?zO-vFSM}8Eh}$TQ&(@(+@>yOadC#c Hjl7!y+B31= diff --git a/bitbucket_lpc1768/.hg/store/data/io-pin.h.i b/bitbucket_lpc1768/.hg/store/data/io-pin.h.i deleted file mode 100644 index 8f6844a54ea77f337ae02173eb4a3aa09554d8ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 835 zcmV-J1HAkI0RRC20000000RR601SNq00000000aB|NsC0|Ns9{jjPh<`y=DoG@_#K zdoF7HjvWpF00000000000001ZoVAtRZrU&ufba7ZM^vhkisrv*>CZ04x-C;zQ0b)I zMIkZZktUJjlvZ1B_HKKx9S0~)+ZaJNB!q2zK7WpnPmDbU_Q3DKs7xbHv$TLw#^CaM zA1?Y`>(D#WK^>Enu#l4&Ml>O9h$bYO0?qbwn(9TNAwp0Fgg}@S*)dEw&yNjbNcpgg zriAMm8yi3J$Vl=?FpWh-H_PuC9Zxu@kp{MDnQ)PvpTj9c0cr;QpN;Y-LC_GU{t%myVEBvMImW<1Gv{9&lrcFO5cPtFxyJs!e7V6hK&u+ z#fF28j)x5w8Uhmtrh*-?O%}5x7y6mNyrid*RGs>fhx)`c<1rXtBfC;*;gJT_6Lx88mOI#SAXz;1;_ssow zAN?Ng8FoRn;Pez05IlBMm_C9WyCQi`1Idz*9J_|{+zQn>Xh7K#l;_q^9j`)J_F)6d zk+3>mjfEL9haGepV6Fs)(MuZUb66&P33)APP8R~ zqntd=kv51nN|a>NbfF_q=Yfk^;!{ta!MV6Bjmd*s1Ck)RDZYDgwI=@gvuesnsjMZD zUFE05){@xP01dh?vRgz~+SNBZf>qvZSfCk@JZm(3> zl?Xq%%MxQ(Vq7P@RNk&cys0dR*IlhB)Lw-6-KI8((6h7UOS8F1eDJT}*ITND0POy| zGO^yZB1*ZPIQC&^}N^Hy~(q5giiJ zgd#V&ZOt+#avaua>mS~Y_u@K9({uy0ArUE(eSPlNIoIAwxST;ADKVKO=xSVO%d=yg z3W<=VO6Ty*4*C!bAlQXq4}#~6tq}@mBG;%4>NFUJ?*jj<53ALnS?xBfy=G+sxjSIN z4)|vvh7uLm7{gQ~*oA10(ItqqmkH_QIinCJ$`}!N zlBfGH*E-vG-HFhXBDzHFq-y4V%OW?)A`{cCJ%(v^qr_~k!HyX0_6JmZdU66i_`olV z2?Qe53Wh&_@QfS$`CR0XsdT3J70^;)f;^|X3K^pUJx7pu4R6NBkcbFnjt;rG)|QwO zU`l<4fjB*cSq9A$yYRLJ=A4D;>AKi!wwh>{nJEdB*S7EA2<%**hR$ZR0o zZP)gWUt!HG5F9A$1eMcaj2&38o;ZJW>W@yKQ>O_-Aq@**ct0*ruK7(~A2ZfjPi-&1 zk(w`hsz?y*{95Q}UUn!`>U}lRpz$h8XzEIuDwZm&U13?tM)N%orS&~tpSDy@CCx3X zC2MCb>xyUy*V2LGIJC=)$pFY^>KcGx=7{b8DV?`!*XZ7|6J@+e^gX}d345>!nJDC! zE!%R*EX%9pvxL+otcLj?$+PBco<~~n9x8xD*o{F)6?TWG*xO7p&Mrp`81En2Adnt3;q90s_{QMTD?b) hWcS$r1YYOvsPi8gu5xTYJ;$S2-a;9R=`W(WCUivPmbw4{ diff --git a/bitbucket_lpc1768/.hg/store/data/main.c.i b/bitbucket_lpc1768/.hg/store/data/main.c.i deleted file mode 100644 index e94c717912067164fa88dfee686296b29fa44e46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1419 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 diff --git a/bitbucket_lpc1768/.hg/store/data/startup.c.i b/bitbucket_lpc1768/.hg/store/data/startup.c.i deleted file mode 100644 index 52a9a45cb96d4370b9be1df28eae29901fe3e15f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1172 zcmZQzWME_f1LhqJ3|xf}HUqSNP zSE%{9mVJKp+tu&)|6b_#V!?y#=h?z}OIp;gOnQPQgA+B3?0-bOb2_t|v!?lH zi@x4Iuc!|~7xpijk;W~drF-&y&iAAPvlAxYaWE)k|E=&6YYUxYv5Wm1 zzN}#Q)xSJqO98*u+&txbPr`cAnIf`m(*pk1-8#3+_lVyeKBclnWda*zHy;jr+xA8v zNjJ{DY9El-adv|2;fS^HMXjbYLGT!_+hFvE+^gy<6uUJUzGVz-(*N^RsWKo~_>9dV2Tt>VIoRb@aEdE>ztfS;Dw8 zGDLjoVIzBF|optsf3>uuQ#v_0v~^>$&+9Hsty7uKT$|E-ZAT3QN(H zclqAU5$!yu6U6mbb2=UB*EzDAbK>0jlS9tVogcnt|6*O^^Geq1zRXz8J((*{OI5dW z%eknFEcV+YGmINmPpi(KuCv`gL%i(|R)!-dXB9~` zEt>wqUU+BBe^A~9<#-^70p|OKU={ySABP=JX8%# zsT5GT9*`rgoSB!LQ<{>hpyccu>=~@@6X0xUUQwZ!p~S_&z-bA=44MiG`uYlR1w%vO*m@x1GB-H+d^+!zw_x2NU*majVCtq?B&V>Q5r45?l zfgd?{;8976YuQ1Bk{ONKhf)4W5j5>WRX6vhd_1eub)K2Y4YAOzaOZ!A-V~*4zof{? y%ugn-$mLcj3uKt>cCv<-RA`gD7>XW!x_wh9xxvBGk^~qgl*t-YdVIAC-D diff --git a/bitbucket_lpc1768/.hg/tags.cache b/bitbucket_lpc1768/.hg/tags.cache deleted file mode 100644 index 6b22c07..0000000 --- a/bitbucket_lpc1768/.hg/tags.cache +++ /dev/null @@ -1,6 +0,0 @@ -11 dea43fb213fffca688938b96a265a788797ef3f4 00b4faae4502de06a90031206454daa0ded1369f -7 41ecca7377d50d23f66177ded872cd5c03503035 - -0000000000000000000000000000000000000000 2-simple-blinky-100MHz -0000000000000000000000000000000000000000 1-simple-blinky -0000000000000000000000000000000000000000 3-systick-blinky diff --git a/bitbucket_lpc1768/.hg/undo.branch b/bitbucket_lpc1768/.hg/undo.branch deleted file mode 100644 index 331d858..0000000 --- a/bitbucket_lpc1768/.hg/undo.branch +++ /dev/null @@ -1 +0,0 @@ -default \ No newline at end of file diff --git a/bitbucket_lpc1768/.hg/undo.desc b/bitbucket_lpc1768/.hg/undo.desc deleted file mode 100644 index bc8957c..0000000 --- a/bitbucket_lpc1768/.hg/undo.desc +++ /dev/null @@ -1,3 +0,0 @@ -0 -pull -http://bitbucket.org/jpc/lpc1768 diff --git a/bitbucket_lpc1768/.hg/undo.dirstate b/bitbucket_lpc1768/.hg/undo.dirstate deleted file mode 100644 index e69de29..0000000 diff --git a/bitbucket_lpc1768/.hgignore b/bitbucket_lpc1768/.hgignore deleted file mode 100644 index d7d21b9..0000000 --- a/bitbucket_lpc1768/.hgignore +++ /dev/null @@ -1,8 +0,0 @@ -syntax: glob -*.d -*.o -*.elf -*.hex -*.bin -*.dump -*.map diff --git a/bitbucket_lpc1768/.hgtags b/bitbucket_lpc1768/.hgtags deleted file mode 100644 index 51825a5..0000000 --- a/bitbucket_lpc1768/.hgtags +++ /dev/null @@ -1,11 +0,0 @@ -bb46c18616910e1ce3f962a2831a888865057518 1-simple-blinky -765e4649efad723b7bf4d47773d9b784e5d8f9c3 2-simple-blinky-100MHz -0a00a016c609c4a31f9c2b1fc7dc4ea5958ba8c3 3-systick-blinky -0a00a016c609c4a31f9c2b1fc7dc4ea5958ba8c3 3-systick-blinky -390e9530c93f57868311aa2ab69c67c4cce2226a 3-systick-blinky -bb46c18616910e1ce3f962a2831a888865057518 1-simple-blinky -0000000000000000000000000000000000000000 1-simple-blinky -765e4649efad723b7bf4d47773d9b784e5d8f9c3 2-simple-blinky-100MHz -0000000000000000000000000000000000000000 2-simple-blinky-100MHz -390e9530c93f57868311aa2ab69c67c4cce2226a 3-systick-blinky -0000000000000000000000000000000000000000 3-systick-blinky diff --git a/bitbucket_lpc1768/2 b/bitbucket_lpc1768/2 deleted file mode 100644 index e69de29..0000000 diff --git a/bitbucket_lpc1768/CMSIS/LPC17xx.h b/bitbucket_lpc1768/CMSIS/LPC17xx.h deleted file mode 100755 index 7019e2d..0000000 --- a/bitbucket_lpc1768/CMSIS/LPC17xx.h +++ /dev/null @@ -1,1038 +0,0 @@ -/**************************************************************************//** - * @file LPC17xx.h - * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File for - * NXP LPC17xx Device Series - * @version V1.07 - * @date 19. October 2009 - * - * @note - * Copyright (C) 2009 ARM Limited. All rights reserved. - * - * @par - * ARM Limited (ARM) is supplying this software for use with Cortex-M - * processor based microcontrollers. This file can be freely distributed - * within development tools that are supporting such ARM based processors. - * - * @par - * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED - * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. - * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR - * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - * - ******************************************************************************/ - - -#ifndef __LPC17xx_H__ -#define __LPC17xx_H__ - -/* - * ========================================================================== - * ---------- Interrupt Number Definition ----------------------------------- - * ========================================================================== - */ - -typedef enum IRQn -{ -/****** Cortex-M3 Processor Exceptions Numbers ***************************************************/ - NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ - MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */ - BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */ - SVCall_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */ - SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */ - -/****** LPC17xx Specific Interrupt Numbers *******************************************************/ - WDT_IRQn = 0, /*!< Watchdog Timer Interrupt */ - TIMER0_IRQn = 1, /*!< Timer0 Interrupt */ - TIMER1_IRQn = 2, /*!< Timer1 Interrupt */ - TIMER2_IRQn = 3, /*!< Timer2 Interrupt */ - TIMER3_IRQn = 4, /*!< Timer3 Interrupt */ - UART0_IRQn = 5, /*!< UART0 Interrupt */ - UART1_IRQn = 6, /*!< UART1 Interrupt */ - UART2_IRQn = 7, /*!< UART2 Interrupt */ - UART3_IRQn = 8, /*!< UART3 Interrupt */ - PWM1_IRQn = 9, /*!< PWM1 Interrupt */ - I2C0_IRQn = 10, /*!< I2C0 Interrupt */ - I2C1_IRQn = 11, /*!< I2C1 Interrupt */ - I2C2_IRQn = 12, /*!< I2C2 Interrupt */ - SPI_IRQn = 13, /*!< SPI Interrupt */ - SSP0_IRQn = 14, /*!< SSP0 Interrupt */ - SSP1_IRQn = 15, /*!< SSP1 Interrupt */ - PLL0_IRQn = 16, /*!< PLL0 Lock (Main PLL) Interrupt */ - RTC_IRQn = 17, /*!< Real Time Clock Interrupt */ - EINT0_IRQn = 18, /*!< External Interrupt 0 Interrupt */ - EINT1_IRQn = 19, /*!< External Interrupt 1 Interrupt */ - EINT2_IRQn = 20, /*!< External Interrupt 2 Interrupt */ - EINT3_IRQn = 21, /*!< External Interrupt 3 Interrupt */ - ADC_IRQn = 22, /*!< A/D Converter Interrupt */ - BOD_IRQn = 23, /*!< Brown-Out Detect Interrupt */ - USB_IRQn = 24, /*!< USB Interrupt */ - CAN_IRQn = 25, /*!< CAN Interrupt */ - DMA_IRQn = 26, /*!< General Purpose DMA Interrupt */ - I2S_IRQn = 27, /*!< I2S Interrupt */ - ENET_IRQn = 28, /*!< Ethernet Interrupt */ - RIT_IRQn = 29, /*!< Repetitive Interrupt Timer Interrupt */ - MCPWM_IRQn = 30, /*!< Motor Control PWM Interrupt */ - QEI_IRQn = 31, /*!< Quadrature Encoder Interface Interrupt */ - PLL1_IRQn = 32, /*!< PLL1 Lock (USB PLL) Interrupt */ - USBActivity_IRQn = 33, /*!< USB Activity Interrupt */ - CANActivity_IRQn = 34, /*!< CAN Activity Interrupt */ -} IRQn_Type; - - -/* - * ========================================================================== - * ----------- Processor and Core Peripheral Section ------------------------ - * ========================================================================== - */ - -/* Configuration of the Cortex-M3 Processor and Core Peripherals */ -#define __MPU_PRESENT 1 /*!< MPU present or not */ -#define __NVIC_PRIO_BITS 5 /*!< Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ - - -#include "core_cm3.h" /* Cortex-M3 processor and core peripherals */ -#include "system_LPC17xx.h" /* System Header */ - - -/******************************************************************************/ -/* Device Specific Peripheral registers structures */ -/******************************************************************************/ - -#if defined ( __CC_ARM ) -#pragma anon_unions -#endif - -/*------------- System Control (SC) ------------------------------------------*/ -typedef struct -{ - __IO uint32_t FLASHCFG; /* Flash Accelerator Module */ - uint32_t RESERVED0[31]; - __IO uint32_t PLL0CON; /* Clocking and Power Control */ - __IO uint32_t PLL0CFG; - __I uint32_t PLL0STAT; - __O uint32_t PLL0FEED; - uint32_t RESERVED1[4]; - __IO uint32_t PLL1CON; - __IO uint32_t PLL1CFG; - __I uint32_t PLL1STAT; - __O uint32_t PLL1FEED; - uint32_t RESERVED2[4]; - __IO uint32_t PCON; - __IO uint32_t PCONP; - uint32_t RESERVED3[15]; - __IO uint32_t CCLKCFG; - __IO uint32_t USBCLKCFG; - __IO uint32_t CLKSRCSEL; - uint32_t RESERVED4[12]; - __IO uint32_t EXTINT; /* External Interrupts */ - uint32_t RESERVED5; - __IO uint32_t EXTMODE; - __IO uint32_t EXTPOLAR; - uint32_t RESERVED6[12]; - __IO uint32_t RSID; /* Reset */ - uint32_t RESERVED7[7]; - __IO uint32_t SCS; /* Syscon Miscellaneous Registers */ - __IO uint32_t IRCTRIM; /* Clock Dividers */ - __IO uint32_t PCLKSEL0; - __IO uint32_t PCLKSEL1; - uint32_t RESERVED8[4]; - __IO uint32_t USBIntSt; /* USB Device/OTG Interrupt Register */ - __IO uint32_t DMAREQSEL; - __IO uint32_t CLKOUTCFG; /* Clock Output Configuration */ - } LPC_SC_TypeDef; - -/*------------- Pin Connect Block (PINCON) -----------------------------------*/ -typedef struct -{ - __IO uint32_t PINSEL0; - __IO uint32_t PINSEL1; - __IO uint32_t PINSEL2; - __IO uint32_t PINSEL3; - __IO uint32_t PINSEL4; - __IO uint32_t PINSEL5; - __IO uint32_t PINSEL6; - __IO uint32_t PINSEL7; - __IO uint32_t PINSEL8; - __IO uint32_t PINSEL9; - __IO uint32_t PINSEL10; - uint32_t RESERVED0[5]; - __IO uint32_t PINMODE0; - __IO uint32_t PINMODE1; - __IO uint32_t PINMODE2; - __IO uint32_t PINMODE3; - __IO uint32_t PINMODE4; - __IO uint32_t PINMODE5; - __IO uint32_t PINMODE6; - __IO uint32_t PINMODE7; - __IO uint32_t PINMODE8; - __IO uint32_t PINMODE9; - __IO uint32_t PINMODE_OD0; - __IO uint32_t PINMODE_OD1; - __IO uint32_t PINMODE_OD2; - __IO uint32_t PINMODE_OD3; - __IO uint32_t PINMODE_OD4; - __IO uint32_t I2CPADCFG; -} LPC_PINCON_TypeDef; - -/*------------- General Purpose Input/Output (GPIO) --------------------------*/ -typedef struct -{ - union { - __IO uint32_t FIODIR; - struct { - __IO uint16_t FIODIRL; - __IO uint16_t FIODIRH; - }; - struct { - __IO uint8_t FIODIR0; - __IO uint8_t FIODIR1; - __IO uint8_t FIODIR2; - __IO uint8_t FIODIR3; - }; - }; - uint32_t RESERVED0[3]; - union { - __IO uint32_t FIOMASK; - struct { - __IO uint16_t FIOMASKL; - __IO uint16_t FIOMASKH; - }; - struct { - __IO uint8_t FIOMASK0; - __IO uint8_t FIOMASK1; - __IO uint8_t FIOMASK2; - __IO uint8_t FIOMASK3; - }; - }; - union { - __IO uint32_t FIOPIN; - struct { - __IO uint16_t FIOPINL; - __IO uint16_t FIOPINH; - }; - struct { - __IO uint8_t FIOPIN0; - __IO uint8_t FIOPIN1; - __IO uint8_t FIOPIN2; - __IO uint8_t FIOPIN3; - }; - }; - union { - __IO uint32_t FIOSET; - struct { - __IO uint16_t FIOSETL; - __IO uint16_t FIOSETH; - }; - struct { - __IO uint8_t FIOSET0; - __IO uint8_t FIOSET1; - __IO uint8_t FIOSET2; - __IO uint8_t FIOSET3; - }; - }; - union { - __O uint32_t FIOCLR; - struct { - __O uint16_t FIOCLRL; - __O uint16_t FIOCLRH; - }; - struct { - __O uint8_t FIOCLR0; - __O uint8_t FIOCLR1; - __O uint8_t FIOCLR2; - __O uint8_t FIOCLR3; - }; - }; -} LPC_GPIO_TypeDef; - -typedef struct -{ - __I uint32_t IntStatus; - __I uint32_t IO0IntStatR; - __I uint32_t IO0IntStatF; - __O uint32_t IO0IntClr; - __IO uint32_t IO0IntEnR; - __IO uint32_t IO0IntEnF; - uint32_t RESERVED0[3]; - __I uint32_t IO2IntStatR; - __I uint32_t IO2IntStatF; - __O uint32_t IO2IntClr; - __IO uint32_t IO2IntEnR; - __IO uint32_t IO2IntEnF; -} LPC_GPIOINT_TypeDef; - -/*------------- Timer (TIM) --------------------------------------------------*/ -typedef struct -{ - __IO uint32_t IR; - __IO uint32_t TCR; - __IO uint32_t TC; - __IO uint32_t PR; - __IO uint32_t PC; - __IO uint32_t MCR; - __IO uint32_t MR0; - __IO uint32_t MR1; - __IO uint32_t MR2; - __IO uint32_t MR3; - __IO uint32_t CCR; - __I uint32_t CR0; - __I uint32_t CR1; - uint32_t RESERVED0[2]; - __IO uint32_t EMR; - uint32_t RESERVED1[12]; - __IO uint32_t CTCR; -} LPC_TIM_TypeDef; - -/*------------- Pulse-Width Modulation (PWM) ---------------------------------*/ -typedef struct -{ - __IO uint32_t IR; - __IO uint32_t TCR; - __IO uint32_t TC; - __IO uint32_t PR; - __IO uint32_t PC; - __IO uint32_t MCR; - __IO uint32_t MR0; - __IO uint32_t MR1; - __IO uint32_t MR2; - __IO uint32_t MR3; - __IO uint32_t CCR; - __I uint32_t CR0; - __I uint32_t CR1; - __I uint32_t CR2; - __I uint32_t CR3; - uint32_t RESERVED0; - __IO uint32_t MR4; - __IO uint32_t MR5; - __IO uint32_t MR6; - __IO uint32_t PCR; - __IO uint32_t LER; - uint32_t RESERVED1[7]; - __IO uint32_t CTCR; -} LPC_PWM_TypeDef; - -/*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/ -typedef struct -{ - union { - __I uint8_t RBR; - __O uint8_t THR; - __IO uint8_t DLL; - uint32_t RESERVED0; - }; - union { - __IO uint8_t DLM; - __IO uint32_t IER; - }; - union { - __I uint32_t IIR; - __O uint8_t FCR; - }; - __IO uint8_t LCR; - uint8_t RESERVED1[7]; - __I uint8_t LSR; - uint8_t RESERVED2[7]; - __IO uint8_t SCR; - uint8_t RESERVED3[3]; - __IO uint32_t ACR; - __IO uint8_t ICR; - uint8_t RESERVED4[3]; - __IO uint8_t FDR; - uint8_t RESERVED5[7]; - __IO uint8_t TER; - uint8_t RESERVED6[39]; - __I uint8_t FIFOLVL; -} LPC_UART_TypeDef; - -typedef struct -{ - union { - __I uint8_t RBR; - __O uint8_t THR; - __IO uint8_t DLL; - uint32_t RESERVED0; - }; - union { - __IO uint8_t DLM; - __IO uint32_t IER; - }; - union { - __I uint32_t IIR; - __O uint8_t FCR; - }; - __IO uint8_t LCR; - uint8_t RESERVED1[7]; - __I uint8_t LSR; - uint8_t RESERVED2[7]; - __IO uint8_t SCR; - uint8_t RESERVED3[3]; - __IO uint32_t ACR; - __IO uint8_t ICR; - uint8_t RESERVED4[3]; - __IO uint8_t FDR; - uint8_t RESERVED5[7]; - __IO uint8_t TER; - uint8_t RESERVED6[39]; - __I uint8_t FIFOLVL; -} LPC_UART0_TypeDef; - -typedef struct -{ - union { - __I uint8_t RBR; - __O uint8_t THR; - __IO uint8_t DLL; - uint32_t RESERVED0; - }; - union { - __IO uint8_t DLM; - __IO uint32_t IER; - }; - union { - __I uint32_t IIR; - __O uint8_t FCR; - }; - __IO uint8_t LCR; - uint8_t RESERVED1[3]; - __IO uint8_t MCR; - uint8_t RESERVED2[3]; - __I uint8_t LSR; - uint8_t RESERVED3[3]; - __I uint8_t MSR; - uint8_t RESERVED4[3]; - __IO uint8_t SCR; - uint8_t RESERVED5[3]; - __IO uint32_t ACR; - uint32_t RESERVED6; - __IO uint32_t FDR; - uint32_t RESERVED7; - __IO uint8_t TER; - uint8_t RESERVED8[27]; - __IO uint8_t RS485CTRL; - uint8_t RESERVED9[3]; - __IO uint8_t ADRMATCH; - uint8_t RESERVED10[3]; - __IO uint8_t RS485DLY; - uint8_t RESERVED11[3]; - __I uint8_t FIFOLVL; -} LPC_UART1_TypeDef; - -/*------------- Serial Peripheral Interface (SPI) ----------------------------*/ -typedef struct -{ - __IO uint32_t SPCR; - __I uint32_t SPSR; - __IO uint32_t SPDR; - __IO uint32_t SPCCR; - uint32_t RESERVED0[3]; - __IO uint32_t SPINT; -} LPC_SPI_TypeDef; - -/*------------- Synchronous Serial Communication (SSP) -----------------------*/ -typedef struct -{ - __IO uint32_t CR0; - __IO uint32_t CR1; - __IO uint32_t DR; - __I uint32_t SR; - __IO uint32_t CPSR; - __IO uint32_t IMSC; - __IO uint32_t RIS; - __IO uint32_t MIS; - __IO uint32_t ICR; - __IO uint32_t DMACR; -} LPC_SSP_TypeDef; - -/*------------- Inter-Integrated Circuit (I2C) -------------------------------*/ -typedef struct -{ - __IO uint32_t I2CONSET; - __I uint32_t I2STAT; - __IO uint32_t I2DAT; - __IO uint32_t I2ADR0; - __IO uint32_t I2SCLH; - __IO uint32_t I2SCLL; - __O uint32_t I2CONCLR; - __IO uint32_t MMCTRL; - __IO uint32_t I2ADR1; - __IO uint32_t I2ADR2; - __IO uint32_t I2ADR3; - __I uint32_t I2DATA_BUFFER; - __IO uint32_t I2MASK0; - __IO uint32_t I2MASK1; - __IO uint32_t I2MASK2; - __IO uint32_t I2MASK3; -} LPC_I2C_TypeDef; - -/*------------- Inter IC Sound (I2S) -----------------------------------------*/ -typedef struct -{ - __IO uint32_t I2SDAO; - __IO uint32_t I2SDAI; - __O uint32_t I2STXFIFO; - __I uint32_t I2SRXFIFO; - __I uint32_t I2SSTATE; - __IO uint32_t I2SDMA1; - __IO uint32_t I2SDMA2; - __IO uint32_t I2SIRQ; - __IO uint32_t I2STXRATE; - __IO uint32_t I2SRXRATE; - __IO uint32_t I2STXBITRATE; - __IO uint32_t I2SRXBITRATE; - __IO uint32_t I2STXMODE; - __IO uint32_t I2SRXMODE; -} LPC_I2S_TypeDef; - -/*------------- Repetitive Interrupt Timer (RIT) -----------------------------*/ -typedef struct -{ - __IO uint32_t RICOMPVAL; - __IO uint32_t RIMASK; - __IO uint8_t RICTRL; - uint8_t RESERVED0[3]; - __IO uint32_t RICOUNTER; -} LPC_RIT_TypeDef; - -/*------------- Real-Time Clock (RTC) ----------------------------------------*/ -typedef struct -{ - __IO uint8_t ILR; - uint8_t RESERVED0[7]; - __IO uint8_t CCR; - uint8_t RESERVED1[3]; - __IO uint8_t CIIR; - uint8_t RESERVED2[3]; - __IO uint8_t AMR; - uint8_t RESERVED3[3]; - __I uint32_t CTIME0; - __I uint32_t CTIME1; - __I uint32_t CTIME2; - __IO uint8_t SEC; - uint8_t RESERVED4[3]; - __IO uint8_t MIN; - uint8_t RESERVED5[3]; - __IO uint8_t HOUR; - uint8_t RESERVED6[3]; - __IO uint8_t DOM; - uint8_t RESERVED7[3]; - __IO uint8_t DOW; - uint8_t RESERVED8[3]; - __IO uint16_t DOY; - uint16_t RESERVED9; - __IO uint8_t MONTH; - uint8_t RESERVED10[3]; - __IO uint16_t YEAR; - uint16_t RESERVED11; - __IO uint32_t CALIBRATION; - __IO uint32_t GPREG0; - __IO uint32_t GPREG1; - __IO uint32_t GPREG2; - __IO uint32_t GPREG3; - __IO uint32_t GPREG4; - __IO uint8_t RTC_AUXEN; - uint8_t RESERVED12[3]; - __IO uint8_t RTC_AUX; - uint8_t RESERVED13[3]; - __IO uint8_t ALSEC; - uint8_t RESERVED14[3]; - __IO uint8_t ALMIN; - uint8_t RESERVED15[3]; - __IO uint8_t ALHOUR; - uint8_t RESERVED16[3]; - __IO uint8_t ALDOM; - uint8_t RESERVED17[3]; - __IO uint8_t ALDOW; - uint8_t RESERVED18[3]; - __IO uint16_t ALDOY; - uint16_t RESERVED19; - __IO uint8_t ALMON; - uint8_t RESERVED20[3]; - __IO uint16_t ALYEAR; - uint16_t RESERVED21; -} LPC_RTC_TypeDef; - -/*------------- Watchdog Timer (WDT) -----------------------------------------*/ -typedef struct -{ - __IO uint8_t WDMOD; - uint8_t RESERVED0[3]; - __IO uint32_t WDTC; - __O uint8_t WDFEED; - uint8_t RESERVED1[3]; - __I uint32_t WDTV; - __IO uint32_t WDCLKSEL; -} LPC_WDT_TypeDef; - -/*------------- Analog-to-Digital Converter (ADC) ----------------------------*/ -typedef struct -{ - __IO uint32_t ADCR; - __IO uint32_t ADGDR; - uint32_t RESERVED0; - __IO uint32_t ADINTEN; - __I uint32_t ADDR0; - __I uint32_t ADDR1; - __I uint32_t ADDR2; - __I uint32_t ADDR3; - __I uint32_t ADDR4; - __I uint32_t ADDR5; - __I uint32_t ADDR6; - __I uint32_t ADDR7; - __I uint32_t ADSTAT; - __IO uint32_t ADTRM; -} LPC_ADC_TypeDef; - -/*------------- Digital-to-Analog Converter (DAC) ----------------------------*/ -typedef struct -{ - __IO uint32_t DACR; - __IO uint32_t DACCTRL; - __IO uint16_t DACCNTVAL; -} LPC_DAC_TypeDef; - -/*------------- Motor Control Pulse-Width Modulation (MCPWM) -----------------*/ -typedef struct -{ - __I uint32_t MCCON; - __O uint32_t MCCON_SET; - __O uint32_t MCCON_CLR; - __I uint32_t MCCAPCON; - __O uint32_t MCCAPCON_SET; - __O uint32_t MCCAPCON_CLR; - __IO uint32_t MCTIM0; - __IO uint32_t MCTIM1; - __IO uint32_t MCTIM2; - __IO uint32_t MCPER0; - __IO uint32_t MCPER1; - __IO uint32_t MCPER2; - __IO uint32_t MCPW0; - __IO uint32_t MCPW1; - __IO uint32_t MCPW2; - __IO uint32_t MCDEADTIME; - __IO uint32_t MCCCP; - __IO uint32_t MCCR0; - __IO uint32_t MCCR1; - __IO uint32_t MCCR2; - __I uint32_t MCINTEN; - __O uint32_t MCINTEN_SET; - __O uint32_t MCINTEN_CLR; - __I uint32_t MCCNTCON; - __O uint32_t MCCNTCON_SET; - __O uint32_t MCCNTCON_CLR; - __I uint32_t MCINTFLAG; - __O uint32_t MCINTFLAG_SET; - __O uint32_t MCINTFLAG_CLR; - __O uint32_t MCCAP_CLR; -} LPC_MCPWM_TypeDef; - -/*------------- Quadrature Encoder Interface (QEI) ---------------------------*/ -typedef struct -{ - __O uint32_t QEICON; - __I uint32_t QEISTAT; - __IO uint32_t QEICONF; - __I uint32_t QEIPOS; - __IO uint32_t QEIMAXPOS; - __IO uint32_t CMPOS0; - __IO uint32_t CMPOS1; - __IO uint32_t CMPOS2; - __I uint32_t INXCNT; - __IO uint32_t INXCMP; - __IO uint32_t QEILOAD; - __I uint32_t QEITIME; - __I uint32_t QEIVEL; - __I uint32_t QEICAP; - __IO uint32_t VELCOMP; - __IO uint32_t FILTER; - uint32_t RESERVED0[998]; - __O uint32_t QEIIEC; - __O uint32_t QEIIES; - __I uint32_t QEIINTSTAT; - __I uint32_t QEIIE; - __O uint32_t QEICLR; - __O uint32_t QEISET; -} LPC_QEI_TypeDef; - -/*------------- Controller Area Network (CAN) --------------------------------*/ -typedef struct -{ - __IO uint32_t mask[512]; /* ID Masks */ -} LPC_CANAF_RAM_TypeDef; - -typedef struct /* Acceptance Filter Registers */ -{ - __IO uint32_t AFMR; - __IO uint32_t SFF_sa; - __IO uint32_t SFF_GRP_sa; - __IO uint32_t EFF_sa; - __IO uint32_t EFF_GRP_sa; - __IO uint32_t ENDofTable; - __I uint32_t LUTerrAd; - __I uint32_t LUTerr; - __IO uint32_t FCANIE; - __IO uint32_t FCANIC0; - __IO uint32_t FCANIC1; -} LPC_CANAF_TypeDef; - -typedef struct /* Central Registers */ -{ - __I uint32_t CANTxSR; - __I uint32_t CANRxSR; - __I uint32_t CANMSR; -} LPC_CANCR_TypeDef; - -typedef struct /* Controller Registers */ -{ - __IO uint32_t MOD; - __O uint32_t CMR; - __IO uint32_t GSR; - __I uint32_t ICR; - __IO uint32_t IER; - __IO uint32_t BTR; - __IO uint32_t EWL; - __I uint32_t SR; - __IO uint32_t RFS; - __IO uint32_t RID; - __IO uint32_t RDA; - __IO uint32_t RDB; - __IO uint32_t TFI1; - __IO uint32_t TID1; - __IO uint32_t TDA1; - __IO uint32_t TDB1; - __IO uint32_t TFI2; - __IO uint32_t TID2; - __IO uint32_t TDA2; - __IO uint32_t TDB2; - __IO uint32_t TFI3; - __IO uint32_t TID3; - __IO uint32_t TDA3; - __IO uint32_t TDB3; -} LPC_CAN_TypeDef; - -/*------------- General Purpose Direct Memory Access (GPDMA) -----------------*/ -typedef struct /* Common Registers */ -{ - __I uint32_t DMACIntStat; - __I uint32_t DMACIntTCStat; - __O uint32_t DMACIntTCClear; - __I uint32_t DMACIntErrStat; - __O uint32_t DMACIntErrClr; - __I uint32_t DMACRawIntTCStat; - __I uint32_t DMACRawIntErrStat; - __I uint32_t DMACEnbldChns; - __IO uint32_t DMACSoftBReq; - __IO uint32_t DMACSoftSReq; - __IO uint32_t DMACSoftLBReq; - __IO uint32_t DMACSoftLSReq; - __IO uint32_t DMACConfig; - __IO uint32_t DMACSync; -} LPC_GPDMA_TypeDef; - -typedef struct /* Channel Registers */ -{ - __IO uint32_t DMACCSrcAddr; - __IO uint32_t DMACCDestAddr; - __IO uint32_t DMACCLLI; - __IO uint32_t DMACCControl; - __IO uint32_t DMACCConfig; -} LPC_GPDMACH_TypeDef; - -/*------------- Universal Serial Bus (USB) -----------------------------------*/ -typedef struct -{ - __I uint32_t HcRevision; /* USB Host Registers */ - __IO uint32_t HcControl; - __IO uint32_t HcCommandStatus; - __IO uint32_t HcInterruptStatus; - __IO uint32_t HcInterruptEnable; - __IO uint32_t HcInterruptDisable; - __IO uint32_t HcHCCA; - __I uint32_t HcPeriodCurrentED; - __IO uint32_t HcControlHeadED; - __IO uint32_t HcControlCurrentED; - __IO uint32_t HcBulkHeadED; - __IO uint32_t HcBulkCurrentED; - __I uint32_t HcDoneHead; - __IO uint32_t HcFmInterval; - __I uint32_t HcFmRemaining; - __I uint32_t HcFmNumber; - __IO uint32_t HcPeriodicStart; - __IO uint32_t HcLSTreshold; - __IO uint32_t HcRhDescriptorA; - __IO uint32_t HcRhDescriptorB; - __IO uint32_t HcRhStatus; - __IO uint32_t HcRhPortStatus1; - __IO uint32_t HcRhPortStatus2; - uint32_t RESERVED0[40]; - __I uint32_t Module_ID; - - __I uint32_t OTGIntSt; /* USB On-The-Go Registers */ - __IO uint32_t OTGIntEn; - __O uint32_t OTGIntSet; - __O uint32_t OTGIntClr; - __IO uint32_t OTGStCtrl; - __IO uint32_t OTGTmr; - uint32_t RESERVED1[58]; - - __I uint32_t USBDevIntSt; /* USB Device Interrupt Registers */ - __IO uint32_t USBDevIntEn; - __O uint32_t USBDevIntClr; - __O uint32_t USBDevIntSet; - - __O uint32_t USBCmdCode; /* USB Device SIE Command Registers */ - __I uint32_t USBCmdData; - - __I uint32_t USBRxData; /* USB Device Transfer Registers */ - __O uint32_t USBTxData; - __I uint32_t USBRxPLen; - __O uint32_t USBTxPLen; - __IO uint32_t USBCtrl; - __O uint32_t USBDevIntPri; - - __I uint32_t USBEpIntSt; /* USB Device Endpoint Interrupt Regs */ - __IO uint32_t USBEpIntEn; - __O uint32_t USBEpIntClr; - __O uint32_t USBEpIntSet; - __O uint32_t USBEpIntPri; - - __IO uint32_t USBReEp; /* USB Device Endpoint Realization Reg*/ - __O uint32_t USBEpInd; - __IO uint32_t USBMaxPSize; - - __I uint32_t USBDMARSt; /* USB Device DMA Registers */ - __O uint32_t USBDMARClr; - __O uint32_t USBDMARSet; - uint32_t RESERVED2[9]; - __IO uint32_t USBUDCAH; - __I uint32_t USBEpDMASt; - __O uint32_t USBEpDMAEn; - __O uint32_t USBEpDMADis; - __I uint32_t USBDMAIntSt; - __IO uint32_t USBDMAIntEn; - uint32_t RESERVED3[2]; - __I uint32_t USBEoTIntSt; - __O uint32_t USBEoTIntClr; - __O uint32_t USBEoTIntSet; - __I uint32_t USBNDDRIntSt; - __O uint32_t USBNDDRIntClr; - __O uint32_t USBNDDRIntSet; - __I uint32_t USBSysErrIntSt; - __O uint32_t USBSysErrIntClr; - __O uint32_t USBSysErrIntSet; - uint32_t RESERVED4[15]; - - __I uint32_t I2C_RX; /* USB OTG I2C Registers */ - __O uint32_t I2C_WO; - __I uint32_t I2C_STS; - __IO uint32_t I2C_CTL; - __IO uint32_t I2C_CLKHI; - __O uint32_t I2C_CLKLO; - uint32_t RESERVED5[823]; - - union { - __IO uint32_t USBClkCtrl; /* USB Clock Control Registers */ - __IO uint32_t OTGClkCtrl; - }; - union { - __I uint32_t USBClkSt; - __I uint32_t OTGClkSt; - }; -} LPC_USB_TypeDef; - -/*------------- Ethernet Media Access Controller (EMAC) ----------------------*/ -typedef struct -{ - __IO uint32_t MAC1; /* MAC Registers */ - __IO uint32_t MAC2; - __IO uint32_t IPGT; - __IO uint32_t IPGR; - __IO uint32_t CLRT; - __IO uint32_t MAXF; - __IO uint32_t SUPP; - __IO uint32_t TEST; - __IO uint32_t MCFG; - __IO uint32_t MCMD; - __IO uint32_t MADR; - __O uint32_t MWTD; - __I uint32_t MRDD; - __I uint32_t MIND; - uint32_t RESERVED0[2]; - __IO uint32_t SA0; - __IO uint32_t SA1; - __IO uint32_t SA2; - uint32_t RESERVED1[45]; - __IO uint32_t Command; /* Control Registers */ - __I uint32_t Status; - __IO uint32_t RxDescriptor; - __IO uint32_t RxStatus; - __IO uint32_t RxDescriptorNumber; - __I uint32_t RxProduceIndex; - __IO uint32_t RxConsumeIndex; - __IO uint32_t TxDescriptor; - __IO uint32_t TxStatus; - __IO uint32_t TxDescriptorNumber; - __IO uint32_t TxProduceIndex; - __I uint32_t TxConsumeIndex; - uint32_t RESERVED2[10]; - __I uint32_t TSV0; - __I uint32_t TSV1; - __I uint32_t RSV; - uint32_t RESERVED3[3]; - __IO uint32_t FlowControlCounter; - __I uint32_t FlowControlStatus; - uint32_t RESERVED4[34]; - __IO uint32_t RxFilterCtrl; /* Rx Filter Registers */ - __IO uint32_t RxFilterWoLStatus; - __IO uint32_t RxFilterWoLClear; - uint32_t RESERVED5; - __IO uint32_t HashFilterL; - __IO uint32_t HashFilterH; - uint32_t RESERVED6[882]; - __I uint32_t IntStatus; /* Module Control Registers */ - __IO uint32_t IntEnable; - __O uint32_t IntClear; - __O uint32_t IntSet; - uint32_t RESERVED7; - __IO uint32_t PowerDown; - uint32_t RESERVED8; - __IO uint32_t Module_ID; -} LPC_EMAC_TypeDef; - -#if defined ( __CC_ARM ) -#pragma no_anon_unions -#endif - - -/******************************************************************************/ -/* Peripheral memory map */ -/******************************************************************************/ -/* Base addresses */ -#define LPC_FLASH_BASE (0x00000000UL) -#define LPC_RAM_BASE (0x10000000UL) -#ifdef __LPC17XX_REV00 -#define LPC_AHBRAM0_BASE (0x20000000UL) -#define LPC_AHBRAM1_BASE (0x20004000UL) -#else -#define LPC_AHBRAM0_BASE (0x2007C000UL) -#define LPC_AHBRAM1_BASE (0x20080000UL) -#endif -#define LPC_GPIO_BASE (0x2009C000UL) -#define LPC_APB0_BASE (0x40000000UL) -#define LPC_APB1_BASE (0x40080000UL) -#define LPC_AHB_BASE (0x50000000UL) -#define LPC_CM3_BASE (0xE0000000UL) - -/* APB0 peripherals */ -#define LPC_WDT_BASE (LPC_APB0_BASE + 0x00000) -#define LPC_TIM0_BASE (LPC_APB0_BASE + 0x04000) -#define LPC_TIM1_BASE (LPC_APB0_BASE + 0x08000) -#define LPC_UART0_BASE (LPC_APB0_BASE + 0x0C000) -#define LPC_UART1_BASE (LPC_APB0_BASE + 0x10000) -#define LPC_PWM1_BASE (LPC_APB0_BASE + 0x18000) -#define LPC_I2C0_BASE (LPC_APB0_BASE + 0x1C000) -#define LPC_SPI_BASE (LPC_APB0_BASE + 0x20000) -#define LPC_RTC_BASE (LPC_APB0_BASE + 0x24000) -#define LPC_GPIOINT_BASE (LPC_APB0_BASE + 0x28080) -#define LPC_PINCON_BASE (LPC_APB0_BASE + 0x2C000) -#define LPC_SSP1_BASE (LPC_APB0_BASE + 0x30000) -#define LPC_ADC_BASE (LPC_APB0_BASE + 0x34000) -#define LPC_CANAF_RAM_BASE (LPC_APB0_BASE + 0x38000) -#define LPC_CANAF_BASE (LPC_APB0_BASE + 0x3C000) -#define LPC_CANCR_BASE (LPC_APB0_BASE + 0x40000) -#define LPC_CAN1_BASE (LPC_APB0_BASE + 0x44000) -#define LPC_CAN2_BASE (LPC_APB0_BASE + 0x48000) -#define LPC_I2C1_BASE (LPC_APB0_BASE + 0x5C000) - -/* APB1 peripherals */ -#define LPC_SSP0_BASE (LPC_APB1_BASE + 0x08000) -#define LPC_DAC_BASE (LPC_APB1_BASE + 0x0C000) -#define LPC_TIM2_BASE (LPC_APB1_BASE + 0x10000) -#define LPC_TIM3_BASE (LPC_APB1_BASE + 0x14000) -#define LPC_UART2_BASE (LPC_APB1_BASE + 0x18000) -#define LPC_UART3_BASE (LPC_APB1_BASE + 0x1C000) -#define LPC_I2C2_BASE (LPC_APB1_BASE + 0x20000) -#define LPC_I2S_BASE (LPC_APB1_BASE + 0x28000) -#define LPC_RIT_BASE (LPC_APB1_BASE + 0x30000) -#define LPC_MCPWM_BASE (LPC_APB1_BASE + 0x38000) -#define LPC_QEI_BASE (LPC_APB1_BASE + 0x3C000) -#define LPC_SC_BASE (LPC_APB1_BASE + 0x7C000) - -/* AHB peripherals */ -#define LPC_EMAC_BASE (LPC_AHB_BASE + 0x00000) -#define LPC_GPDMA_BASE (LPC_AHB_BASE + 0x04000) -#define LPC_GPDMACH0_BASE (LPC_AHB_BASE + 0x04100) -#define LPC_GPDMACH1_BASE (LPC_AHB_BASE + 0x04120) -#define LPC_GPDMACH2_BASE (LPC_AHB_BASE + 0x04140) -#define LPC_GPDMACH3_BASE (LPC_AHB_BASE + 0x04160) -#define LPC_GPDMACH4_BASE (LPC_AHB_BASE + 0x04180) -#define LPC_GPDMACH5_BASE (LPC_AHB_BASE + 0x041A0) -#define LPC_GPDMACH6_BASE (LPC_AHB_BASE + 0x041C0) -#define LPC_GPDMACH7_BASE (LPC_AHB_BASE + 0x041E0) -#define LPC_USB_BASE (LPC_AHB_BASE + 0x0C000) - -/* GPIOs */ -#define LPC_GPIO0_BASE (LPC_GPIO_BASE + 0x00000) -#define LPC_GPIO1_BASE (LPC_GPIO_BASE + 0x00020) -#define LPC_GPIO2_BASE (LPC_GPIO_BASE + 0x00040) -#define LPC_GPIO3_BASE (LPC_GPIO_BASE + 0x00060) -#define LPC_GPIO4_BASE (LPC_GPIO_BASE + 0x00080) - - -/******************************************************************************/ -/* Peripheral declaration */ -/******************************************************************************/ -#define LPC_SC ((LPC_SC_TypeDef *) LPC_SC_BASE ) -#define LPC_GPIO0 ((LPC_GPIO_TypeDef *) LPC_GPIO0_BASE ) -#define LPC_GPIO1 ((LPC_GPIO_TypeDef *) LPC_GPIO1_BASE ) -#define LPC_GPIO2 ((LPC_GPIO_TypeDef *) LPC_GPIO2_BASE ) -#define LPC_GPIO3 ((LPC_GPIO_TypeDef *) LPC_GPIO3_BASE ) -#define LPC_GPIO4 ((LPC_GPIO_TypeDef *) LPC_GPIO4_BASE ) -#define LPC_WDT ((LPC_WDT_TypeDef *) LPC_WDT_BASE ) -#define LPC_TIM0 ((LPC_TIM_TypeDef *) LPC_TIM0_BASE ) -#define LPC_TIM1 ((LPC_TIM_TypeDef *) LPC_TIM1_BASE ) -#define LPC_TIM2 ((LPC_TIM_TypeDef *) LPC_TIM2_BASE ) -#define LPC_TIM3 ((LPC_TIM_TypeDef *) LPC_TIM3_BASE ) -#define LPC_RIT ((LPC_RIT_TypeDef *) LPC_RIT_BASE ) -#define LPC_UART0 ((LPC_UART_TypeDef *) LPC_UART0_BASE ) -#define LPC_UART1 ((LPC_UART1_TypeDef *) LPC_UART1_BASE ) -#define LPC_UART2 ((LPC_UART_TypeDef *) LPC_UART2_BASE ) -#define LPC_UART3 ((LPC_UART_TypeDef *) LPC_UART3_BASE ) -#define LPC_PWM1 ((LPC_PWM_TypeDef *) LPC_PWM1_BASE ) -#define LPC_I2C0 ((LPC_I2C_TypeDef *) LPC_I2C0_BASE ) -#define LPC_I2C1 ((LPC_I2C_TypeDef *) LPC_I2C1_BASE ) -#define LPC_I2C2 ((LPC_I2C_TypeDef *) LPC_I2C2_BASE ) -#define LPC_I2S ((LPC_I2S_TypeDef *) LPC_I2S_BASE ) -#define LPC_SPI ((LPC_SPI_TypeDef *) LPC_SPI_BASE ) -#define LPC_RTC ((LPC_RTC_TypeDef *) LPC_RTC_BASE ) -#define LPC_GPIOINT ((LPC_GPIOINT_TypeDef *) LPC_GPIOINT_BASE ) -#define LPC_PINCON ((LPC_PINCON_TypeDef *) LPC_PINCON_BASE ) -#define LPC_SSP0 ((LPC_SSP_TypeDef *) LPC_SSP0_BASE ) -#define LPC_SSP1 ((LPC_SSP_TypeDef *) LPC_SSP1_BASE ) -#define LPC_ADC ((LPC_ADC_TypeDef *) LPC_ADC_BASE ) -#define LPC_DAC ((LPC_DAC_TypeDef *) LPC_DAC_BASE ) -#define LPC_CANAF_RAM ((LPC_CANAF_RAM_TypeDef *) LPC_CANAF_RAM_BASE) -#define LPC_CANAF ((LPC_CANAF_TypeDef *) LPC_CANAF_BASE ) -#define LPC_CANCR ((LPC_CANCR_TypeDef *) LPC_CANCR_BASE ) -#define LPC_CAN1 ((LPC_CAN_TypeDef *) LPC_CAN1_BASE ) -#define LPC_CAN2 ((LPC_CAN_TypeDef *) LPC_CAN2_BASE ) -#define LPC_MCPWM ((LPC_MCPWM_TypeDef *) LPC_MCPWM_BASE ) -#define LPC_QEI ((LPC_QEI_TypeDef *) LPC_QEI_BASE ) -#define LPC_EMAC ((LPC_EMAC_TypeDef *) LPC_EMAC_BASE ) -#define LPC_GPDMA ((LPC_GPDMA_TypeDef *) LPC_GPDMA_BASE ) -#define DMAREQSEL (*(__IO uint32_t *) ( 0x4000C1C4)) -#define LPC_GPDMACH0 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH0_BASE ) -#define LPC_GPDMACH1 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH1_BASE ) -#define LPC_GPDMACH2 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH2_BASE ) -#define LPC_GPDMACH3 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH3_BASE ) -#define LPC_GPDMACH4 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH4_BASE ) -#define LPC_GPDMACH5 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH5_BASE ) -#define LPC_GPDMACH6 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH6_BASE ) -#define LPC_GPDMACH7 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH7_BASE ) -#define LPC_USB ((LPC_USB_TypeDef *) LPC_USB_BASE ) - -#endif // __LPC17xx_H__ diff --git a/bitbucket_lpc1768/CMSIS/core_cm3.h b/bitbucket_lpc1768/CMSIS/core_cm3.h deleted file mode 100755 index 2c46056..0000000 --- a/bitbucket_lpc1768/CMSIS/core_cm3.h +++ /dev/null @@ -1,1818 +0,0 @@ -/**************************************************************************//** - * @file core_cm3.h - * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File - * @version V1.30 - * @date 30. October 2009 - * - * @note - * Copyright (C) 2009 ARM Limited. All rights reserved. - * - * @par - * ARM Limited (ARM) is supplying this software for use with Cortex-M - * processor based microcontrollers. This file can be freely distributed - * within development tools that are supporting such ARM based processors. - * - * @par - * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED - * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. - * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR - * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - * - ******************************************************************************/ - -#ifndef __CM3_CORE_H__ -#define __CM3_CORE_H__ - -/** @addtogroup CMSIS_CM3_core_LintCinfiguration CMSIS CM3 Core Lint Configuration - * - * List of Lint messages which will be suppressed and not shown: - * - Error 10: \n - * register uint32_t __regBasePri __asm("basepri"); \n - * Error 10: Expecting ';' - * . - * - Error 530: \n - * return(__regBasePri); \n - * Warning 530: Symbol '__regBasePri' (line 264) not initialized - * . - * - Error 550: \n - * __regBasePri = (basePri & 0x1ff); \n - * Warning 550: Symbol '__regBasePri' (line 271) not accessed - * . - * - Error 754: \n - * uint32_t RESERVED0[24]; \n - * Info 754: local structure member '' (line 109, file ./cm3_core.h) not referenced - * . - * - Error 750: \n - * #define __CM3_CORE_H__ \n - * Info 750: local macro '__CM3_CORE_H__' (line 43, file./cm3_core.h) not referenced - * . - * - Error 528: \n - * static __INLINE void NVIC_DisableIRQ(uint32_t IRQn) \n - * Warning 528: Symbol 'NVIC_DisableIRQ(unsigned int)' (line 419, file ./cm3_core.h) not referenced - * . - * - Error 751: \n - * } InterruptType_Type; \n - * Info 751: local typedef 'InterruptType_Type' (line 170, file ./cm3_core.h) not referenced - * . - * Note: To re-enable a Message, insert a space before 'lint' * - * - */ - -/*lint -save */ -/*lint -e10 */ -/*lint -e530 */ -/*lint -e550 */ -/*lint -e754 */ -/*lint -e750 */ -/*lint -e528 */ -/*lint -e751 */ - - -/** @addtogroup CMSIS_CM3_core_definitions CM3 Core Definitions - This file defines all structures and symbols for CMSIS core: - - CMSIS version number - - Cortex-M core registers and bitfields - - Cortex-M core peripheral base address - @{ - */ - -#ifdef __cplusplus - extern "C" { -#endif - -#define __CM3_CMSIS_VERSION_MAIN (0x01) /*!< [31:16] CMSIS HAL main version */ -#define __CM3_CMSIS_VERSION_SUB (0x30) /*!< [15:0] CMSIS HAL sub version */ -#define __CM3_CMSIS_VERSION ((__CM3_CMSIS_VERSION_MAIN << 16) | __CM3_CMSIS_VERSION_SUB) /*!< CMSIS HAL version number */ - -#define __CORTEX_M (0x03) /*!< Cortex core */ - -#include /* Include standard types */ - -#if defined (__ICCARM__) - #include /* IAR Intrinsics */ -#endif - - -#ifndef __NVIC_PRIO_BITS - #define __NVIC_PRIO_BITS 4 /*!< standard definition for NVIC Priority Bits */ -#endif - - - - -/** - * IO definitions - * - * define access restrictions to peripheral registers - */ - -#ifdef __cplusplus - #define __I volatile /*!< defines 'read only' permissions */ -#else - #define __I volatile const /*!< defines 'read only' permissions */ -#endif -#define __O volatile /*!< defines 'write only' permissions */ -#define __IO volatile /*!< defines 'read / write' permissions */ - - - -/******************************************************************************* - * Register Abstraction - ******************************************************************************/ -/** @addtogroup CMSIS_CM3_core_register CMSIS CM3 Core Register - @{ -*/ - - -/** @addtogroup CMSIS_CM3_NVIC CMSIS CM3 NVIC - memory mapped structure for Nested Vectored Interrupt Controller (NVIC) - @{ - */ -typedef struct -{ - __IO uint32_t ISER[8]; /*!< Offset: 0x000 Interrupt Set Enable Register */ - uint32_t RESERVED0[24]; - __IO uint32_t ICER[8]; /*!< Offset: 0x080 Interrupt Clear Enable Register */ - uint32_t RSERVED1[24]; - __IO uint32_t ISPR[8]; /*!< Offset: 0x100 Interrupt Set Pending Register */ - uint32_t RESERVED2[24]; - __IO uint32_t ICPR[8]; /*!< Offset: 0x180 Interrupt Clear Pending Register */ - uint32_t RESERVED3[24]; - __IO uint32_t IABR[8]; /*!< Offset: 0x200 Interrupt Active bit Register */ - uint32_t RESERVED4[56]; - __IO uint8_t IP[240]; /*!< Offset: 0x300 Interrupt Priority Register (8Bit wide) */ - uint32_t RESERVED5[644]; - __O uint32_t STIR; /*!< Offset: 0xE00 Software Trigger Interrupt Register */ -} NVIC_Type; -/*@}*/ /* end of group CMSIS_CM3_NVIC */ - - -/** @addtogroup CMSIS_CM3_SCB CMSIS CM3 SCB - memory mapped structure for System Control Block (SCB) - @{ - */ -typedef struct -{ - __I uint32_t CPUID; /*!< Offset: 0x00 CPU ID Base Register */ - __IO uint32_t ICSR; /*!< Offset: 0x04 Interrupt Control State Register */ - __IO uint32_t VTOR; /*!< Offset: 0x08 Vector Table Offset Register */ - __IO uint32_t AIRCR; /*!< Offset: 0x0C Application Interrupt / Reset Control Register */ - __IO uint32_t SCR; /*!< Offset: 0x10 System Control Register */ - __IO uint32_t CCR; /*!< Offset: 0x14 Configuration Control Register */ - __IO uint8_t SHP[12]; /*!< Offset: 0x18 System Handlers Priority Registers (4-7, 8-11, 12-15) */ - __IO uint32_t SHCSR; /*!< Offset: 0x24 System Handler Control and State Register */ - __IO uint32_t CFSR; /*!< Offset: 0x28 Configurable Fault Status Register */ - __IO uint32_t HFSR; /*!< Offset: 0x2C Hard Fault Status Register */ - __IO uint32_t DFSR; /*!< Offset: 0x30 Debug Fault Status Register */ - __IO uint32_t MMFAR; /*!< Offset: 0x34 Mem Manage Address Register */ - __IO uint32_t BFAR; /*!< Offset: 0x38 Bus Fault Address Register */ - __IO uint32_t AFSR; /*!< Offset: 0x3C Auxiliary Fault Status Register */ - __I uint32_t PFR[2]; /*!< Offset: 0x40 Processor Feature Register */ - __I uint32_t DFR; /*!< Offset: 0x48 Debug Feature Register */ - __I uint32_t ADR; /*!< Offset: 0x4C Auxiliary Feature Register */ - __I uint32_t MMFR[4]; /*!< Offset: 0x50 Memory Model Feature Register */ - __I uint32_t ISAR[5]; /*!< Offset: 0x60 ISA Feature Register */ -} SCB_Type; - -/* SCB CPUID Register Definitions */ -#define SCB_CPUID_IMPLEMENTER_Pos 24 /*!< SCB CPUID: IMPLEMENTER Position */ -#define SCB_CPUID_IMPLEMENTER_Msk (0xFFul << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ - -#define SCB_CPUID_VARIANT_Pos 20 /*!< SCB CPUID: VARIANT Position */ -#define SCB_CPUID_VARIANT_Msk (0xFul << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ - -#define SCB_CPUID_PARTNO_Pos 4 /*!< SCB CPUID: PARTNO Position */ -#define SCB_CPUID_PARTNO_Msk (0xFFFul << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ - -#define SCB_CPUID_REVISION_Pos 0 /*!< SCB CPUID: REVISION Position */ -#define SCB_CPUID_REVISION_Msk (0xFul << SCB_CPUID_REVISION_Pos) /*!< SCB CPUID: REVISION Mask */ - -/* SCB Interrupt Control State Register Definitions */ -#define SCB_ICSR_NMIPENDSET_Pos 31 /*!< SCB ICSR: NMIPENDSET Position */ -#define SCB_ICSR_NMIPENDSET_Msk (1ul << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ - -#define SCB_ICSR_PENDSVSET_Pos 28 /*!< SCB ICSR: PENDSVSET Position */ -#define SCB_ICSR_PENDSVSET_Msk (1ul << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ - -#define SCB_ICSR_PENDSVCLR_Pos 27 /*!< SCB ICSR: PENDSVCLR Position */ -#define SCB_ICSR_PENDSVCLR_Msk (1ul << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ - -#define SCB_ICSR_PENDSTSET_Pos 26 /*!< SCB ICSR: PENDSTSET Position */ -#define SCB_ICSR_PENDSTSET_Msk (1ul << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ - -#define SCB_ICSR_PENDSTCLR_Pos 25 /*!< SCB ICSR: PENDSTCLR Position */ -#define SCB_ICSR_PENDSTCLR_Msk (1ul << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ - -#define SCB_ICSR_ISRPREEMPT_Pos 23 /*!< SCB ICSR: ISRPREEMPT Position */ -#define SCB_ICSR_ISRPREEMPT_Msk (1ul << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ - -#define SCB_ICSR_ISRPENDING_Pos 22 /*!< SCB ICSR: ISRPENDING Position */ -#define SCB_ICSR_ISRPENDING_Msk (1ul << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ - -#define SCB_ICSR_VECTPENDING_Pos 12 /*!< SCB ICSR: VECTPENDING Position */ -#define SCB_ICSR_VECTPENDING_Msk (0x1FFul << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ - -#define SCB_ICSR_RETTOBASE_Pos 11 /*!< SCB ICSR: RETTOBASE Position */ -#define SCB_ICSR_RETTOBASE_Msk (1ul << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ - -#define SCB_ICSR_VECTACTIVE_Pos 0 /*!< SCB ICSR: VECTACTIVE Position */ -#define SCB_ICSR_VECTACTIVE_Msk (0x1FFul << SCB_ICSR_VECTACTIVE_Pos) /*!< SCB ICSR: VECTACTIVE Mask */ - -/* SCB Interrupt Control State Register Definitions */ -#define SCB_VTOR_TBLBASE_Pos 29 /*!< SCB VTOR: TBLBASE Position */ -#define SCB_VTOR_TBLBASE_Msk (0x1FFul << SCB_VTOR_TBLBASE_Pos) /*!< SCB VTOR: TBLBASE Mask */ - -#define SCB_VTOR_TBLOFF_Pos 7 /*!< SCB VTOR: TBLOFF Position */ -#define SCB_VTOR_TBLOFF_Msk (0x3FFFFFul << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ - -/* SCB Application Interrupt and Reset Control Register Definitions */ -#define SCB_AIRCR_VECTKEY_Pos 16 /*!< SCB AIRCR: VECTKEY Position */ -#define SCB_AIRCR_VECTKEY_Msk (0xFFFFul << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ - -#define SCB_AIRCR_VECTKEYSTAT_Pos 16 /*!< SCB AIRCR: VECTKEYSTAT Position */ -#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFul << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ - -#define SCB_AIRCR_ENDIANESS_Pos 15 /*!< SCB AIRCR: ENDIANESS Position */ -#define SCB_AIRCR_ENDIANESS_Msk (1ul << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ - -#define SCB_AIRCR_PRIGROUP_Pos 8 /*!< SCB AIRCR: PRIGROUP Position */ -#define SCB_AIRCR_PRIGROUP_Msk (7ul << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ - -#define SCB_AIRCR_SYSRESETREQ_Pos 2 /*!< SCB AIRCR: SYSRESETREQ Position */ -#define SCB_AIRCR_SYSRESETREQ_Msk (1ul << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ - -#define SCB_AIRCR_VECTCLRACTIVE_Pos 1 /*!< SCB AIRCR: VECTCLRACTIVE Position */ -#define SCB_AIRCR_VECTCLRACTIVE_Msk (1ul << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ - -#define SCB_AIRCR_VECTRESET_Pos 0 /*!< SCB AIRCR: VECTRESET Position */ -#define SCB_AIRCR_VECTRESET_Msk (1ul << SCB_AIRCR_VECTRESET_Pos) /*!< SCB AIRCR: VECTRESET Mask */ - -/* SCB System Control Register Definitions */ -#define SCB_SCR_SEVONPEND_Pos 4 /*!< SCB SCR: SEVONPEND Position */ -#define SCB_SCR_SEVONPEND_Msk (1ul << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ - -#define SCB_SCR_SLEEPDEEP_Pos 2 /*!< SCB SCR: SLEEPDEEP Position */ -#define SCB_SCR_SLEEPDEEP_Msk (1ul << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ - -#define SCB_SCR_SLEEPONEXIT_Pos 1 /*!< SCB SCR: SLEEPONEXIT Position */ -#define SCB_SCR_SLEEPONEXIT_Msk (1ul << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ - -/* SCB Configuration Control Register Definitions */ -#define SCB_CCR_STKALIGN_Pos 9 /*!< SCB CCR: STKALIGN Position */ -#define SCB_CCR_STKALIGN_Msk (1ul << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ - -#define SCB_CCR_BFHFNMIGN_Pos 8 /*!< SCB CCR: BFHFNMIGN Position */ -#define SCB_CCR_BFHFNMIGN_Msk (1ul << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ - -#define SCB_CCR_DIV_0_TRP_Pos 4 /*!< SCB CCR: DIV_0_TRP Position */ -#define SCB_CCR_DIV_0_TRP_Msk (1ul << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ - -#define SCB_CCR_UNALIGN_TRP_Pos 3 /*!< SCB CCR: UNALIGN_TRP Position */ -#define SCB_CCR_UNALIGN_TRP_Msk (1ul << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ - -#define SCB_CCR_USERSETMPEND_Pos 1 /*!< SCB CCR: USERSETMPEND Position */ -#define SCB_CCR_USERSETMPEND_Msk (1ul << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ - -#define SCB_CCR_NONBASETHRDENA_Pos 0 /*!< SCB CCR: NONBASETHRDENA Position */ -#define SCB_CCR_NONBASETHRDENA_Msk (1ul << SCB_CCR_NONBASETHRDENA_Pos) /*!< SCB CCR: NONBASETHRDENA Mask */ - -/* SCB System Handler Control and State Register Definitions */ -#define SCB_SHCSR_USGFAULTENA_Pos 18 /*!< SCB SHCSR: USGFAULTENA Position */ -#define SCB_SHCSR_USGFAULTENA_Msk (1ul << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ - -#define SCB_SHCSR_BUSFAULTENA_Pos 17 /*!< SCB SHCSR: BUSFAULTENA Position */ -#define SCB_SHCSR_BUSFAULTENA_Msk (1ul << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ - -#define SCB_SHCSR_MEMFAULTENA_Pos 16 /*!< SCB SHCSR: MEMFAULTENA Position */ -#define SCB_SHCSR_MEMFAULTENA_Msk (1ul << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ - -#define SCB_SHCSR_SVCALLPENDED_Pos 15 /*!< SCB SHCSR: SVCALLPENDED Position */ -#define SCB_SHCSR_SVCALLPENDED_Msk (1ul << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ - -#define SCB_SHCSR_BUSFAULTPENDED_Pos 14 /*!< SCB SHCSR: BUSFAULTPENDED Position */ -#define SCB_SHCSR_BUSFAULTPENDED_Msk (1ul << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ - -#define SCB_SHCSR_MEMFAULTPENDED_Pos 13 /*!< SCB SHCSR: MEMFAULTPENDED Position */ -#define SCB_SHCSR_MEMFAULTPENDED_Msk (1ul << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ - -#define SCB_SHCSR_USGFAULTPENDED_Pos 12 /*!< SCB SHCSR: USGFAULTPENDED Position */ -#define SCB_SHCSR_USGFAULTPENDED_Msk (1ul << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ - -#define SCB_SHCSR_SYSTICKACT_Pos 11 /*!< SCB SHCSR: SYSTICKACT Position */ -#define SCB_SHCSR_SYSTICKACT_Msk (1ul << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ - -#define SCB_SHCSR_PENDSVACT_Pos 10 /*!< SCB SHCSR: PENDSVACT Position */ -#define SCB_SHCSR_PENDSVACT_Msk (1ul << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ - -#define SCB_SHCSR_MONITORACT_Pos 8 /*!< SCB SHCSR: MONITORACT Position */ -#define SCB_SHCSR_MONITORACT_Msk (1ul << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ - -#define SCB_SHCSR_SVCALLACT_Pos 7 /*!< SCB SHCSR: SVCALLACT Position */ -#define SCB_SHCSR_SVCALLACT_Msk (1ul << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ - -#define SCB_SHCSR_USGFAULTACT_Pos 3 /*!< SCB SHCSR: USGFAULTACT Position */ -#define SCB_SHCSR_USGFAULTACT_Msk (1ul << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ - -#define SCB_SHCSR_BUSFAULTACT_Pos 1 /*!< SCB SHCSR: BUSFAULTACT Position */ -#define SCB_SHCSR_BUSFAULTACT_Msk (1ul << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ - -#define SCB_SHCSR_MEMFAULTACT_Pos 0 /*!< SCB SHCSR: MEMFAULTACT Position */ -#define SCB_SHCSR_MEMFAULTACT_Msk (1ul << SCB_SHCSR_MEMFAULTACT_Pos) /*!< SCB SHCSR: MEMFAULTACT Mask */ - -/* SCB Configurable Fault Status Registers Definitions */ -#define SCB_CFSR_USGFAULTSR_Pos 16 /*!< SCB CFSR: Usage Fault Status Register Position */ -#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFul << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ - -#define SCB_CFSR_BUSFAULTSR_Pos 8 /*!< SCB CFSR: Bus Fault Status Register Position */ -#define SCB_CFSR_BUSFAULTSR_Msk (0xFFul << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ - -#define SCB_CFSR_MEMFAULTSR_Pos 0 /*!< SCB CFSR: Memory Manage Fault Status Register Position */ -#define SCB_CFSR_MEMFAULTSR_Msk (0xFFul << SCB_CFSR_MEMFAULTSR_Pos) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ - -/* SCB Hard Fault Status Registers Definitions */ -#define SCB_HFSR_DEBUGEVT_Pos 31 /*!< SCB HFSR: DEBUGEVT Position */ -#define SCB_HFSR_DEBUGEVT_Msk (1ul << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ - -#define SCB_HFSR_FORCED_Pos 30 /*!< SCB HFSR: FORCED Position */ -#define SCB_HFSR_FORCED_Msk (1ul << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ - -#define SCB_HFSR_VECTTBL_Pos 1 /*!< SCB HFSR: VECTTBL Position */ -#define SCB_HFSR_VECTTBL_Msk (1ul << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ - -/* SCB Debug Fault Status Register Definitions */ -#define SCB_DFSR_EXTERNAL_Pos 4 /*!< SCB DFSR: EXTERNAL Position */ -#define SCB_DFSR_EXTERNAL_Msk (1ul << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ - -#define SCB_DFSR_VCATCH_Pos 3 /*!< SCB DFSR: VCATCH Position */ -#define SCB_DFSR_VCATCH_Msk (1ul << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ - -#define SCB_DFSR_DWTTRAP_Pos 2 /*!< SCB DFSR: DWTTRAP Position */ -#define SCB_DFSR_DWTTRAP_Msk (1ul << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ - -#define SCB_DFSR_BKPT_Pos 1 /*!< SCB DFSR: BKPT Position */ -#define SCB_DFSR_BKPT_Msk (1ul << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ - -#define SCB_DFSR_HALTED_Pos 0 /*!< SCB DFSR: HALTED Position */ -#define SCB_DFSR_HALTED_Msk (1ul << SCB_DFSR_HALTED_Pos) /*!< SCB DFSR: HALTED Mask */ -/*@}*/ /* end of group CMSIS_CM3_SCB */ - - -/** @addtogroup CMSIS_CM3_SysTick CMSIS CM3 SysTick - memory mapped structure for SysTick - @{ - */ -typedef struct -{ - __IO uint32_t CTRL; /*!< Offset: 0x00 SysTick Control and Status Register */ - __IO uint32_t LOAD; /*!< Offset: 0x04 SysTick Reload Value Register */ - __IO uint32_t VAL; /*!< Offset: 0x08 SysTick Current Value Register */ - __I uint32_t CALIB; /*!< Offset: 0x0C SysTick Calibration Register */ -} SysTick_Type; - -/* SysTick Control / Status Register Definitions */ -#define SysTick_CTRL_COUNTFLAG_Pos 16 /*!< SysTick CTRL: COUNTFLAG Position */ -#define SysTick_CTRL_COUNTFLAG_Msk (1ul << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ - -#define SysTick_CTRL_CLKSOURCE_Pos 2 /*!< SysTick CTRL: CLKSOURCE Position */ -#define SysTick_CTRL_CLKSOURCE_Msk (1ul << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ - -#define SysTick_CTRL_TICKINT_Pos 1 /*!< SysTick CTRL: TICKINT Position */ -#define SysTick_CTRL_TICKINT_Msk (1ul << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ - -#define SysTick_CTRL_ENABLE_Pos 0 /*!< SysTick CTRL: ENABLE Position */ -#define SysTick_CTRL_ENABLE_Msk (1ul << SysTick_CTRL_ENABLE_Pos) /*!< SysTick CTRL: ENABLE Mask */ - -/* SysTick Reload Register Definitions */ -#define SysTick_LOAD_RELOAD_Pos 0 /*!< SysTick LOAD: RELOAD Position */ -#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFul << SysTick_LOAD_RELOAD_Pos) /*!< SysTick LOAD: RELOAD Mask */ - -/* SysTick Current Register Definitions */ -#define SysTick_VAL_CURRENT_Pos 0 /*!< SysTick VAL: CURRENT Position */ -#define SysTick_VAL_CURRENT_Msk (0xFFFFFFul << SysTick_VAL_CURRENT_Pos) /*!< SysTick VAL: CURRENT Mask */ - -/* SysTick Calibration Register Definitions */ -#define SysTick_CALIB_NOREF_Pos 31 /*!< SysTick CALIB: NOREF Position */ -#define SysTick_CALIB_NOREF_Msk (1ul << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ - -#define SysTick_CALIB_SKEW_Pos 30 /*!< SysTick CALIB: SKEW Position */ -#define SysTick_CALIB_SKEW_Msk (1ul << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ - -#define SysTick_CALIB_TENMS_Pos 0 /*!< SysTick CALIB: TENMS Position */ -#define SysTick_CALIB_TENMS_Msk (0xFFFFFFul << SysTick_VAL_CURRENT_Pos) /*!< SysTick CALIB: TENMS Mask */ -/*@}*/ /* end of group CMSIS_CM3_SysTick */ - - -/** @addtogroup CMSIS_CM3_ITM CMSIS CM3 ITM - memory mapped structure for Instrumentation Trace Macrocell (ITM) - @{ - */ -typedef struct -{ - __O union - { - __O uint8_t u8; /*!< Offset: ITM Stimulus Port 8-bit */ - __O uint16_t u16; /*!< Offset: ITM Stimulus Port 16-bit */ - __O uint32_t u32; /*!< Offset: ITM Stimulus Port 32-bit */ - } PORT [32]; /*!< Offset: 0x00 ITM Stimulus Port Registers */ - uint32_t RESERVED0[864]; - __IO uint32_t TER; /*!< Offset: ITM Trace Enable Register */ - uint32_t RESERVED1[15]; - __IO uint32_t TPR; /*!< Offset: ITM Trace Privilege Register */ - uint32_t RESERVED2[15]; - __IO uint32_t TCR; /*!< Offset: ITM Trace Control Register */ - uint32_t RESERVED3[29]; - __IO uint32_t IWR; /*!< Offset: ITM Integration Write Register */ - __IO uint32_t IRR; /*!< Offset: ITM Integration Read Register */ - __IO uint32_t IMCR; /*!< Offset: ITM Integration Mode Control Register */ - uint32_t RESERVED4[43]; - __IO uint32_t LAR; /*!< Offset: ITM Lock Access Register */ - __IO uint32_t LSR; /*!< Offset: ITM Lock Status Register */ - uint32_t RESERVED5[6]; - __I uint32_t PID4; /*!< Offset: ITM Peripheral Identification Register #4 */ - __I uint32_t PID5; /*!< Offset: ITM Peripheral Identification Register #5 */ - __I uint32_t PID6; /*!< Offset: ITM Peripheral Identification Register #6 */ - __I uint32_t PID7; /*!< Offset: ITM Peripheral Identification Register #7 */ - __I uint32_t PID0; /*!< Offset: ITM Peripheral Identification Register #0 */ - __I uint32_t PID1; /*!< Offset: ITM Peripheral Identification Register #1 */ - __I uint32_t PID2; /*!< Offset: ITM Peripheral Identification Register #2 */ - __I uint32_t PID3; /*!< Offset: ITM Peripheral Identification Register #3 */ - __I uint32_t CID0; /*!< Offset: ITM Component Identification Register #0 */ - __I uint32_t CID1; /*!< Offset: ITM Component Identification Register #1 */ - __I uint32_t CID2; /*!< Offset: ITM Component Identification Register #2 */ - __I uint32_t CID3; /*!< Offset: ITM Component Identification Register #3 */ -} ITM_Type; - -/* ITM Trace Privilege Register Definitions */ -#define ITM_TPR_PRIVMASK_Pos 0 /*!< ITM TPR: PRIVMASK Position */ -#define ITM_TPR_PRIVMASK_Msk (0xFul << ITM_TPR_PRIVMASK_Pos) /*!< ITM TPR: PRIVMASK Mask */ - -/* ITM Trace Control Register Definitions */ -#define ITM_TCR_BUSY_Pos 23 /*!< ITM TCR: BUSY Position */ -#define ITM_TCR_BUSY_Msk (1ul << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ - -#define ITM_TCR_ATBID_Pos 16 /*!< ITM TCR: ATBID Position */ -#define ITM_TCR_ATBID_Msk (0x7Ful << ITM_TCR_ATBID_Pos) /*!< ITM TCR: ATBID Mask */ - -#define ITM_TCR_TSPrescale_Pos 8 /*!< ITM TCR: TSPrescale Position */ -#define ITM_TCR_TSPrescale_Msk (3ul << ITM_TCR_TSPrescale_Pos) /*!< ITM TCR: TSPrescale Mask */ - -#define ITM_TCR_SWOENA_Pos 4 /*!< ITM TCR: SWOENA Position */ -#define ITM_TCR_SWOENA_Msk (1ul << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ - -#define ITM_TCR_DWTENA_Pos 3 /*!< ITM TCR: DWTENA Position */ -#define ITM_TCR_DWTENA_Msk (1ul << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ - -#define ITM_TCR_SYNCENA_Pos 2 /*!< ITM TCR: SYNCENA Position */ -#define ITM_TCR_SYNCENA_Msk (1ul << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ - -#define ITM_TCR_TSENA_Pos 1 /*!< ITM TCR: TSENA Position */ -#define ITM_TCR_TSENA_Msk (1ul << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ - -#define ITM_TCR_ITMENA_Pos 0 /*!< ITM TCR: ITM Enable bit Position */ -#define ITM_TCR_ITMENA_Msk (1ul << ITM_TCR_ITMENA_Pos) /*!< ITM TCR: ITM Enable bit Mask */ - -/* ITM Integration Write Register Definitions */ -#define ITM_IWR_ATVALIDM_Pos 0 /*!< ITM IWR: ATVALIDM Position */ -#define ITM_IWR_ATVALIDM_Msk (1ul << ITM_IWR_ATVALIDM_Pos) /*!< ITM IWR: ATVALIDM Mask */ - -/* ITM Integration Read Register Definitions */ -#define ITM_IRR_ATREADYM_Pos 0 /*!< ITM IRR: ATREADYM Position */ -#define ITM_IRR_ATREADYM_Msk (1ul << ITM_IRR_ATREADYM_Pos) /*!< ITM IRR: ATREADYM Mask */ - -/* ITM Integration Mode Control Register Definitions */ -#define ITM_IMCR_INTEGRATION_Pos 0 /*!< ITM IMCR: INTEGRATION Position */ -#define ITM_IMCR_INTEGRATION_Msk (1ul << ITM_IMCR_INTEGRATION_Pos) /*!< ITM IMCR: INTEGRATION Mask */ - -/* ITM Lock Status Register Definitions */ -#define ITM_LSR_ByteAcc_Pos 2 /*!< ITM LSR: ByteAcc Position */ -#define ITM_LSR_ByteAcc_Msk (1ul << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ - -#define ITM_LSR_Access_Pos 1 /*!< ITM LSR: Access Position */ -#define ITM_LSR_Access_Msk (1ul << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ - -#define ITM_LSR_Present_Pos 0 /*!< ITM LSR: Present Position */ -#define ITM_LSR_Present_Msk (1ul << ITM_LSR_Present_Pos) /*!< ITM LSR: Present Mask */ -/*@}*/ /* end of group CMSIS_CM3_ITM */ - - -/** @addtogroup CMSIS_CM3_InterruptType CMSIS CM3 Interrupt Type - memory mapped structure for Interrupt Type - @{ - */ -typedef struct -{ - uint32_t RESERVED0; - __I uint32_t ICTR; /*!< Offset: 0x04 Interrupt Control Type Register */ -#if ((defined __CM3_REV) && (__CM3_REV >= 0x200)) - __IO uint32_t ACTLR; /*!< Offset: 0x08 Auxiliary Control Register */ -#else - uint32_t RESERVED1; -#endif -} InterruptType_Type; - -/* Interrupt Controller Type Register Definitions */ -#define InterruptType_ICTR_INTLINESNUM_Pos 0 /*!< InterruptType ICTR: INTLINESNUM Position */ -#define InterruptType_ICTR_INTLINESNUM_Msk (0x1Ful << InterruptType_ICTR_INTLINESNUM_Pos) /*!< InterruptType ICTR: INTLINESNUM Mask */ - -/* Auxiliary Control Register Definitions */ -#define InterruptType_ACTLR_DISFOLD_Pos 2 /*!< InterruptType ACTLR: DISFOLD Position */ -#define InterruptType_ACTLR_DISFOLD_Msk (1ul << InterruptType_ACTLR_DISFOLD_Pos) /*!< InterruptType ACTLR: DISFOLD Mask */ - -#define InterruptType_ACTLR_DISDEFWBUF_Pos 1 /*!< InterruptType ACTLR: DISDEFWBUF Position */ -#define InterruptType_ACTLR_DISDEFWBUF_Msk (1ul << InterruptType_ACTLR_DISDEFWBUF_Pos) /*!< InterruptType ACTLR: DISDEFWBUF Mask */ - -#define InterruptType_ACTLR_DISMCYCINT_Pos 0 /*!< InterruptType ACTLR: DISMCYCINT Position */ -#define InterruptType_ACTLR_DISMCYCINT_Msk (1ul << InterruptType_ACTLR_DISMCYCINT_Pos) /*!< InterruptType ACTLR: DISMCYCINT Mask */ -/*@}*/ /* end of group CMSIS_CM3_InterruptType */ - - -#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1) -/** @addtogroup CMSIS_CM3_MPU CMSIS CM3 MPU - memory mapped structure for Memory Protection Unit (MPU) - @{ - */ -typedef struct -{ - __I uint32_t TYPE; /*!< Offset: 0x00 MPU Type Register */ - __IO uint32_t CTRL; /*!< Offset: 0x04 MPU Control Register */ - __IO uint32_t RNR; /*!< Offset: 0x08 MPU Region RNRber Register */ - __IO uint32_t RBAR; /*!< Offset: 0x0C MPU Region Base Address Register */ - __IO uint32_t RASR; /*!< Offset: 0x10 MPU Region Attribute and Size Register */ - __IO uint32_t RBAR_A1; /*!< Offset: 0x14 MPU Alias 1 Region Base Address Register */ - __IO uint32_t RASR_A1; /*!< Offset: 0x18 MPU Alias 1 Region Attribute and Size Register */ - __IO uint32_t RBAR_A2; /*!< Offset: 0x1C MPU Alias 2 Region Base Address Register */ - __IO uint32_t RASR_A2; /*!< Offset: 0x20 MPU Alias 2 Region Attribute and Size Register */ - __IO uint32_t RBAR_A3; /*!< Offset: 0x24 MPU Alias 3 Region Base Address Register */ - __IO uint32_t RASR_A3; /*!< Offset: 0x28 MPU Alias 3 Region Attribute and Size Register */ -} MPU_Type; - -/* MPU Type Register */ -#define MPU_TYPE_IREGION_Pos 16 /*!< MPU TYPE: IREGION Position */ -#define MPU_TYPE_IREGION_Msk (0xFFul << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ - -#define MPU_TYPE_DREGION_Pos 8 /*!< MPU TYPE: DREGION Position */ -#define MPU_TYPE_DREGION_Msk (0xFFul << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ - -#define MPU_TYPE_SEPARATE_Pos 0 /*!< MPU TYPE: SEPARATE Position */ -#define MPU_TYPE_SEPARATE_Msk (1ul << MPU_TYPE_SEPARATE_Pos) /*!< MPU TYPE: SEPARATE Mask */ - -/* MPU Control Register */ -#define MPU_CTRL_PRIVDEFENA_Pos 2 /*!< MPU CTRL: PRIVDEFENA Position */ -#define MPU_CTRL_PRIVDEFENA_Msk (1ul << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ - -#define MPU_CTRL_HFNMIENA_Pos 1 /*!< MPU CTRL: HFNMIENA Position */ -#define MPU_CTRL_HFNMIENA_Msk (1ul << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ - -#define MPU_CTRL_ENABLE_Pos 0 /*!< MPU CTRL: ENABLE Position */ -#define MPU_CTRL_ENABLE_Msk (1ul << MPU_CTRL_ENABLE_Pos) /*!< MPU CTRL: ENABLE Mask */ - -/* MPU Region Number Register */ -#define MPU_RNR_REGION_Pos 0 /*!< MPU RNR: REGION Position */ -#define MPU_RNR_REGION_Msk (0xFFul << MPU_RNR_REGION_Pos) /*!< MPU RNR: REGION Mask */ - -/* MPU Region Base Address Register */ -#define MPU_RBAR_ADDR_Pos 5 /*!< MPU RBAR: ADDR Position */ -#define MPU_RBAR_ADDR_Msk (0x7FFFFFFul << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */ - -#define MPU_RBAR_VALID_Pos 4 /*!< MPU RBAR: VALID Position */ -#define MPU_RBAR_VALID_Msk (1ul << MPU_RBAR_VALID_Pos) /*!< MPU RBAR: VALID Mask */ - -#define MPU_RBAR_REGION_Pos 0 /*!< MPU RBAR: REGION Position */ -#define MPU_RBAR_REGION_Msk (0xFul << MPU_RBAR_REGION_Pos) /*!< MPU RBAR: REGION Mask */ - -/* MPU Region Attribute and Size Register */ -#define MPU_RASR_XN_Pos 28 /*!< MPU RASR: XN Position */ -#define MPU_RASR_XN_Msk (1ul << MPU_RASR_XN_Pos) /*!< MPU RASR: XN Mask */ - -#define MPU_RASR_AP_Pos 24 /*!< MPU RASR: AP Position */ -#define MPU_RASR_AP_Msk (7ul << MPU_RASR_AP_Pos) /*!< MPU RASR: AP Mask */ - -#define MPU_RASR_TEX_Pos 19 /*!< MPU RASR: TEX Position */ -#define MPU_RASR_TEX_Msk (7ul << MPU_RASR_TEX_Pos) /*!< MPU RASR: TEX Mask */ - -#define MPU_RASR_S_Pos 18 /*!< MPU RASR: Shareable bit Position */ -#define MPU_RASR_S_Msk (1ul << MPU_RASR_S_Pos) /*!< MPU RASR: Shareable bit Mask */ - -#define MPU_RASR_C_Pos 17 /*!< MPU RASR: Cacheable bit Position */ -#define MPU_RASR_C_Msk (1ul << MPU_RASR_C_Pos) /*!< MPU RASR: Cacheable bit Mask */ - -#define MPU_RASR_B_Pos 16 /*!< MPU RASR: Bufferable bit Position */ -#define MPU_RASR_B_Msk (1ul << MPU_RASR_B_Pos) /*!< MPU RASR: Bufferable bit Mask */ - -#define MPU_RASR_SRD_Pos 8 /*!< MPU RASR: Sub-Region Disable Position */ -#define MPU_RASR_SRD_Msk (0xFFul << MPU_RASR_SRD_Pos) /*!< MPU RASR: Sub-Region Disable Mask */ - -#define MPU_RASR_SIZE_Pos 1 /*!< MPU RASR: Region Size Field Position */ -#define MPU_RASR_SIZE_Msk (0x1Ful << MPU_RASR_SIZE_Pos) /*!< MPU RASR: Region Size Field Mask */ - -#define MPU_RASR_ENA_Pos 0 /*!< MPU RASR: Region enable bit Position */ -#define MPU_RASR_ENA_Msk (0x1Ful << MPU_RASR_ENA_Pos) /*!< MPU RASR: Region enable bit Disable Mask */ - -/*@}*/ /* end of group CMSIS_CM3_MPU */ -#endif - - -/** @addtogroup CMSIS_CM3_CoreDebug CMSIS CM3 Core Debug - memory mapped structure for Core Debug Register - @{ - */ -typedef struct -{ - __IO uint32_t DHCSR; /*!< Offset: 0x00 Debug Halting Control and Status Register */ - __O uint32_t DCRSR; /*!< Offset: 0x04 Debug Core Register Selector Register */ - __IO uint32_t DCRDR; /*!< Offset: 0x08 Debug Core Register Data Register */ - __IO uint32_t DEMCR; /*!< Offset: 0x0C Debug Exception and Monitor Control Register */ -} CoreDebug_Type; - -/* Debug Halting Control and Status Register */ -#define CoreDebug_DHCSR_DBGKEY_Pos 16 /*!< CoreDebug DHCSR: DBGKEY Position */ -#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFul << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ - -#define CoreDebug_DHCSR_S_RESET_ST_Pos 25 /*!< CoreDebug DHCSR: S_RESET_ST Position */ -#define CoreDebug_DHCSR_S_RESET_ST_Msk (1ul << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ - -#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24 /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ -#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1ul << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ - -#define CoreDebug_DHCSR_S_LOCKUP_Pos 19 /*!< CoreDebug DHCSR: S_LOCKUP Position */ -#define CoreDebug_DHCSR_S_LOCKUP_Msk (1ul << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ - -#define CoreDebug_DHCSR_S_SLEEP_Pos 18 /*!< CoreDebug DHCSR: S_SLEEP Position */ -#define CoreDebug_DHCSR_S_SLEEP_Msk (1ul << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ - -#define CoreDebug_DHCSR_S_HALT_Pos 17 /*!< CoreDebug DHCSR: S_HALT Position */ -#define CoreDebug_DHCSR_S_HALT_Msk (1ul << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ - -#define CoreDebug_DHCSR_S_REGRDY_Pos 16 /*!< CoreDebug DHCSR: S_REGRDY Position */ -#define CoreDebug_DHCSR_S_REGRDY_Msk (1ul << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ - -#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5 /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ -#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1ul << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ - -#define CoreDebug_DHCSR_C_MASKINTS_Pos 3 /*!< CoreDebug DHCSR: C_MASKINTS Position */ -#define CoreDebug_DHCSR_C_MASKINTS_Msk (1ul << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ - -#define CoreDebug_DHCSR_C_STEP_Pos 2 /*!< CoreDebug DHCSR: C_STEP Position */ -#define CoreDebug_DHCSR_C_STEP_Msk (1ul << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ - -#define CoreDebug_DHCSR_C_HALT_Pos 1 /*!< CoreDebug DHCSR: C_HALT Position */ -#define CoreDebug_DHCSR_C_HALT_Msk (1ul << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ - -#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0 /*!< CoreDebug DHCSR: C_DEBUGEN Position */ -#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1ul << CoreDebug_DHCSR_C_DEBUGEN_Pos) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ - -/* Debug Core Register Selector Register */ -#define CoreDebug_DCRSR_REGWnR_Pos 16 /*!< CoreDebug DCRSR: REGWnR Position */ -#define CoreDebug_DCRSR_REGWnR_Msk (1ul << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ - -#define CoreDebug_DCRSR_REGSEL_Pos 0 /*!< CoreDebug DCRSR: REGSEL Position */ -#define CoreDebug_DCRSR_REGSEL_Msk (0x1Ful << CoreDebug_DCRSR_REGSEL_Pos) /*!< CoreDebug DCRSR: REGSEL Mask */ - -/* Debug Exception and Monitor Control Register */ -#define CoreDebug_DEMCR_TRCENA_Pos 24 /*!< CoreDebug DEMCR: TRCENA Position */ -#define CoreDebug_DEMCR_TRCENA_Msk (1ul << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ - -#define CoreDebug_DEMCR_MON_REQ_Pos 19 /*!< CoreDebug DEMCR: MON_REQ Position */ -#define CoreDebug_DEMCR_MON_REQ_Msk (1ul << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ - -#define CoreDebug_DEMCR_MON_STEP_Pos 18 /*!< CoreDebug DEMCR: MON_STEP Position */ -#define CoreDebug_DEMCR_MON_STEP_Msk (1ul << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ - -#define CoreDebug_DEMCR_MON_PEND_Pos 17 /*!< CoreDebug DEMCR: MON_PEND Position */ -#define CoreDebug_DEMCR_MON_PEND_Msk (1ul << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ - -#define CoreDebug_DEMCR_MON_EN_Pos 16 /*!< CoreDebug DEMCR: MON_EN Position */ -#define CoreDebug_DEMCR_MON_EN_Msk (1ul << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ - -#define CoreDebug_DEMCR_VC_HARDERR_Pos 10 /*!< CoreDebug DEMCR: VC_HARDERR Position */ -#define CoreDebug_DEMCR_VC_HARDERR_Msk (1ul << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ - -#define CoreDebug_DEMCR_VC_INTERR_Pos 9 /*!< CoreDebug DEMCR: VC_INTERR Position */ -#define CoreDebug_DEMCR_VC_INTERR_Msk (1ul << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ - -#define CoreDebug_DEMCR_VC_BUSERR_Pos 8 /*!< CoreDebug DEMCR: VC_BUSERR Position */ -#define CoreDebug_DEMCR_VC_BUSERR_Msk (1ul << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ - -#define CoreDebug_DEMCR_VC_STATERR_Pos 7 /*!< CoreDebug DEMCR: VC_STATERR Position */ -#define CoreDebug_DEMCR_VC_STATERR_Msk (1ul << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ - -#define CoreDebug_DEMCR_VC_CHKERR_Pos 6 /*!< CoreDebug DEMCR: VC_CHKERR Position */ -#define CoreDebug_DEMCR_VC_CHKERR_Msk (1ul << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ - -#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5 /*!< CoreDebug DEMCR: VC_NOCPERR Position */ -#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1ul << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ - -#define CoreDebug_DEMCR_VC_MMERR_Pos 4 /*!< CoreDebug DEMCR: VC_MMERR Position */ -#define CoreDebug_DEMCR_VC_MMERR_Msk (1ul << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ - -#define CoreDebug_DEMCR_VC_CORERESET_Pos 0 /*!< CoreDebug DEMCR: VC_CORERESET Position */ -#define CoreDebug_DEMCR_VC_CORERESET_Msk (1ul << CoreDebug_DEMCR_VC_CORERESET_Pos) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ -/*@}*/ /* end of group CMSIS_CM3_CoreDebug */ - - -/* Memory mapping of Cortex-M3 Hardware */ -#define SCS_BASE (0xE000E000) /*!< System Control Space Base Address */ -#define ITM_BASE (0xE0000000) /*!< ITM Base Address */ -#define CoreDebug_BASE (0xE000EDF0) /*!< Core Debug Base Address */ -#define SysTick_BASE (SCS_BASE + 0x0010) /*!< SysTick Base Address */ -#define NVIC_BASE (SCS_BASE + 0x0100) /*!< NVIC Base Address */ -#define SCB_BASE (SCS_BASE + 0x0D00) /*!< System Control Block Base Address */ - -#define InterruptType ((InterruptType_Type *) SCS_BASE) /*!< Interrupt Type Register */ -#define SCB ((SCB_Type *) SCB_BASE) /*!< SCB configuration struct */ -#define SysTick ((SysTick_Type *) SysTick_BASE) /*!< SysTick configuration struct */ -#define NVIC ((NVIC_Type *) NVIC_BASE) /*!< NVIC configuration struct */ -#define ITM ((ITM_Type *) ITM_BASE) /*!< ITM configuration struct */ -#define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) /*!< Core Debug configuration struct */ - -#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1) - #define MPU_BASE (SCS_BASE + 0x0D90) /*!< Memory Protection Unit */ - #define MPU ((MPU_Type*) MPU_BASE) /*!< Memory Protection Unit */ -#endif - -/*@}*/ /* end of group CMSIS_CM3_core_register */ - - -/******************************************************************************* - * Hardware Abstraction Layer - ******************************************************************************/ - -#if defined ( __CC_ARM ) - #define __ASM __asm /*!< asm keyword for ARM Compiler */ - #define __INLINE __inline /*!< inline keyword for ARM Compiler */ - -#elif defined ( __ICCARM__ ) - #define __ASM __asm /*!< asm keyword for IAR Compiler */ - #define __INLINE inline /*!< inline keyword for IAR Compiler. Only avaiable in High optimization mode! */ - -#elif defined ( __GNUC__ ) - #define __ASM __asm /*!< asm keyword for GNU Compiler */ - #define __INLINE inline /*!< inline keyword for GNU Compiler */ - -#elif defined ( __TASKING__ ) - #define __ASM __asm /*!< asm keyword for TASKING Compiler */ - #define __INLINE inline /*!< inline keyword for TASKING Compiler */ - -#endif - - -/* ################### Compiler specific Intrinsics ########################### */ - -#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/ -/* ARM armcc specific functions */ - -#define __enable_fault_irq __enable_fiq -#define __disable_fault_irq __disable_fiq - -#define __NOP __nop -#define __WFI __wfi -#define __WFE __wfe -#define __SEV __sev -#define __ISB() __isb(0) -#define __DSB() __dsb(0) -#define __DMB() __dmb(0) -#define __REV __rev -#define __RBIT __rbit -#define __LDREXB(ptr) ((unsigned char ) __ldrex(ptr)) -#define __LDREXH(ptr) ((unsigned short) __ldrex(ptr)) -#define __LDREXW(ptr) ((unsigned int ) __ldrex(ptr)) -#define __STREXB(value, ptr) __strex(value, ptr) -#define __STREXH(value, ptr) __strex(value, ptr) -#define __STREXW(value, ptr) __strex(value, ptr) - - -/* intrinsic unsigned long long __ldrexd(volatile void *ptr) */ -/* intrinsic int __strexd(unsigned long long val, volatile void *ptr) */ -/* intrinsic void __enable_irq(); */ -/* intrinsic void __disable_irq(); */ - - -/** - * @brief Return the Process Stack Pointer - * - * @return ProcessStackPointer - * - * Return the actual process stack pointer - */ -extern uint32_t __get_PSP(void); - -/** - * @brief Set the Process Stack Pointer - * - * @param topOfProcStack Process Stack Pointer - * - * Assign the value ProcessStackPointer to the MSP - * (process stack pointer) Cortex processor register - */ -extern void __set_PSP(uint32_t topOfProcStack); - -/** - * @brief Return the Main Stack Pointer - * - * @return Main Stack Pointer - * - * Return the current value of the MSP (main stack pointer) - * Cortex processor register - */ -extern uint32_t __get_MSP(void); - -/** - * @brief Set the Main Stack Pointer - * - * @param topOfMainStack Main Stack Pointer - * - * Assign the value mainStackPointer to the MSP - * (main stack pointer) Cortex processor register - */ -extern void __set_MSP(uint32_t topOfMainStack); - -/** - * @brief Reverse byte order in unsigned short value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in unsigned short value - */ -extern uint32_t __REV16(uint16_t value); - -/** - * @brief Reverse byte order in signed short value with sign extension to integer - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in signed short value with sign extension to integer - */ -extern int32_t __REVSH(int16_t value); - - -#if (__ARMCC_VERSION < 400000) - -/** - * @brief Remove the exclusive lock created by ldrex - * - * Removes the exclusive lock which is created by ldrex. - */ -extern void __CLREX(void); - -/** - * @brief Return the Base Priority value - * - * @return BasePriority - * - * Return the content of the base priority register - */ -extern uint32_t __get_BASEPRI(void); - -/** - * @brief Set the Base Priority value - * - * @param basePri BasePriority - * - * Set the base priority register - */ -extern void __set_BASEPRI(uint32_t basePri); - -/** - * @brief Return the Priority Mask value - * - * @return PriMask - * - * Return state of the priority mask bit from the priority mask register - */ -extern uint32_t __get_PRIMASK(void); - -/** - * @brief Set the Priority Mask value - * - * @param priMask PriMask - * - * Set the priority mask bit in the priority mask register - */ -extern void __set_PRIMASK(uint32_t priMask); - -/** - * @brief Return the Fault Mask value - * - * @return FaultMask - * - * Return the content of the fault mask register - */ -extern uint32_t __get_FAULTMASK(void); - -/** - * @brief Set the Fault Mask value - * - * @param faultMask faultMask value - * - * Set the fault mask register - */ -extern void __set_FAULTMASK(uint32_t faultMask); - -/** - * @brief Return the Control Register value - * - * @return Control value - * - * Return the content of the control register - */ -extern uint32_t __get_CONTROL(void); - -/** - * @brief Set the Control Register value - * - * @param control Control value - * - * Set the control register - */ -extern void __set_CONTROL(uint32_t control); - -#else /* (__ARMCC_VERSION >= 400000) */ - -/** - * @brief Remove the exclusive lock created by ldrex - * - * Removes the exclusive lock which is created by ldrex. - */ -#define __CLREX __clrex - -/** - * @brief Return the Base Priority value - * - * @return BasePriority - * - * Return the content of the base priority register - */ -static __INLINE uint32_t __get_BASEPRI(void) -{ - register uint32_t __regBasePri __ASM("basepri"); - return(__regBasePri); -} - -/** - * @brief Set the Base Priority value - * - * @param basePri BasePriority - * - * Set the base priority register - */ -static __INLINE void __set_BASEPRI(uint32_t basePri) -{ - register uint32_t __regBasePri __ASM("basepri"); - __regBasePri = (basePri & 0xff); -} - -/** - * @brief Return the Priority Mask value - * - * @return PriMask - * - * Return state of the priority mask bit from the priority mask register - */ -static __INLINE uint32_t __get_PRIMASK(void) -{ - register uint32_t __regPriMask __ASM("primask"); - return(__regPriMask); -} - -/** - * @brief Set the Priority Mask value - * - * @param priMask PriMask - * - * Set the priority mask bit in the priority mask register - */ -static __INLINE void __set_PRIMASK(uint32_t priMask) -{ - register uint32_t __regPriMask __ASM("primask"); - __regPriMask = (priMask); -} - -/** - * @brief Return the Fault Mask value - * - * @return FaultMask - * - * Return the content of the fault mask register - */ -static __INLINE uint32_t __get_FAULTMASK(void) -{ - register uint32_t __regFaultMask __ASM("faultmask"); - return(__regFaultMask); -} - -/** - * @brief Set the Fault Mask value - * - * @param faultMask faultMask value - * - * Set the fault mask register - */ -static __INLINE void __set_FAULTMASK(uint32_t faultMask) -{ - register uint32_t __regFaultMask __ASM("faultmask"); - __regFaultMask = (faultMask & 1); -} - -/** - * @brief Return the Control Register value - * - * @return Control value - * - * Return the content of the control register - */ -static __INLINE uint32_t __get_CONTROL(void) -{ - register uint32_t __regControl __ASM("control"); - return(__regControl); -} - -/** - * @brief Set the Control Register value - * - * @param control Control value - * - * Set the control register - */ -static __INLINE void __set_CONTROL(uint32_t control) -{ - register uint32_t __regControl __ASM("control"); - __regControl = control; -} - -#endif /* __ARMCC_VERSION */ - - - -#elif (defined (__ICCARM__)) /*------------------ ICC Compiler -------------------*/ -/* IAR iccarm specific functions */ - -#define __enable_irq __enable_interrupt /*!< global Interrupt enable */ -#define __disable_irq __disable_interrupt /*!< global Interrupt disable */ - -static __INLINE void __enable_fault_irq() { __ASM ("cpsie f"); } -static __INLINE void __disable_fault_irq() { __ASM ("cpsid f"); } - -#define __NOP __no_operation /*!< no operation intrinsic in IAR Compiler */ -static __INLINE void __WFI() { __ASM ("wfi"); } -static __INLINE void __WFE() { __ASM ("wfe"); } -static __INLINE void __SEV() { __ASM ("sev"); } -static __INLINE void __CLREX() { __ASM ("clrex"); } - -/* intrinsic void __ISB(void) */ -/* intrinsic void __DSB(void) */ -/* intrinsic void __DMB(void) */ -/* intrinsic void __set_PRIMASK(); */ -/* intrinsic void __get_PRIMASK(); */ -/* intrinsic void __set_FAULTMASK(); */ -/* intrinsic void __get_FAULTMASK(); */ -/* intrinsic uint32_t __REV(uint32_t value); */ -/* intrinsic uint32_t __REVSH(uint32_t value); */ -/* intrinsic unsigned long __STREX(unsigned long, unsigned long); */ -/* intrinsic unsigned long __LDREX(unsigned long *); */ - - -/** - * @brief Return the Process Stack Pointer - * - * @return ProcessStackPointer - * - * Return the actual process stack pointer - */ -extern uint32_t __get_PSP(void); - -/** - * @brief Set the Process Stack Pointer - * - * @param topOfProcStack Process Stack Pointer - * - * Assign the value ProcessStackPointer to the MSP - * (process stack pointer) Cortex processor register - */ -extern void __set_PSP(uint32_t topOfProcStack); - -/** - * @brief Return the Main Stack Pointer - * - * @return Main Stack Pointer - * - * Return the current value of the MSP (main stack pointer) - * Cortex processor register - */ -extern uint32_t __get_MSP(void); - -/** - * @brief Set the Main Stack Pointer - * - * @param topOfMainStack Main Stack Pointer - * - * Assign the value mainStackPointer to the MSP - * (main stack pointer) Cortex processor register - */ -extern void __set_MSP(uint32_t topOfMainStack); - -/** - * @brief Reverse byte order in unsigned short value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in unsigned short value - */ -extern uint32_t __REV16(uint16_t value); - -/** - * @brief Reverse bit order of value - * - * @param value value to reverse - * @return reversed value - * - * Reverse bit order of value - */ -extern uint32_t __RBIT(uint32_t value); - -/** - * @brief LDR Exclusive (8 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 8 bit values) - */ -extern uint8_t __LDREXB(uint8_t *addr); - -/** - * @brief LDR Exclusive (16 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 16 bit values - */ -extern uint16_t __LDREXH(uint16_t *addr); - -/** - * @brief LDR Exclusive (32 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 32 bit values - */ -extern uint32_t __LDREXW(uint32_t *addr); - -/** - * @brief STR Exclusive (8 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 8 bit values - */ -extern uint32_t __STREXB(uint8_t value, uint8_t *addr); - -/** - * @brief STR Exclusive (16 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 16 bit values - */ -extern uint32_t __STREXH(uint16_t value, uint16_t *addr); - -/** - * @brief STR Exclusive (32 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 32 bit values - */ -extern uint32_t __STREXW(uint32_t value, uint32_t *addr); - - - -#elif (defined (__GNUC__)) /*------------------ GNU Compiler ---------------------*/ -/* GNU gcc specific functions */ - -static __INLINE void __enable_irq() { __ASM volatile ("cpsie i"); } -static __INLINE void __disable_irq() { __ASM volatile ("cpsid i"); } - -static __INLINE void __enable_fault_irq() { __ASM volatile ("cpsie f"); } -static __INLINE void __disable_fault_irq() { __ASM volatile ("cpsid f"); } - -static __INLINE void __NOP() { __ASM volatile ("nop"); } -static __INLINE void __WFI() { __ASM volatile ("wfi"); } -static __INLINE void __WFE() { __ASM volatile ("wfe"); } -static __INLINE void __SEV() { __ASM volatile ("sev"); } -static __INLINE void __ISB() { __ASM volatile ("isb"); } -static __INLINE void __DSB() { __ASM volatile ("dsb"); } -static __INLINE void __DMB() { __ASM volatile ("dmb"); } -static __INLINE void __CLREX() { __ASM volatile ("clrex"); } - - -/** - * @brief Return the Process Stack Pointer - * - * @return ProcessStackPointer - * - * Return the actual process stack pointer - */ -extern uint32_t __get_PSP(void); - -/** - * @brief Set the Process Stack Pointer - * - * @param topOfProcStack Process Stack Pointer - * - * Assign the value ProcessStackPointer to the MSP - * (process stack pointer) Cortex processor register - */ -extern void __set_PSP(uint32_t topOfProcStack); - -/** - * @brief Return the Main Stack Pointer - * - * @return Main Stack Pointer - * - * Return the current value of the MSP (main stack pointer) - * Cortex processor register - */ -extern uint32_t __get_MSP(void); - -/** - * @brief Set the Main Stack Pointer - * - * @param topOfMainStack Main Stack Pointer - * - * Assign the value mainStackPointer to the MSP - * (main stack pointer) Cortex processor register - */ -extern void __set_MSP(uint32_t topOfMainStack); - -/** - * @brief Return the Base Priority value - * - * @return BasePriority - * - * Return the content of the base priority register - */ -extern uint32_t __get_BASEPRI(void); - -/** - * @brief Set the Base Priority value - * - * @param basePri BasePriority - * - * Set the base priority register - */ -extern void __set_BASEPRI(uint32_t basePri); - -/** - * @brief Return the Priority Mask value - * - * @return PriMask - * - * Return state of the priority mask bit from the priority mask register - */ -extern uint32_t __get_PRIMASK(void); - -/** - * @brief Set the Priority Mask value - * - * @param priMask PriMask - * - * Set the priority mask bit in the priority mask register - */ -extern void __set_PRIMASK(uint32_t priMask); - -/** - * @brief Return the Fault Mask value - * - * @return FaultMask - * - * Return the content of the fault mask register - */ -extern uint32_t __get_FAULTMASK(void); - -/** - * @brief Set the Fault Mask value - * - * @param faultMask faultMask value - * - * Set the fault mask register - */ -extern void __set_FAULTMASK(uint32_t faultMask); - -/** - * @brief Return the Control Register value -* -* @return Control value - * - * Return the content of the control register - */ -extern uint32_t __get_CONTROL(void); - -/** - * @brief Set the Control Register value - * - * @param control Control value - * - * Set the control register - */ -extern void __set_CONTROL(uint32_t control); - -/** - * @brief Reverse byte order in integer value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in integer value - */ -extern uint32_t __REV(uint32_t value); - -/** - * @brief Reverse byte order in unsigned short value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in unsigned short value - */ -extern uint32_t __REV16(uint16_t value); - -/** - * @brief Reverse byte order in signed short value with sign extension to integer - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in signed short value with sign extension to integer - */ -extern int32_t __REVSH(int16_t value); - -/** - * @brief Reverse bit order of value - * - * @param value value to reverse - * @return reversed value - * - * Reverse bit order of value - */ -extern uint32_t __RBIT(uint32_t value); - -/** - * @brief LDR Exclusive (8 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 8 bit value - */ -extern uint8_t __LDREXB(uint8_t *addr); - -/** - * @brief LDR Exclusive (16 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 16 bit values - */ -extern uint16_t __LDREXH(uint16_t *addr); - -/** - * @brief LDR Exclusive (32 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 32 bit values - */ -extern uint32_t __LDREXW(uint32_t *addr); - -/** - * @brief STR Exclusive (8 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 8 bit values - */ -extern uint32_t __STREXB(uint8_t value, uint8_t *addr); - -/** - * @brief STR Exclusive (16 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 16 bit values - */ -extern uint32_t __STREXH(uint16_t value, uint16_t *addr); - -/** - * @brief STR Exclusive (32 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 32 bit values - */ -extern uint32_t __STREXW(uint32_t value, uint32_t *addr); - - -#elif (defined (__TASKING__)) /*------------------ TASKING Compiler ---------------------*/ -/* TASKING carm specific functions */ - -/* - * The CMSIS functions have been implemented as intrinsics in the compiler. - * Please use "carm -?i" to get an up to date list of all instrinsics, - * Including the CMSIS ones. - */ - -#endif - - -/** @addtogroup CMSIS_CM3_Core_FunctionInterface CMSIS CM3 Core Function Interface - Core Function Interface containing: - - Core NVIC Functions - - Core SysTick Functions - - Core Reset Functions -*/ -/*@{*/ - -/* ########################## NVIC functions #################################### */ - -/** - * @brief Set the Priority Grouping in NVIC Interrupt Controller - * - * @param PriorityGroup is priority grouping field - * - * Set the priority grouping field using the required unlock sequence. - * The parameter priority_grouping is assigned to the field - * SCB->AIRCR [10:8] PRIGROUP field. Only values from 0..7 are used. - * In case of a conflict between priority grouping and available - * priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. - */ -static __INLINE void NVIC_SetPriorityGrouping(uint32_t PriorityGroup) -{ - uint32_t reg_value; - uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); /* only values 0..7 are used */ - - reg_value = SCB->AIRCR; /* read old register configuration */ - reg_value &= ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk); /* clear bits to change */ - reg_value = (reg_value | - (0x5FA << SCB_AIRCR_VECTKEY_Pos) | - (PriorityGroupTmp << 8)); /* Insert write key and priorty group */ - SCB->AIRCR = reg_value; -} - -/** - * @brief Get the Priority Grouping from NVIC Interrupt Controller - * - * @return priority grouping field - * - * Get the priority grouping from NVIC Interrupt Controller. - * priority grouping is SCB->AIRCR [10:8] PRIGROUP field. - */ -static __INLINE uint32_t NVIC_GetPriorityGrouping(void) -{ - return ((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos); /* read priority grouping field */ -} - -/** - * @brief Enable Interrupt in NVIC Interrupt Controller - * - * @param IRQn The positive number of the external interrupt to enable - * - * Enable a device specific interupt in the NVIC interrupt controller. - * The interrupt number cannot be a negative value. - */ -static __INLINE void NVIC_EnableIRQ(IRQn_Type IRQn) -{ - NVIC->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* enable interrupt */ -} - -/** - * @brief Disable the interrupt line for external interrupt specified - * - * @param IRQn The positive number of the external interrupt to disable - * - * Disable a device specific interupt in the NVIC interrupt controller. - * The interrupt number cannot be a negative value. - */ -static __INLINE void NVIC_DisableIRQ(IRQn_Type IRQn) -{ - NVIC->ICER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* disable interrupt */ -} - -/** - * @brief Read the interrupt pending bit for a device specific interrupt source - * - * @param IRQn The number of the device specifc interrupt - * @return 1 = interrupt pending, 0 = interrupt not pending - * - * Read the pending register in NVIC and return 1 if its status is pending, - * otherwise it returns 0 - */ -static __INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn) -{ - return((uint32_t) ((NVIC->ISPR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if pending else 0 */ -} - -/** - * @brief Set the pending bit for an external interrupt - * - * @param IRQn The number of the interrupt for set pending - * - * Set the pending bit for the specified interrupt. - * The interrupt number cannot be a negative value. - */ -static __INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn) -{ - NVIC->ISPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* set interrupt pending */ -} - -/** - * @brief Clear the pending bit for an external interrupt - * - * @param IRQn The number of the interrupt for clear pending - * - * Clear the pending bit for the specified interrupt. - * The interrupt number cannot be a negative value. - */ -static __INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn) -{ - NVIC->ICPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* Clear pending interrupt */ -} - -/** - * @brief Read the active bit for an external interrupt - * - * @param IRQn The number of the interrupt for read active bit - * @return 1 = interrupt active, 0 = interrupt not active - * - * Read the active register in NVIC and returns 1 if its status is active, - * otherwise it returns 0. - */ -static __INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn) -{ - return((uint32_t)((NVIC->IABR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if active else 0 */ -} - -/** - * @brief Set the priority for an interrupt - * - * @param IRQn The number of the interrupt for set priority - * @param priority The priority to set - * - * Set the priority for the specified interrupt. The interrupt - * number can be positive to specify an external (device specific) - * interrupt, or negative to specify an internal (core) interrupt. - * - * Note: The priority cannot be set for every core interrupt. - */ -static __INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) -{ - if(IRQn < 0) { - SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for Cortex-M3 System Interrupts */ - else { - NVIC->IP[(uint32_t)(IRQn)] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for device specific Interrupts */ -} - -/** - * @brief Read the priority for an interrupt - * - * @param IRQn The number of the interrupt for get priority - * @return The priority for the interrupt - * - * Read the priority for the specified interrupt. The interrupt - * number can be positive to specify an external (device specific) - * interrupt, or negative to specify an internal (core) interrupt. - * - * The returned priority value is automatically aligned to the implemented - * priority bits of the microcontroller. - * - * Note: The priority cannot be set for every core interrupt. - */ -static __INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn) -{ - - if(IRQn < 0) { - return((uint32_t)(SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] >> (8 - __NVIC_PRIO_BITS))); } /* get priority for Cortex-M3 system interrupts */ - else { - return((uint32_t)(NVIC->IP[(uint32_t)(IRQn)] >> (8 - __NVIC_PRIO_BITS))); } /* get priority for device specific interrupts */ -} - - -/** - * @brief Encode the priority for an interrupt - * - * @param PriorityGroup The used priority group - * @param PreemptPriority The preemptive priority value (starting from 0) - * @param SubPriority The sub priority value (starting from 0) - * @return The encoded priority for the interrupt - * - * Encode the priority for an interrupt with the given priority group, - * preemptive priority value and sub priority value. - * In case of a conflict between priority grouping and available - * priority bits (__NVIC_PRIO_BITS) the samllest possible priority group is set. - * - * The returned priority value can be used for NVIC_SetPriority(...) function - */ -static __INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) -{ - uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); /* only values 0..7 are used */ - uint32_t PreemptPriorityBits; - uint32_t SubPriorityBits; - - PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp; - SubPriorityBits = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS; - - return ( - ((PreemptPriority & ((1 << (PreemptPriorityBits)) - 1)) << SubPriorityBits) | - ((SubPriority & ((1 << (SubPriorityBits )) - 1))) - ); -} - - -/** - * @brief Decode the priority of an interrupt - * - * @param Priority The priority for the interrupt - * @param PriorityGroup The used priority group - * @param pPreemptPriority The preemptive priority value (starting from 0) - * @param pSubPriority The sub priority value (starting from 0) - * - * Decode an interrupt priority value with the given priority group to - * preemptive priority value and sub priority value. - * In case of a conflict between priority grouping and available - * priority bits (__NVIC_PRIO_BITS) the samllest possible priority group is set. - * - * The priority value can be retrieved with NVIC_GetPriority(...) function - */ -static __INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority) -{ - uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); /* only values 0..7 are used */ - uint32_t PreemptPriorityBits; - uint32_t SubPriorityBits; - - PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp; - SubPriorityBits = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS; - - *pPreemptPriority = (Priority >> SubPriorityBits) & ((1 << (PreemptPriorityBits)) - 1); - *pSubPriority = (Priority ) & ((1 << (SubPriorityBits )) - 1); -} - - - -/* ################################## SysTick function ############################################ */ - -#if (!defined (__Vendor_SysTickConfig)) || (__Vendor_SysTickConfig == 0) - -/** - * @brief Initialize and start the SysTick counter and its interrupt. - * - * @param ticks number of ticks between two interrupts - * @return 1 = failed, 0 = successful - * - * Initialise the system tick timer and its interrupt and start the - * system tick timer / counter in free running mode to generate - * periodical interrupts. - */ -static __INLINE uint32_t SysTick_Config(uint32_t ticks) -{ - if (ticks > SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible */ - - SysTick->LOAD = (ticks & SysTick_LOAD_RELOAD_Msk) - 1; /* set reload register */ - NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1); /* set Priority for Cortex-M0 System Interrupts */ - SysTick->VAL = 0; /* Load the SysTick Counter Value */ - SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - SysTick_CTRL_TICKINT_Msk | - SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ - return (0); /* Function successful */ -} - -#endif - - - - -/* ################################## Reset function ############################################ */ - -/** - * @brief Initiate a system reset request. - * - * Initiate a system reset request to reset the MCU - */ -static __INLINE void NVIC_SystemReset(void) -{ - SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) | - (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | - SCB_AIRCR_SYSRESETREQ_Msk); /* Keep priority group unchanged */ - __DSB(); /* Ensure completion of memory access */ - while(1); /* wait until reset */ -} - -/*@}*/ /* end of group CMSIS_CM3_Core_FunctionInterface */ - - - -/* ##################################### Debug In/Output function ########################################### */ - -/** @addtogroup CMSIS_CM3_CoreDebugInterface CMSIS CM3 Core Debug Interface - Core Debug Interface containing: - - Core Debug Receive / Transmit Functions - - Core Debug Defines - - Core Debug Variables -*/ -/*@{*/ - -extern volatile int ITM_RxBuffer; /*!< variable to receive characters */ -#define ITM_RXBUFFER_EMPTY 0x5AA55AA5 /*!< value identifying ITM_RxBuffer is ready for next character */ - - -/** - * @brief Outputs a character via the ITM channel 0 - * - * @param ch character to output - * @return character to output - * - * The function outputs a character via the ITM channel 0. - * The function returns when no debugger is connected that has booked the output. - * It is blocking when a debugger is connected, but the previous character send is not transmitted. - */ -static __INLINE uint32_t ITM_SendChar (uint32_t ch) -{ - if ((CoreDebug->DEMCR & CoreDebug_DEMCR_TRCENA_Msk) && /* Trace enabled */ - (ITM->TCR & ITM_TCR_ITMENA_Msk) && /* ITM enabled */ - (ITM->TER & (1ul << 0) ) ) /* ITM Port #0 enabled */ - { - while (ITM->PORT[0].u32 == 0); - ITM->PORT[0].u8 = (uint8_t) ch; - } - return (ch); -} - - -/** - * @brief Inputs a character via variable ITM_RxBuffer - * - * @return received character, -1 = no character received - * - * The function inputs a character via variable ITM_RxBuffer. - * The function returns when no debugger is connected that has booked the output. - * It is blocking when a debugger is connected, but the previous character send is not transmitted. - */ -static __INLINE int ITM_ReceiveChar (void) { - int ch = -1; /* no character available */ - - if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) { - ch = ITM_RxBuffer; - ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ - } - - return (ch); -} - - -/** - * @brief Check if a character via variable ITM_RxBuffer is available - * - * @return 1 = character available, 0 = no character available - * - * The function checks variable ITM_RxBuffer whether a character is available or not. - * The function returns '1' if a character is available and '0' if no character is available. - */ -static __INLINE int ITM_CheckChar (void) { - - if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) { - return (0); /* no character available */ - } else { - return (1); /* character available */ - } -} - -/*@}*/ /* end of group CMSIS_CM3_core_DebugInterface */ - - -#ifdef __cplusplus -} -#endif - -/*@}*/ /* end of group CMSIS_CM3_core_definitions */ - -#endif /* __CM3_CORE_H__ */ - -/*lint -restore */ diff --git a/bitbucket_lpc1768/CMSIS/system_LPC17xx.c b/bitbucket_lpc1768/CMSIS/system_LPC17xx.c deleted file mode 100755 index 9687619..0000000 --- a/bitbucket_lpc1768/CMSIS/system_LPC17xx.c +++ /dev/null @@ -1,559 +0,0 @@ -/**************************************************************************//** - * @file system_LPC17xx.c - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer Source File - * for the NXP LPC17xx Device Series - * @version V1.03 - * @date 07. October 2009 - * - * @note - * Copyright (C) 2009 ARM Limited. All rights reserved. - * - * @par - * ARM Limited (ARM) is supplying this software for use with Cortex-M - * processor based microcontrollers. This file can be freely distributed - * within development tools that are supporting such ARM based processors. - * - * @par - * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED - * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. - * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR - * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - * - ******************************************************************************/ - - -#include -#include "LPC17xx.h" - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -*/ - -/*--------------------- Clock Configuration ---------------------------------- -// -// Clock Configuration -// System Controls and Status Register (SCS) -// OSCRANGE: Main Oscillator Range Select -// <0=> 1 MHz to 20 MHz -// <1=> 15 MHz to 24 MHz -// OSCEN: Main Oscillator Enable -// -// -// -// Clock Source Select Register (CLKSRCSEL) -// CLKSRC: PLL Clock Source Selection -// <0=> Internal RC oscillator -// <1=> Main oscillator -// <2=> RTC oscillator -// -// -// PLL0 Configuration (Main PLL) -// PLL0 Configuration Register (PLL0CFG) -// F_cco0 = (2 * M * F_in) / N -// F_in must be in the range of 32 kHz to 50 MHz -// F_cco0 must be in the range of 275 MHz to 550 MHz -// MSEL: PLL Multiplier Selection -// <6-32768><#-1> -// M Value -// NSEL: PLL Divider Selection -// <1-256><#-1> -// N Value -// -// -// -// PLL1 Configuration (USB PLL) -// PLL1 Configuration Register (PLL1CFG) -// F_usb = M * F_osc or F_usb = F_cco1 / (2 * P) -// F_cco1 = F_osc * M * 2 * P -// F_cco1 must be in the range of 156 MHz to 320 MHz -// MSEL: PLL Multiplier Selection -// <1-32><#-1> -// M Value (for USB maximum value is 4) -// PSEL: PLL Divider Selection -// <0=> 1 -// <1=> 2 -// <2=> 4 -// <3=> 8 -// P Value -// -// -// -// CPU Clock Configuration Register (CCLKCFG) -// CCLKSEL: Divide Value for CPU Clock from PLL0 -// <3-256><#-1> -// -// -// USB Clock Configuration Register (USBCLKCFG) -// USBSEL: Divide Value for USB Clock from PLL0 -// <0-15> -// Divide is USBSEL + 1 -// -// -// Peripheral Clock Selection Register 0 (PCLKSEL0) -// PCLK_WDT: Peripheral Clock Selection for WDT -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_TIMER0: Peripheral Clock Selection for TIMER0 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_TIMER1: Peripheral Clock Selection for TIMER1 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_UART0: Peripheral Clock Selection for UART0 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_UART1: Peripheral Clock Selection for UART1 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_PWM1: Peripheral Clock Selection for PWM1 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_I2C0: Peripheral Clock Selection for I2C0 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_SPI: Peripheral Clock Selection for SPI -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_SSP1: Peripheral Clock Selection for SSP1 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_DAC: Peripheral Clock Selection for DAC -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_ADC: Peripheral Clock Selection for ADC -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_CAN1: Peripheral Clock Selection for CAN1 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 6 -// PCLK_CAN2: Peripheral Clock Selection for CAN2 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 6 -// PCLK_ACF: Peripheral Clock Selection for ACF -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 6 -// -// -// Peripheral Clock Selection Register 1 (PCLKSEL1) -// PCLK_QEI: Peripheral Clock Selection for the Quadrature Encoder Interface -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_GPIO: Peripheral Clock Selection for GPIOs -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_PCB: Peripheral Clock Selection for the Pin Connect Block -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_I2C1: Peripheral Clock Selection for I2C1 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_SSP0: Peripheral Clock Selection for SSP0 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_TIMER2: Peripheral Clock Selection for TIMER2 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_TIMER3: Peripheral Clock Selection for TIMER3 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_UART2: Peripheral Clock Selection for UART2 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_UART3: Peripheral Clock Selection for UART3 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_I2C2: Peripheral Clock Selection for I2C2 -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_I2S: Peripheral Clock Selection for I2S -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_RIT: Peripheral Clock Selection for the Repetitive Interrupt Timer -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_SYSCON: Peripheral Clock Selection for the System Control Block -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// PCLK_MC: Peripheral Clock Selection for the Motor Control PWM -// <0=> Pclk = Cclk / 4 -// <1=> Pclk = Cclk -// <2=> Pclk = Cclk / 2 -// <3=> Pclk = Hclk / 8 -// -// -// Power Control for Peripherals Register (PCONP) -// PCTIM0: Timer/Counter 0 power/clock enable -// PCTIM1: Timer/Counter 1 power/clock enable -// PCUART0: UART 0 power/clock enable -// PCUART1: UART 1 power/clock enable -// PCPWM1: PWM 1 power/clock enable -// PCI2C0: I2C interface 0 power/clock enable -// PCSPI: SPI interface power/clock enable -// PCRTC: RTC power/clock enable -// PCSSP1: SSP interface 1 power/clock enable -// PCAD: A/D converter power/clock enable -// PCCAN1: CAN controller 1 power/clock enable -// PCCAN2: CAN controller 2 power/clock enable -// PCGPIO: GPIOs power/clock enable -// PCRIT: Repetitive interrupt timer power/clock enable -// PCMC: Motor control PWM power/clock enable -// PCQEI: Quadrature encoder interface power/clock enable -// PCI2C1: I2C interface 1 power/clock enable -// PCSSP0: SSP interface 0 power/clock enable -// PCTIM2: Timer 2 power/clock enable -// PCTIM3: Timer 3 power/clock enable -// PCUART2: UART 2 power/clock enable -// PCUART3: UART 3 power/clock enable -// PCI2C2: I2C interface 2 power/clock enable -// PCI2S: I2S interface power/clock enable -// PCGPDMA: GP DMA function power/clock enable -// PCENET: Ethernet block power/clock enable -// PCUSB: USB interface power/clock enable -// -// -// Clock Output Configuration Register (CLKOUTCFG) -// CLKOUTSEL: Selects clock source for CLKOUT -// <0=> CPU clock -// <1=> Main oscillator -// <2=> Internal RC oscillator -// <3=> USB clock -// <4=> RTC oscillator -// CLKOUTDIV: Selects clock divider for CLKOUT -// <1-16><#-1> -// CLKOUT_EN: CLKOUT enable control -// -// -// -*/ -#define CLOCK_SETUP 1 -#define SCS_Val 0x00000020 -#define CLKSRCSEL_Val 0x00000001 -#define PLL0_SETUP 1 -#define PLL0CFG_Val 0x00050063 -#define PLL1_SETUP 1 -#define PLL1CFG_Val 0x00000023 -#define CCLKCFG_Val 0x00000003 -#define USBCLKCFG_Val 0x00000000 -#define PCLKSEL0_Val 0x00000000 -#define PCLKSEL1_Val 0x00000000 -#define PCONP_Val 0x042887DE -#define CLKOUTCFG_Val 0x00000000 - - -/*--------------------- Flash Accelerator Configuration ---------------------- -// -// Flash Accelerator Configuration -// Reserved -// FLASHTIM: Flash Access Time -// <0=> 1 CPU clock (for CPU clock up to 20 MHz) -// <1=> 2 CPU clocks (for CPU clock up to 40 MHz) -// <2=> 3 CPU clocks (for CPU clock up to 60 MHz) -// <3=> 4 CPU clocks (for CPU clock up to 80 MHz) -// <4=> 5 CPU clocks (for CPU clock up to 100 MHz) -// <5=> 6 CPU clocks (for any CPU clock) -// -*/ -#define FLASH_SETUP 1 -#define FLASHCFG_Val 0x0000303A - -/* -//-------- <<< end of configuration section >>> ------------------------------ -*/ - -/*---------------------------------------------------------------------------- - Check the register settings - *----------------------------------------------------------------------------*/ -#define CHECK_RANGE(val, min, max) ((val < min) || (val > max)) -#define CHECK_RSVD(val, mask) (val & mask) - -/* Clock Configuration -------------------------------------------------------*/ -#if (CHECK_RSVD((SCS_Val), ~0x00000030)) - #error "SCS: Invalid values of reserved bits!" -#endif - -#if (CHECK_RANGE((CLKSRCSEL_Val), 0, 2)) - #error "CLKSRCSEL: Value out of range!" -#endif - -#if (CHECK_RSVD((PLL0CFG_Val), ~0x00FF7FFF)) - #error "PLL0CFG: Invalid values of reserved bits!" -#endif - -#if (CHECK_RSVD((PLL1CFG_Val), ~0x0000007F)) - #error "PLL1CFG: Invalid values of reserved bits!" -#endif - -#if ((CCLKCFG_Val != 0) && (((CCLKCFG_Val - 1) % 2))) - #error "CCLKCFG: CCLKSEL field does not contain only odd values or 0!" -#endif - -#if (CHECK_RSVD((USBCLKCFG_Val), ~0x0000000F)) - #error "USBCLKCFG: Invalid values of reserved bits!" -#endif - -#if (CHECK_RSVD((PCLKSEL0_Val), 0x000C0C00)) - #error "PCLKSEL0: Invalid values of reserved bits!" -#endif - -#if (CHECK_RSVD((PCLKSEL1_Val), 0x03000300)) - #error "PCLKSEL1: Invalid values of reserved bits!" -#endif - -#if (CHECK_RSVD((PCONP_Val), 0x10100821)) - #error "PCONP: Invalid values of reserved bits!" -#endif - -#if (CHECK_RSVD((CLKOUTCFG_Val), ~0x000001FF)) - #error "CLKOUTCFG: Invalid values of reserved bits!" -#endif - -/* Flash Accelerator Configuration -------------------------------------------*/ -#if (CHECK_RSVD((FLASHCFG_Val), ~0x0000F07F)) - #error "FLASHCFG: Invalid values of reserved bits!" -#endif - - -/*---------------------------------------------------------------------------- - DEFINES - *----------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (12000000UL) /* Oscillator frequency */ -#define OSC_CLK ( XTAL) /* Main oscillator frequency */ -#define RTC_CLK ( 32000UL) /* RTC oscillator frequency */ -#define IRC_OSC ( 4000000UL) /* Internal RC oscillator frequency */ - - -/* F_cco0 = (2 * M * F_in) / N */ -#define __M (((PLL0CFG_Val ) & 0x7FFF) + 1) -#define __N (((PLL0CFG_Val >> 16) & 0x00FF) + 1) -#define __FCCO(__F_IN) ((2 * __M * __F_IN) / __N) -#define __CCLK_DIV (((CCLKCFG_Val ) & 0x00FF) + 1) - -/* Determine core clock frequency according to settings */ - #if (PLL0_SETUP) - #if ((CLKSRCSEL_Val & 0x03) == 1) - #define __CORE_CLK (__FCCO(OSC_CLK) / __CCLK_DIV) - #elif ((CLKSRCSEL_Val & 0x03) == 2) - #define __CORE_CLK (__FCCO(RTC_CLK) / __CCLK_DIV) - #else - #define __CORE_CLK (__FCCO(IRC_OSC) / __CCLK_DIV) - #endif - #else - #if ((CLKSRCSEL_Val & 0x03) == 1) - #define __CORE_CLK (OSC_CLK / __CCLK_DIV) - #elif ((CLKSRCSEL_Val & 0x03) == 2) - #define __CORE_CLK (RTC_CLK / __CCLK_DIV) - #else - #define __CORE_CLK (IRC_OSC / __CCLK_DIV) - #endif - #endif - - -/*---------------------------------------------------------------------------- - Clock Variable definitions - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = __CORE_CLK;/*!< System Clock Frequency (Core Clock)*/ - - -/*---------------------------------------------------------------------------- - Clock functions - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) /* Get Core Clock Frequency */ -{ - /* Determine clock frequency according to clock register values */ - if (((LPC_SC->PLL0STAT >> 24) & 3) == 3) { /* If PLL0 enabled and connected */ - switch (LPC_SC->CLKSRCSEL & 0x03) { - case 0: /* Int. RC oscillator => PLL0 */ - case 3: /* Reserved, default to Int. RC */ - SystemCoreClock = (IRC_OSC * - ((2 * ((LPC_SC->PLL0STAT & 0x7FFF) + 1))) / - (((LPC_SC->PLL0STAT >> 16) & 0xFF) + 1) / - ((LPC_SC->CCLKCFG & 0xFF)+ 1)); - break; - case 1: /* Main oscillator => PLL0 */ - SystemCoreClock = (OSC_CLK * - ((2 * ((LPC_SC->PLL0STAT & 0x7FFF) + 1))) / - (((LPC_SC->PLL0STAT >> 16) & 0xFF) + 1) / - ((LPC_SC->CCLKCFG & 0xFF)+ 1)); - break; - case 2: /* RTC oscillator => PLL0 */ - SystemCoreClock = (RTC_CLK * - ((2 * ((LPC_SC->PLL0STAT & 0x7FFF) + 1))) / - (((LPC_SC->PLL0STAT >> 16) & 0xFF) + 1) / - ((LPC_SC->CCLKCFG & 0xFF)+ 1)); - break; - } - } else { - switch (LPC_SC->CLKSRCSEL & 0x03) { - case 0: /* Int. RC oscillator => PLL0 */ - case 3: /* Reserved, default to Int. RC */ - SystemCoreClock = IRC_OSC / ((LPC_SC->CCLKCFG & 0xFF)+ 1); - break; - case 1: /* Main oscillator => PLL0 */ - SystemCoreClock = OSC_CLK / ((LPC_SC->CCLKCFG & 0xFF)+ 1); - break; - case 2: /* RTC oscillator => PLL0 */ - SystemCoreClock = RTC_CLK / ((LPC_SC->CCLKCFG & 0xFF)+ 1); - break; - } - } - -} -/* Exported types --------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -//extern unsigned long _sidata; /* start address for the initialization values of the .data section. defined in linker script */ -//extern unsigned long _sdata; /* start address for the .data section. defined in linker script */ -//extern unsigned long _edata; /* end address for the .data section. defined in linker script */ -// -//extern unsigned long _sbss; /* start address for the .bss section. defined in linker script */ -//extern unsigned long _ebss; /* end address for the .bss section. defined in linker script */ - -//void _init(void) -//{ -// unsigned long *pulSrc, *pulDest; -// -// // -// // Copy the data segment initializers from flash to SRAM in ROM mode -// // -//#if (__RAM_MODE__==0) -// pulSrc = &_sidata; -// for(pulDest = &_sdata; pulDest < &_edata; ) -// { -// *(pulDest++) = *(pulSrc++); -// } -//#endif -// -// -// // -// // Zero fill the bss segment. -// // -// for(pulDest = &_sbss; pulDest < &_ebss; ) -// { -// *(pulDest++) = 0; -// } -//} - -/** - * Initialize the system - * - * @param none - * @return none - * - * @brief Setup the microcontroller system. - * Initialize the System. - */ -void SystemInit (void) -{ - -#if (CLOCK_SETUP) /* Clock Setup */ - LPC_SC->SCS = SCS_Val; - if (SCS_Val & (1 << 5)) { /* If Main Oscillator is enabled */ - while ((LPC_SC->SCS & (1<<6)) == 0);/* Wait for Oscillator to be ready */ - } - - LPC_SC->CCLKCFG = CCLKCFG_Val; /* Setup Clock Divider */ - LPC_SC->PCLKSEL0 = PCLKSEL0_Val; /* Peripheral Clock Selection */ - LPC_SC->PCLKSEL1 = PCLKSEL1_Val; - -#if (PLL0_SETUP) - LPC_SC->CLKSRCSEL = CLKSRCSEL_Val; /* Select Clock Source for PLL0 */ - - LPC_SC->PLL0CFG = PLL0CFG_Val; /* configure PLL0 */ - LPC_SC->PLL0FEED = 0xAA; - LPC_SC->PLL0FEED = 0x55; - - LPC_SC->PLL0CON = 0x01; /* PLL0 Enable */ - LPC_SC->PLL0FEED = 0xAA; - LPC_SC->PLL0FEED = 0x55; - while (!(LPC_SC->PLL0STAT & (1<<26)));/* Wait for PLOCK0 */ - - LPC_SC->PLL0CON = 0x03; /* PLL0 Enable & Connect */ - LPC_SC->PLL0FEED = 0xAA; - LPC_SC->PLL0FEED = 0x55; - while (!(LPC_SC->PLL0STAT & ((1<<25) | (1<<24))));/* Wait for PLLC0_STAT & PLLE0_STAT */ -#endif - -#if (PLL1_SETUP) - LPC_SC->PLL1CFG = PLL1CFG_Val; - LPC_SC->PLL1FEED = 0xAA; - LPC_SC->PLL1FEED = 0x55; - - LPC_SC->PLL1CON = 0x01; /* PLL1 Enable */ - LPC_SC->PLL1FEED = 0xAA; - LPC_SC->PLL1FEED = 0x55; - while (!(LPC_SC->PLL1STAT & (1<<10)));/* Wait for PLOCK1 */ - - LPC_SC->PLL1CON = 0x03; /* PLL1 Enable & Connect */ - LPC_SC->PLL1FEED = 0xAA; - LPC_SC->PLL1FEED = 0x55; - while (!(LPC_SC->PLL1STAT & ((1<< 9) | (1<< 8))));/* Wait for PLLC1_STAT & PLLE1_STAT */ -#else - LPC_SC->USBCLKCFG = USBCLKCFG_Val; /* Setup USB Clock Divider */ -#endif - LPC_SC->PCONP = PCONP_Val; /* Power Control for Peripherals */ - - LPC_SC->CLKOUTCFG = CLKOUTCFG_Val; /* Clock Output Configuration */ -#endif - -#if (FLASH_SETUP == 1) /* Flash Accelerator Setup */ - LPC_SC->FLASHCFG = FLASHCFG_Val; -#endif -} diff --git a/bitbucket_lpc1768/CMSIS/system_LPC17xx.d b/bitbucket_lpc1768/CMSIS/system_LPC17xx.d deleted file mode 100644 index 2b7fdc4..0000000 --- a/bitbucket_lpc1768/CMSIS/system_LPC17xx.d +++ /dev/null @@ -1,8 +0,0 @@ -system_LPC17xx.o: CMSIS/system_LPC17xx.c CMSIS/LPC17xx.h CMSIS/core_cm3.h \ - CMSIS/system_LPC17xx.h - -CMSIS/LPC17xx.h: - -CMSIS/core_cm3.h: - -CMSIS/system_LPC17xx.h: diff --git a/bitbucket_lpc1768/CMSIS/system_LPC17xx.h b/bitbucket_lpc1768/CMSIS/system_LPC17xx.h deleted file mode 100755 index ba31c9a..0000000 --- a/bitbucket_lpc1768/CMSIS/system_LPC17xx.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************//** - * @file system_LPC17xx.h - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer Header File - * for the NXP LPC17xx Device Series - * @version V1.02 - * @date 08. September 2009 - * - * @note - * Copyright (C) 2009 ARM Limited. All rights reserved. - * - * @par - * ARM Limited (ARM) is supplying this software for use with Cortex-M - * processor based microcontrollers. This file can be freely distributed - * within development tools that are supporting such ARM based processors. - * - * @par - * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED - * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. - * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR - * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - * - ******************************************************************************/ - - -#ifndef __SYSTEM_LPC17xx_H -#define __SYSTEM_LPC17xx_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - - -/** - * Initialize the system - * - * @param none - * @return none - * - * @brief Setup the microcontroller system. - * Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - -/** - * Update SystemCoreClock variable - * - * @param none - * @return none - * - * @brief Updates the SystemCoreClock with current core Clock - * retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); -#ifdef __cplusplus -} -#endif - -#endif /* __SYSTEM_LPC17xx_H */ diff --git a/bitbucket_lpc1768/CMSIS/system_LPC17xx.o b/bitbucket_lpc1768/CMSIS/system_LPC17xx.o deleted file mode 100644 index e885d7c6c7fec9fc5cee6c1767800683f0034da2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1632 zcma)5-Afcv6hC)n+-+^koh_*hVkV_bY}nbgFCoyTGI!SuOA;b-*A|le!ks`P$cLaF z{3Cn_lGv9r=rPkCdfc?s#+Y=2s@w}PR5q)N6Lc5l48@@cgwb46>_4$nrgB_Q#g7si`98lShgj( z`%B!o=4X+Q_KSISh5DK=^hiB^7DhjC#z2hz+VZwDUCb55=Y_RAi##t_`4C}$W9eSM z8}}DPYu@snbBT9>QOw*w~ zglCaRC6a@{4xw9RboX32*LSol0-kDbmrn>vyIC#UBkpDUSRFecftH>eHWNv-=D2Hb zanDRmn4sNEmBB*Ze>*B+NGXn^R`P`~Siu|@&UYOXgyZuCaD%)?Snksi z5{~91*^RiM>pCmdNbjK{*O-&UN%2+0O_Ng+jw6eu4f%=#DVX$Q zrUsSf3!u`ORPy=pTskqwh4b;4+seEIYek+XD{f5dX2ngDP`&bt6ib`Vgr=*-)>XG1 zSALqD&$9*Zaq#aq@cb5Xyw|C3l)+ne(G#6NUrvd5Dtj@cJ flash - - .data : { - _sdata = .; - *(.data*) - _edata = .; - } > ram AT > flash - - .bss : { - _sbss = .; - *(.bss*) - . = ALIGN(4); - _ebss = .; - } > ram - - _sstack = ORIGIN(ram) + LENGTH(ram); -} diff --git a/bitbucket_lpc1768/Makefile b/bitbucket_lpc1768/Makefile deleted file mode 100644 index 348e0be..0000000 --- a/bitbucket_lpc1768/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright (c) 2008-2010 Jakub Piotr Cłapa -# This program is released under the new BSD license. -ARCH = /home/asbjorn/dev/armchain/arm-none-eabi/bin/arm-none-eabi -MBED_VOLUME = /Volumes/MBED - -# Tool definitions -CC = $(ARCH)-gcc -LD = $(ARCH)-ld -AR = $(ARCH)-ar -AS = $(ARCH)-as -CP = $(ARCH)-objcopy -OD = $(ARCH)-objdump -SIZE = $(ARCH)-size -RM = rm -Q = @./quiet "$@" - -# Flags -CFLAGS = -W -Wall -Os --std=gnu99 -fgnu89-inline -mcpu=cortex-m3 -mthumb -CFLAGS += -ffunction-sections -fdata-sections -ASFLAGS = -LDFLAGS = --gc-sections -CPFLAGS = -ODFLAGS = -x --syms -PRFLAGS ?= - -# Source files -LINKER_SCRIPT = LPC1768-flash.ld -CSRCS = startup.c $(wildcard CMSIS/*.c) -CSRCS += main.c -ASRCS = - - -OBJS = $(CSRCS:.c=.o) $(ASRCS:.s=.o) - -.PHONY: all size clean nuke - -all: main.bin main.hex - -isp: main.bin - @./quiet $< cp $^ $(MBED_VOLUME)/ - -size: main.elf - @$(SIZE) $< - -%.hex: %.elf - $Q $(CP) $(CPFLAGS) -O ihex $< $*.hex - -%.bin: %.elf - $Q $(CP) $(CPFLAGS) -O binary $< $*.bin - -main.elf: $(LINKER_SCRIPT) $(OBJS) - $Q $(LD) -Map $(@:.elf=.map) $(LDFLAGS) -T $^ -o $@ - $Q $(OD) $(ODFLAGS) $@ > $(@:.elf=.dump) - @$(SIZE) $@ - -%.o: %.c - @$(CC) -MM $< -MF $*.d -MP - $Q $(CC) -c $(CFLAGS) $< -o $@ - -%.o: %.S - $Q $(AS) $(ASFLAGS) $< -o $@ - -io-pin.h: io-pin.ss - $Q mzscheme $< > $@ - -clean: - @-rm -f *.elf quiet.log - @-\ -for D in "." "**"; do \ - rm -f $$D/*.o $$D/*.d $$D/*.lst $$D/*.dump $$D/*.map; \ -done - -nuke: clean - -rm -f *.hex *.bin - --include $(CSRCS:.c=.d) diff --git a/bitbucket_lpc1768/io-pin.h b/bitbucket_lpc1768/io-pin.h deleted file mode 100644 index 507ac4d..0000000 --- a/bitbucket_lpc1768/io-pin.h +++ /dev/null @@ -1,140 +0,0 @@ -/* - * IO functions for NXP LPC1768. (generated file, check io-pin.ss) - * - * See also: http://bitbucket.org/jpc/lpc1768/ - * - * Copyright (c) 2010 LoEE - Jakub Piotr Cłapa - * This program is released under the new BSD license. - */ -#ifndef IO_PIN_H -#define IO_PIN_H - -#include "CMSIS/LPC17xx.h" - -enum pin_port { -P0 = 0, -P1 = 32, -P2 = 64, -P3 = 96, -P4 = 128, -}; - -enum pin_dir { - PIN_IN = 0, - PIN_OUT = 1, -}; - -extern void invalid_pin_error () __attribute__((error ("Invalid IO pin number."))); - -extern __inline__ __attribute__((always_inline)) -int pin_read (int pin_no) -{ - switch(pin_no) { - case 0 ... 31: - return LPC_GPIO0->FIOPIN & (1 << (pin_no - 0)); - case 32 ... 63: - return LPC_GPIO1->FIOPIN & (1 << (pin_no - 32)); - case 64 ... 95: - return LPC_GPIO2->FIOPIN & (1 << (pin_no - 64)); - case 96 ... 127: - return LPC_GPIO3->FIOPIN & (1 << (pin_no - 96)); - case 128 ... 159: - return LPC_GPIO4->FIOPIN & (1 << (pin_no - 128)); - default: - invalid_pin_error (); - break; - } - return 0; -} - -extern __inline__ __attribute__((always_inline)) -void pin_write (int pin_no, int value) -{ - switch(pin_no) { - case 0 ... 31: - if (value) { - LPC_GPIO0->FIOSET = (1 << (pin_no - 0)); - } else { - LPC_GPIO0->FIOCLR = (1 << (pin_no - 0)); - } - break; - case 32 ... 63: - if (value) { - LPC_GPIO1->FIOSET = (1 << (pin_no - 32)); - } else { - LPC_GPIO1->FIOCLR = (1 << (pin_no - 32)); - } - break; - case 64 ... 95: - if (value) { - LPC_GPIO2->FIOSET = (1 << (pin_no - 64)); - } else { - LPC_GPIO2->FIOCLR = (1 << (pin_no - 64)); - } - break; - case 96 ... 127: - if (value) { - LPC_GPIO3->FIOSET = (1 << (pin_no - 96)); - } else { - LPC_GPIO3->FIOCLR = (1 << (pin_no - 96)); - } - break; - case 128 ... 159: - if (value) { - LPC_GPIO4->FIOSET = (1 << (pin_no - 128)); - } else { - LPC_GPIO4->FIOCLR = (1 << (pin_no - 128)); - } - break; - default: - invalid_pin_error (); - break; - } -} - -extern __inline__ __attribute__((always_inline)) -void pin_dir (int pin_no, enum pin_dir dir) -{ - switch(pin_no) { - case 0 ... 31: - if (dir == PIN_OUT) { - LPC_GPIO0->FIODIR |= (1 << (pin_no - 0)); - } else { - LPC_GPIO0->FIODIR &= (1 << (pin_no - 0)); - } - break; - case 32 ... 63: - if (dir == PIN_OUT) { - LPC_GPIO1->FIODIR |= (1 << (pin_no - 32)); - } else { - LPC_GPIO1->FIODIR &= (1 << (pin_no - 32)); - } - break; - case 64 ... 95: - if (dir == PIN_OUT) { - LPC_GPIO2->FIODIR |= (1 << (pin_no - 64)); - } else { - LPC_GPIO2->FIODIR &= (1 << (pin_no - 64)); - } - break; - case 96 ... 127: - if (dir == PIN_OUT) { - LPC_GPIO3->FIODIR |= (1 << (pin_no - 96)); - } else { - LPC_GPIO3->FIODIR &= (1 << (pin_no - 96)); - } - break; - case 128 ... 159: - if (dir == PIN_OUT) { - LPC_GPIO4->FIODIR |= (1 << (pin_no - 128)); - } else { - LPC_GPIO4->FIODIR &= (1 << (pin_no - 128)); - } - break; - default: - invalid_pin_error (); - break; - } -} - -#endif \ No newline at end of file diff --git a/bitbucket_lpc1768/io-pin.ss b/bitbucket_lpc1768/io-pin.ss deleted file mode 100644 index 5b8cda9..0000000 --- a/bitbucket_lpc1768/io-pin.ss +++ /dev/null @@ -1,76 +0,0 @@ -#lang scribble/text -@(define ports '(P0 P1 P2 P3 P4)) -@(define registers '(LPC_GPIO0 LPC_GPIO1 LPC_GPIO2 LPC_GPIO3 LPC_GPIO4)) -/* - * IO functions for NXP LPC1768. (generated file, check io-pin.ss) - * - * See also: http://bitbucket.org/jpc/lpc1768/ - * - * Copyright (c) 2010 LoEE - Jakub Piotr Cłapa - * This program is released under the new BSD license. - */ -#ifndef IO_PIN_H -#define IO_PIN_H - -#include "CMSIS/LPC17xx.h" - -enum pin_port { -@(add-newlines - (for/list ([i (in-naturals)] - [port ports]) - @list{@port = @(* i 32),})) -}; - -enum pin_dir { - PIN_IN = 0, - PIN_OUT = 1, -}; - -extern void invalid_pin_error () __attribute__((error ("Invalid IO pin number."))); - -@(define INLINE "extern __inline__ __attribute__((always_inline))") -@(define-syntax-rule (switch pin_no i register template) - @list{switch(pin_no) { - @(add-newlines - (for/list ([i (in-naturals)] - [register registers]) - @list{case @(* i 32) ... @(sub1 (* (add1 i) 32)): - @template})) - default: - invalid_pin_error (); - break; - }}) - -@INLINE -int pin_read (int pin_no) -{ - @(switch @{pin_no} i register - @list{return @|register|->FIOPIN & (1 << (pin_no - @(* i 32)));}) - return 0; -} - -@INLINE -void pin_write (int pin_no, int value) -{ - @(switch @{pin_no} i register - @list{if (value) { - @|register|->FIOSET = (1 << (pin_no - @(* i 32))); - } else { - @|register|->FIOCLR = (1 << (pin_no - @(* i 32))); - } - break;}) -} - -@INLINE -void pin_dir (int pin_no, enum pin_dir dir) -{ - @(switch @{pin_no} i register - @list{if (dir == PIN_OUT) { - @|register|->FIODIR @"|=" (1 << (pin_no - @(* i 32))); - } else { - @|register|->FIODIR @"&=" (1 << (pin_no - @(* i 32))); - } - break;}) -} - -#endif \ No newline at end of file diff --git a/bitbucket_lpc1768/lpcrc/Makefile b/bitbucket_lpc1768/lpcrc/Makefile deleted file mode 100644 index f7c03d3..0000000 --- a/bitbucket_lpc1768/lpcrc/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -CC = gcc -LD = gcc -LDFLAGS = -Wall -O4 -std=c99 -EXES = lpcrc - -all: $(EXES) - -% : %.c - $(LD) $(LDFLAGS) -o $@ $< - -clean: - rm -f $(EXES) diff --git a/bitbucket_lpc1768/lpcrc/lpcrc b/bitbucket_lpc1768/lpcrc/lpcrc deleted file mode 100755 index eb9515e0f8baa77ecc54673af6a9e391f0a48b9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7966 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 diff --git a/bitbucket_lpc1768/lpcrc/lpcrc.c b/bitbucket_lpc1768/lpcrc/lpcrc.c deleted file mode 100644 index e811c45..0000000 --- a/bitbucket_lpc1768/lpcrc/lpcrc.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2010, Roel Verdult - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holders nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include -#include - -#define BLOCK_COUNT 7 -#define BLOCK_LENGTH 4 -#define BLOCK_TOTAL (BLOCK_COUNT*BLOCK_LENGTH) - -typedef unsigned char byte_t; - -int main(int argc, char *argv[]) -{ - FILE* pf; - byte_t buf[BLOCK_TOTAL]; - uint32_t crc = 0; - uint32_t block; - - // Check for required arguments - if (argc < 2) - { - printf("syntax: lpcrc \n"); - return 1; - } - - // Try to open the supplied firmware - if ((pf = fopen(argv[1],"rb+")) == NULL) - { - printf("error: could not open file [%s] with write access\n",argv[1]); - return 1; - } - - // Read out the data blocks used for crc calculation - if (fread(buf,1,BLOCK_TOTAL,pf) != BLOCK_TOTAL) - { - printf("error: could not read required bytes\n"); - fclose(pf); - return 1; - } - - // Compute the crc value - for (block=0; blockZVJeH3{KB5aQsVVjMb(nOx-BVl$N(21h8tY32mrAfc!c&Ey=GrF?7pIrJ{@Z<-EPFpSQb>l#eQrp-D!ZgPH&qN zp#UdF03PbL2{2(QYMmB|oH?UK>7^-olLPJ3FnSRJ_^*&Ub;t`tQ0lZ_sABhCnMc1M zVxeb4S2ySK_wGLR>Dp{+2zKbuhNMHsV5TnRL^P9l=#{(>@cF&dIC=2h`+xuM|NVFmED&b_;KM!j zc$J-_efJGA+~9gu0EirbOK4P&8nJB9S)id<25U3jYe$So7F5B(etI+AZ-cuqRv(OxTvUWfqxtE5S7@=O<$CLI=P*u7U4(JzWv z=vgq(ZMq>6U2?5u+}9e^ihq64pvCwi>SFv5rxTpM)@y0FzpK)(x(9M0=dHZi?_XZ1?pj(kgw#@==#;#pnh0ts|LA2H zH#AIHPcojRX{b|ksK&TL_hH6^TMgr=gIfNJ37=T^C+nCMlXZWvQ*#f`?<|MY6LZHD nwpsTZ6FwjNevO^@xeDf>IcsJ1j2hPAz>JJn+`ag6HOu^%% diff --git a/bitbucket_lpc1768/main.c b/bitbucket_lpc1768/main.c deleted file mode 100644 index 66325af..0000000 --- a/bitbucket_lpc1768/main.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * LED blinking example for the mbed LPC1768-based board. - * - * See also: http://bitbucket.org/jpc/lpc1768/ - * - * Copyright (c) 2010 LoEE - Jakub Piotr Cłapa - * This program is released under the new BSD license. - */ -#include "CMSIS/LPC17xx.h" -#include "io-pin.h" - -// For mbed-005.1 -#define LED1 P1+18 -#define LED2 P1+20 -#define LED3 P1+21 -#define LED4 P1+29 - -// Helper macros -#define LED_ON(i) (pin_write (LED##i, 1)) -#define LED_OFF(i) (pin_write (LED##i, 0)) - -volatile uint32_t current_time; - -void SysTick_Handler (void) -{ - current_time++; -} - -void delay (uint32_t interval) -{ - uint32_t start = current_time; - while (current_time - start < interval); -} - -int main (void) -{ - // Setup SysTick interrupts at 1kHz (1ms) - SysTick_Config (SystemCoreClock / 1000); - - // Configure as output pins. - pin_dir (LED1, PIN_OUT); - pin_dir (LED2, PIN_OUT); - pin_dir (LED3, PIN_OUT); - pin_dir (LED4, PIN_OUT); - - // Twinkle! - while(1) { - LED_OFF(1); delay (120); LED_ON(1); - LED_ON(2); delay (120); LED_OFF(2); - LED_ON(3); delay (120); LED_OFF(3); - LED_ON(4); delay (120); LED_OFF(4); - LED_ON(3); delay (120); LED_OFF(3); - LED_ON(2); delay (120); LED_OFF(2); - } -} diff --git a/bitbucket_lpc1768/main.d b/bitbucket_lpc1768/main.d deleted file mode 100644 index a645992..0000000 --- a/bitbucket_lpc1768/main.d +++ /dev/null @@ -1,10 +0,0 @@ -main.o: main.c CMSIS/LPC17xx.h CMSIS/core_cm3.h CMSIS/system_LPC17xx.h \ - io-pin.h - -CMSIS/LPC17xx.h: - -CMSIS/core_cm3.h: - -CMSIS/system_LPC17xx.h: - -io-pin.h: diff --git a/bitbucket_lpc1768/main.dump b/bitbucket_lpc1768/main.dump deleted file mode 100644 index f31cd3a..0000000 --- a/bitbucket_lpc1768/main.dump +++ /dev/null @@ -1,61 +0,0 @@ - -main.elf: file format elf32-littlearm -main.elf -architecture: arm, flags 0x00000112: -EXEC_P, HAS_SYMS, D_PAGED -start address 0x00000041 - -Program Header: - LOAD off 0x00008000 vaddr 0x00000000 paddr 0x00000000 align 2**15 - filesz 0x00000234 memsz 0x00000234 flags r-x - LOAD off 0x00010000 vaddr 0x10000000 paddr 0x00000234 align 2**15 - filesz 0x00000004 memsz 0x00000008 flags rw- -private flags = 5000002: [Version5 EABI] [has entry point] - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .text 00000234 00000000 00000000 00008000 2**2 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 00000004 10000000 00000234 00010000 2**2 - CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00000004 10000004 00000238 00010004 2**2 - ALLOC - 3 .comment 00000011 00000000 00000000 00010004 2**0 - CONTENTS, READONLY - 4 .ARM.attributes 00000031 00000000 00000000 00010015 2**0 - CONTENTS, READONLY -SYMBOL TABLE: -00000000 l d .text 00000000 .text -10000000 l d .data 00000000 .data -10000004 l d .bss 00000000 .bss -00000000 l d .comment 00000000 .comment -00000000 l d .ARM.attributes 00000000 .ARM.attributes -00000000 l df *ABS* 00000000 startup.c -00000000 l df *ABS* 00000000 system_LPC17xx.c -00000000 l df *ABS* 00000000 main.c -00000168 l F .text 00000014 delay.clone.0 -00000084 w F .text 00000002 DebugMon_Handler -00000084 w F .text 00000002 HardFault_Handler -0000017c g F .text 00000010 SysTick_Handler -00000084 w F .text 00000002 PendSV_Handler -00000084 w F .text 00000002 NMI_Handler -00000234 g .text 00000000 _etext -10000004 g .bss 00000000 _sbss -10000004 g O .bss 00000004 current_time -10000000 g O .data 00000004 SystemCoreClock -00000084 w F .text 00000002 UsageFault_Handler -10000000 g .data 00000000 _sdata -10000004 g .bss 00000000 _ebss -00000040 w F .text 00000044 Reset_Handler -00000084 g F .text 00000002 Default_Handler -00000000 g O .text 00000040 interrupt_vectors -00000084 w F .text 00000002 MemManage_Handler -0000018c g F .text 000000a8 main -00000084 w F .text 00000002 SVC_Handler -00000088 g F .text 000000e0 SystemInit -10008000 g *ABS* 00000000 _sstack -10000004 g .data 00000000 _edata -00000084 w F .text 00000002 BusFault_Handler -00000000 g .text 00000000 _stext - - diff --git a/bitbucket_lpc1768/main.elf b/bitbucket_lpc1768/main.elf deleted file mode 100755 index 2f18212e81e7200241f937bf3f91fd34c1d194b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67112 zcmeIyUu;u#6u|LwyAC!m*dl*qCfaTYBSN#m2+88ZMq#jx0oi~UV$$7hS2o!?(%$K2 zBs2yhgc%cj!v~kBK*$mj6MXPN3G+dpB+M5dG*g2-5hu>9goJv2y}eyoF!9lt?@fO9 z_dCDyyQk-V+Vs@!eJz${iGKy8R!r2aqd~{GMgfuX28rlgE0wY&pO=g#3s-|4Fr(bW z8S(PoJ!JNSx?Q1TiH_3eOvr@*0tg_000IagfB*srAb_p^`gHU#n&LqU<^cyw2!p*>PP zm7R!IwcO55gzMYGvrSJwxK*Zm!Kmo{N^~ka8Qt7wMW(V(SyweW9XYJ~;~^coml1zG zojn_hwuNUi!}@&9&1|Ob^0u4V@w&sh9$G+sRy@e^!ZOBSEF0EnyQmpX;SA2 zt>mqzvsXeZ+QM^wrHOo{$$X_rt#l={v^_j$DlKiB%6=U&eSQ;--){_5b)VQHU&)Q9 zn|h^OetNeySk_+EzpnpW)tj3h{$O(E{R6sZZS~HY_{H}5>s9>+=H5zw_VCa9)w8E| zR<~P?N4ukK+2}jjnvhgq?0#Y2QhlOEPh~d7=Q1@lx^8UI)iY+LyKCZeQdrCC_^fo* zbpK+@h1~p?xy$w?J2(GD?l=2Woj=bV(Ci)iW83;5H-9Z>efVpB|7z||{@f)!Cl_b# z>U(H!p&6NxdomNbQ5ng9gWM26009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_Kd|C_+if0gfv#~UNHd-fmR6lsWUkJU?aoxY{**gXScZO~pVmU5WMC zt}U^ibXsD)!$U((QumrWJ7Tu$rUrUOTqphSVV~2ZmX0Or~fFFni3(Kg^=3JQ< zhfL(>%$C32sOt(H=A7<@g8y)Cv*t}bqhl^}F6=Gycat+?yAG{&BEPA()w)~n2RfTG z<}%L~ddtTxn%SLSc{l%@nM+aZ`dQrX@YQEIi zuXnb1z^nIa@#VZ&)A@dlTy^p6LO=Z_=QnA7K;u<92MYa-mgG%;Z&yQ>De?KApMlKX$ z^UZ`c{zzxN^mlFIfLznLw4a+MTkr~L{#y-7>wTwjvyNRlO#eUX>_2b%y{ECcnskIU z>yu&H1pt+j}~$=)O6>M%ShJYK_lnZl;jmqOoMW?=PgkpY0ki^b?Sm7d_u$&KEA@ zA!*l6xg#fHy|Uhw^?i~aOS{fcV&B1d{f^O5-5#p@EYbW~#os{ggQ++M=$e>%?=^9HP8t6Skg;V(%}qs*h#Hf?8UsUbRCHoH@p^FlLM|K(yFChB%J(5?i@)kZYBR7 Fe*=WouoD0P diff --git a/bitbucket_lpc1768/main.hex b/bitbucket_lpc1768/main.hex deleted file mode 100644 index f2497f7..0000000 --- a/bitbucket_lpc1768/main.hex +++ /dev/null @@ -1,39 +0,0 @@ -:100000000080001041000000850000008500000015 -:10001000850000008500000085000000267DFFEFC0 -:10002000000000000000000000000000850000004B -:100030008500000000000000850000007D01000038 -:1000400008B500F021F80A4A0A4B0B4903E052F8C0 -:10005000040B43F8040B8B42F9D3084B08490022E8 -:1000600001E043F8042B8B42FBD300F08FF8FEE74E -:100070003402000000000010040000100400001012 -:1000800004000010FEE70000344B2022C3F8A0213A -:100090001A46D2F8A011314B11F0400FF9D00322CB -:1000A000C3F804210022C3F8A821C3F8AC212C4ACC -:1000B0000120C3F80C01AA21C3F884205522C3F8FB -:1000C0008C10C3F88C20C3F88000C3F88C10C3F8E0 -:1000D0008C20D3F88810214A11F0806FF9D00323C7 -:1000E000C2F88030A733C2F88C305523C2F88C3068 -:1000F000D2F88810194B11F0407FF9D02322C3F8B1 -:10010000A420AA2132320120C3F8AC10C3F8AC20DD -:10011000C3F8A000C3F8AC10C3F8AC20D3F8A81003 -:100120000E4A11F4806FF9D00323C2F8A030A73330 -:10013000C2F8AC305523C2F8AC30D2F8A810074B47 -:1001400011F4407FF9D0074AC3F8C4200022C3F855 -:10015000C82143F23A021A60704700BF00C00F4046 -:1001600063000500DE872804034B1A681968891AA2 -:100170007729FBD9704700BF04000010024B1A68B2 -:1001800001321A60704700BF04000010254BF7B51C -:100190001A684FF47A73B2FBF3F222F07F42224BDB -:1001A000013A5A60214AF82182F8231000229A600D -:1001B0001F4C07321A6023684FF4802743F48023D2 -:1001C000236023683A4643F48013236023684FF486 -:1001D000801643F40013236023684FF4001543F0A6 -:1001E00000532360E2610092FFF7BEFFA761A661A2 -:1001F000FFF7BAFFE661A561FFF7B6FF4FF00053C6 -:10020000E561A3610193FFF7AFFF019BE361A56186 -:10021000FFF7AAFFE561A661FFF7A6FFE661009A76 -:10022000E0E700BF0000001010E000E000ED00E09B -:0402300020C00920C1 -:0402340000E1F505EB -:0400000300000041B8 -:00000001FF diff --git a/bitbucket_lpc1768/main.map b/bitbucket_lpc1768/main.map deleted file mode 100644 index 268a79a..0000000 --- a/bitbucket_lpc1768/main.map +++ /dev/null @@ -1,115 +0,0 @@ - -Allocating common symbols -Common symbol size file - -current_time 0x4 main.o - -Discarded input sections - - .text 0x0000000000000000 0x0 startup.o - .data 0x0000000000000000 0x0 startup.o - .bss 0x0000000000000000 0x0 startup.o - .text 0x0000000000000000 0x0 CMSIS/system_LPC17xx.o - .data 0x0000000000000000 0x0 CMSIS/system_LPC17xx.o - .bss 0x0000000000000000 0x0 CMSIS/system_LPC17xx.o - .text.SystemCoreClockUpdate - 0x0000000000000000 0xfc CMSIS/system_LPC17xx.o - .text 0x0000000000000000 0x0 main.o - .data 0x0000000000000000 0x0 main.o - .bss 0x0000000000000000 0x0 main.o - .text.delay 0x0000000000000000 0x14 main.o - -Memory Configuration - -Name Origin Length Attributes -flash 0x0000000000000000 0x0000000000080000 xr -ram 0x0000000010000000 0x0000000000008000 xrw -*default* 0x0000000000000000 0xffffffffffffffff - -Linker script and memory map - - 0x0000000000000000 . = 0x0 - -.text 0x0000000000000000 0x234 - 0x0000000000000000 _stext = . - *(.cs3.interrupt_vector) - .cs3.interrupt_vector - 0x0000000000000000 0x40 startup.o - 0x0000000000000000 interrupt_vectors - *(.text*) - .text.Reset_Handler - 0x0000000000000040 0x44 startup.o - 0x0000000000000040 Reset_Handler - .text.Default_Handler - 0x0000000000000084 0x2 startup.o - 0x0000000000000084 DebugMon_Handler - 0x0000000000000084 HardFault_Handler - 0x0000000000000084 PendSV_Handler - 0x0000000000000084 NMI_Handler - 0x0000000000000084 UsageFault_Handler - 0x0000000000000084 Default_Handler - 0x0000000000000084 MemManage_Handler - 0x0000000000000084 SVC_Handler - 0x0000000000000084 BusFault_Handler - *fill* 0x0000000000000086 0x2 00 - .text.SystemInit - 0x0000000000000088 0xe0 CMSIS/system_LPC17xx.o - 0x0000000000000088 SystemInit - .text.delay.clone.0 - 0x0000000000000168 0x14 main.o - .text.SysTick_Handler - 0x000000000000017c 0x10 main.o - 0x000000000000017c SysTick_Handler - .text.main 0x000000000000018c 0xa8 main.o - 0x000000000000018c main - *(.rodata*) - 0x0000000000000234 . = ALIGN (0x4) - 0x0000000000000234 _etext = . - -.glue_7 0x0000000000000234 0x0 - .glue_7 0x0000000000000000 0x0 linker stubs - -.glue_7t 0x0000000000000234 0x0 - .glue_7t 0x0000000000000000 0x0 linker stubs - -.vfp11_veneer 0x0000000000000234 0x0 - .vfp11_veneer 0x0000000000000000 0x0 linker stubs - -.v4_bx 0x0000000000000234 0x0 - .v4_bx 0x0000000000000000 0x0 linker stubs - -.data 0x0000000010000000 0x4 load address 0x0000000000000234 - 0x0000000010000000 _sdata = . - *(.data*) - .data.SystemCoreClock - 0x0000000010000000 0x4 CMSIS/system_LPC17xx.o - 0x0000000010000000 SystemCoreClock - 0x0000000010000004 _edata = . - -.bss 0x0000000010000004 0x4 load address 0x0000000000000238 - 0x0000000010000004 _sbss = . - *(.bss*) - 0x0000000010000004 . = ALIGN (0x4) - 0x0000000010000004 _ebss = . - COMMON 0x0000000010000004 0x4 main.o - 0x0000000010000004 current_time - 0x0000000010008000 _sstack = 0x10008000 -LOAD startup.o -LOAD CMSIS/system_LPC17xx.o -LOAD main.o -OUTPUT(main.elf elf32-littlearm) - -.comment 0x0000000000000000 0x11 - .comment 0x0000000000000000 0x11 startup.o - 0x12 (size before relaxing) - .comment 0x0000000000000000 0x12 CMSIS/system_LPC17xx.o - .comment 0x0000000000000000 0x12 main.o - -.ARM.attributes - 0x0000000000000000 0x31 - .ARM.attributes - 0x0000000000000000 0x31 startup.o - .ARM.attributes - 0x0000000000000031 0x31 CMSIS/system_LPC17xx.o - .ARM.attributes - 0x0000000000000062 0x31 main.o diff --git a/bitbucket_lpc1768/main.o b/bitbucket_lpc1768/main.o deleted file mode 100644 index 023bcb5b800a01cdd89cb046fc19756ea85e1bf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1740 zcma)6-Afcv6hC)o{o20VO-r|^)iqtA1}%f~C3O5EH9?IeBKPj@z%K5G%#M^&Xdyx1 zLsW#=V^lr|J=g!xQ*TRQJq4Qy3PRgCGxzS!Ec-aB)b2gimOV<3$| z2uchfZc7{y|8;&CK2gerF?P`(mR#06>fiq&W9LS9Kl^Yi53S#tmwAF=g@yqG{L|m!7HLH$jbYlY<(`Wy4vN4 zPc3Gr6VbWZ5uT1Eb;FUd-f-{~PozPOW>P6Vjg$0Ej;q`>jYMR@)U$L>2engJNJn2S zUa-%<^tMa5Er?X72wqude?9;mn6EuR9c^^wybVH|z%Bgqh;_mzcz}(P{xKX>LxcDT z4yPXRdK}WE-T(%idaDjS+5@Q?)k*ooU&vvaRv1@Y02!EQ+qsfNspL!K@1TbOu7 zjxbqAD8C6xtz$#aFi3k%`$PSaPit`Mg>W6y7?URTB$w!nyWw|1#tD^Tw{}!1>xA;o z8Hu~CZ=1@Fn}n{ z+6TH>)F`x>P<~6b#UQ$17xnu(MSm3NhWLs|C{rc6DhWei7O9JByd&Wnn2nYR};WL9KP5m diff --git a/bitbucket_lpc1768/openocd.cfg b/bitbucket_lpc1768/openocd.cfg deleted file mode 100644 index bcf1eec..0000000 --- a/bitbucket_lpc1768/openocd.cfg +++ /dev/null @@ -1,3 +0,0 @@ -# The IMX31PDK eval board has a single IMX31 chip -source [find interface/ngxtech.cfg] -source [find target/lpc1768.cfg] diff --git a/bitbucket_lpc1768/quiet b/bitbucket_lpc1768/quiet deleted file mode 100755 index af06678..0000000 --- a/bitbucket_lpc1768/quiet +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -HELP='Usage: - quiet fname cmd args ... - -Runs the passed in command printing only "cmd" and "fname" unless an -error occurs in which case it prints the whole command line and -colorized program output. Useful for running compilation commands since -it removes the cluter, making it easier to spot errors and warnings. - -' -# Copyright (c) 2008-2010 LoEE -# This program is released under the new BSD license. - -if [ $# -lt 2 ]; then - printf "$HELP" - exit -fi - -GREEN="" -RED="" -NORM="" -if [ "$TERM@" = "rxvt@" ]; then - GREEN="printf \033[32m" - RED="printf \033[31m" - YELLOW="printf \033[33m" # this is not yellow :) - NORM="printf \033[m\017" -fi -if [ "$OSTYPE@" = "msys@" ]; then - OLDATTR=$(eecolor.exe) - GREEN="eecolor.exe 0 10" - RED="eecolor.exe 0 12" - YELLOW="eecolor 0 14" - NORM="eecolor.exe ${OLDATTR}" -fi - -MSG="$(printf "%-16s $1" "$2")" -shift; - -printf "${MSG}\r" 1>&2 - -rm -f quiet.log -"$@" 2>> quiet.log -RET=$? -# if we check $? we won't notice the warnings -if [ $RET -ne 0 -o -s quiet.log ]; then - echo "$@" >& 2 - if [ $RET -ne 0 ]; then - $RED >& 2 - else - $YELLOW >& 2 - fi - cat quiet.log >& 2 - $NORM &> 2 - - exit $RET -else - $GREEN >& 2 - printf "${MSG}\n" 1>&2 - $NORM >& 2 -fi -rm quiet.log -exit $RET diff --git a/bitbucket_lpc1768/startup.c b/bitbucket_lpc1768/startup.c deleted file mode 100644 index b1c6418..0000000 --- a/bitbucket_lpc1768/startup.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - * This is an ARM Cortex-M3 startup file for the NXP LPC1768. - * - * TODO: Add vendor (NXP) specific interrupt vectors. - * - * See also: http://bitbucket.org/jpc/lpc1768/ - * - * Copyright (c) 2010 LoEE - Jakub Piotr Cłapa - * This program is released under the new BSD license. - */ -#include "CMSIS/LPC17xx.h" - -// Dummy handler. -void Default_Handler (void) { while (1); } - -// Weakly bind all interrupt vectors to the dummy handler. -void __attribute__((weak)) Reset_Handler(void); -void __attribute__((weak)) NMI_Handler(void); -void __attribute__((weak)) HardFault_Handler(void); -void __attribute__((weak)) MemManage_Handler(void); -void __attribute__((weak)) BusFault_Handler(void); -void __attribute__((weak)) UsageFault_Handler(void); -void __attribute__((weak)) SVC_Handler(void); -void __attribute__((weak)) DebugMon_Handler(void); -void __attribute__((weak)) PendSV_Handler(void); -void __attribute__((weak)) SysTick_Handler(void); -#pragma weak NMI_Handler = Default_Handler -#pragma weak HardFault_Handler = Default_Handler -#pragma weak MemManage_Handler = Default_Handler -#pragma weak BusFault_Handler = Default_Handler -#pragma weak UsageFault_Handler = Default_Handler -#pragma weak SVC_Handler = Default_Handler -#pragma weak DebugMon_Handler = Default_Handler -#pragma weak PendSV_Handler = Default_Handler -#pragma weak SysTick_Handler = Default_Handler - -// Start of the stack (last RAM address; exported in the linker script) -extern void _sstack; - -// The signature of Cortex-M3 interrupt handlers. -typedef void (* const Interrupt_Handler_P)(void); - -// Interrupt vectors table -__attribute__ ((section(".cs3.interrupt_vector"))) -Interrupt_Handler_P interrupt_vectors[] = { - &_sstack, // the first word contains the initial - // stack pointer the hardware loads it - // to the SP register before the first - // instruction - // Standard Cortex-M3 interrupts: - Reset_Handler, - NMI_Handler, - HardFault_Handler, - MemManage_Handler, - BusFault_Handler, - UsageFault_Handler, - 0xefff7d26, - 0, - 0, - 0, - SVC_Handler, - DebugMon_Handler, - 0, - PendSV_Handler, - SysTick_Handler, - // Vendor specific interrupts for LPC1768: -}; - -extern int main (void); - -extern uint32_t _etext, _sdata, _edata, _sbss, _ebss; - -void -Reset_Handler(void) -{ - // Initialize clocks - SystemInit (); - - uint32_t *s, *d; - // Copy initialization data to RAM (.data section) - s = &_etext; - d = &_sdata; - while (d < &_edata) *d++ = *s++; - // Zero the remaining allocated RAM (.bss section) - d = &_sbss; - while (d < &_ebss) *d++ = 0; - - // Everything is ready. Run the user program. - main(); - while (1); -} diff --git a/bitbucket_lpc1768/startup.d b/bitbucket_lpc1768/startup.d deleted file mode 100644 index 1505e22..0000000 --- a/bitbucket_lpc1768/startup.d +++ /dev/null @@ -1,8 +0,0 @@ -startup.o: startup.c CMSIS/LPC17xx.h CMSIS/core_cm3.h \ - CMSIS/system_LPC17xx.h - -CMSIS/LPC17xx.h: - -CMSIS/core_cm3.h: - -CMSIS/system_LPC17xx.h: diff --git a/bitbucket_lpc1768/startup.o b/bitbucket_lpc1768/startup.o deleted file mode 100644 index 4c4ebc0daad161ffd15b2742fb9d8ccb1603a931..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1912 zcma)6%}*0i5TD&GP>P};L_o#T5X7$)0vcm90m@gwMN&ROJXp8w6C3D4c3%x7qJIFI z_&4}37;l_CdXTFJ5)XPadQoFSo!Q;DyM0RHB-5GS%x~YkdGB?ePu!hU6a|DR&<`O3 zc;SJ%VVBSk&Cmq#x78nq)x=CWPiq*(x|&*zxLy^@eHJt1H_ki$A0e<@9?u& zJ8J(O4H2`lgodOzjeO~_Myw+AipG#|@6?`i=qU_SmIJUU#t?zq1;nV9ciLEGs2WWL}= zZ=yYhN*q$EN8d)*+d?e%j&9&T@OdKl6!8eE5K;F&2BLM74FD?`qq^t@bvgP}m-->u zLv3|E?}u`vJE(Yen_d*)JvxH|pd}7T3#vF{!d29lk6TBpAi5p z;dxZ5Pj}Xe{XIlWGJ@KI{n%(lK85*b5`HD&*Ajjs;dc`LAmL9E{w`rP@&IW6;BeFC zl})_>y&QUrP&>C4wjIvO8LPyhY?ds@F?ZtS9Czg9m}eXseK|(I@`#fsn*(!3CK!v; zrd^z@8Holf8>VHhvVb#IacU_`4yJ2E3(M(%KhE-%Rb#^n0`tr&E-VKSTUsm?)&iV! z@CXWPcocMpi4y?yW)gTf0~EtQF3m(0|NJzc)KdVr$+mfSthOT{+~d7=6(2CoEw#g& lDQc(pPSh>{`~*}S%$Nf8EC9_w^_*X)+g~3au)BT|;1AxG*a`pu -- 1.7.10.4