From 2f61da57170e270944ac6d39ebe138551d1dd347 Mon Sep 17 00:00:00 2001 From: Adam Greig Date: Tue, 23 Nov 2021 22:29:00 +0000 Subject: [PATCH] Set SP and VTOR in Reset vector. --- asm.S | 15 +++++++++++++++ bin/thumbv6m-none-eabi.a | Bin 2738 -> 2738 bytes bin/thumbv7em-none-eabi.a | Bin 2746 -> 2754 bytes bin/thumbv7em-none-eabihf.a | Bin 2778 -> 2786 bytes bin/thumbv7m-none-eabi.a | Bin 2746 -> 2754 bytes bin/thumbv8m.base-none-eabi.a | Bin 2742 -> 2742 bytes bin/thumbv8m.main-none-eabi.a | Bin 2750 -> 2758 bytes bin/thumbv8m.main-none-eabihf.a | Bin 2782 -> 2790 bytes link.x.in | 1 + 9 files changed, 16 insertions(+) diff --git a/asm.S b/asm.S index 0d078b37..28404181 100644 --- a/asm.S +++ b/asm.S @@ -44,6 +44,21 @@ Reset: ldr r4,=0xffffffff mov lr,r4 + # Some faulty debuggers fake a reset by jumping to the reset vector + # without triggering a system reset, leaving the stack pointer at + # its previous value. To ensure consistency, set MSP ourselves here. + ldr r0,=_stack_start + msr msp,r0 + + # Some buggy bootloaders do not set VTOR when jumping to application + # code, which leaves a very hard-to-debug issue where everything works + # except your interrupt handlers. We manually set VTOR here to avoid + # this issue. The VTOR register is optional on ARMv6-M, but when not + # present must be RAZ,WI and is therefore safe to write to. + ldr r0,=0xe000ed08 + ldr r1,=__vector_table + str r1,[r0] + # Run user pre-init code, which must be executed immediately after startup, # before the potentially time-consuming memory initialisation takes place. # Example use cases include disabling default watchdogs or enabling RAM. diff --git a/bin/thumbv6m-none-eabi.a b/bin/thumbv6m-none-eabi.a index c145cc612cc7348062f3c5cf0b891805a5e65e96..a01bdc0c8348273e20d5e211976febf611cb0d19 100644 GIT binary patch literal 2738 zcma)8QBNFI6h1Qp+Xa?w#cI(S-C5a)smv5gkq4qeQo0y04bY^TCcCrjP`0uxnHj20 z8cTih!I=2o2cH_BG%@knJ{n)dKVWjH)HH{ zJ$$m;S1rsH-n}UKm2=FzGs&Fx(^|J{*nBq${h0u;j`o=JWb|EY_ncu@?2EQt8GY5Z%SfnDmCLp@SgMR#-`*{aPqGntrpL{2AG{lFv1 z+TFEI+jqUD*LJT2otyqj6uQAy7>)SthTm-ZO*gg2a{0ZhrRk;8m~&ym8BMr!4+)Q} zQ-Gg2hM0GXg?=H{!hAi4zA20kkTd;-$n;qN&-WTF!7ml*o>&@LkX+%!LeG(gAaq2m zBd3Ua7k5J^S@5LAlCI2*u5=jLxlBBV8Sz@<#Q31CITY*2FXnpkhe24DoXX&n z8Qh=20~vf;PQb&au$Kc^9b2b`>=g{g+1~;Do^#Mz7@yPtn)q@CFJ|!j8C=icwG7_O z;M*B2Ly-(M<+zLHz?WP(wJ`ElKIAiqq*l9y6Wa-Dk=I!F0XGA`*4k(>5;npR%8ymp z^dgTi(P2v&ZLhU~weU=?qOI&KHG9zeyvPJKUj28VO*FSk{T%Kl>N6r&s0T%ssb3Je zM*X75b!u$F>(n?bZ&Tx#@T8bH9;|2f#dS;o?wg5i29?q%skF-PN%Fv>;&Ac=kyr6R zbG_tOJX+%zseHtT7zZ9s^27;mx6w1`D2Vl%ws4_G;;8O8?41+%>(0S0q&@*E5Pt`h z+4LJ*H)`tZkixBv)eh)X%xg3P|5nVHcmi+ZhL0jK#2V639pnn)gjIZjd~v217aT8& zf>vWI!tDPod@uMOu&HzX_&%jqwqUM0AYj zJ)wZ*t~-UgCHPpEebjZogH2v7e*jEs0L?tgHyCNY>nT3=NAvvv8)uYlR8lfU{iD%X u*P=$~K&Ak8;KWrZ{05Vc>ts!R=3zSb0+@(wbCLh($1r zqx2sz#+6ImbmhX0dltqRSM5L0=!#_*HPP6l_0nT zw3d1bnMM2FgNK=e$43ty_TxLSdS~hQkH^P%ma@y)6)E0cwC?sCK03-Q_pkK7eS6Wq zoB1Vk_}7vAKrgv}48$qB#3x|A(jzZJ+LrYwHzb%IXM_f2!c5M#ChTYI7dW!WkMy!k z;*3}Ypj<557M!*BoK+~zoGlcJu$3r^#ey@MFU>fMd1ufqI|FXHY}*)7-fhVahVKda!a1}pgie|pO#9c z75J4}qZUe~(yq4K5Pl@uTVCjq#AO5Lk9kdNnX8>JbEC3iK8W6FD-MM35u?dL=; zQI3gRrW_Z!LU~$*YqXz_E|ZO5uaHB|#PT&t1bvqhM}WI(V=KAaHjV&y(FWnou(4$b zY2=Hs*e-7S<9g^-A;Tb&yQ<+)4#hQ9 zaal7r@b}y&6;3?k#t^;bM&0tO`#Tl$!n+;4g1AwPsIS)8ZX&$#^{Umtzm>Flf!Ema zku-8hjSU(*d$o2L&na@*#_x(R?!vV-*9*g-R^1OV{(peyoab6^B=B0_f4UBd4{m%=8VzyKK7IM3&+sBDWE3b3S=_gGB}%pe#BL@ zWV~G%c%B)LHPCn)&~;5va{9a?g|!}xU`Mj!L?-O#*0Lf0`+ z30S5`%Rr7)$eZsF%fG3 diff --git a/bin/thumbv7em-none-eabi.a b/bin/thumbv7em-none-eabi.a index 2d6b6a1f2054164d6d452c4bf71d7e65c1e7e9bd..ca7f10c9a0ffffe87fd5e9310b4525d92c53939d 100644 GIT binary patch literal 2754 zcma)8&u<%55T4z2T<3>PNed0MRJMslP|0r7x*>v+?+#BsFV zL{vgF<-`FYaqods#Q||Z>X{x97utUS^%gFuNI^oPQp5MX-REqUAQndfT?$+q8hcnJD2BX48uTyPz)K7eI{}vt?WHz1tT&f zCuCzLRme=6kDu;lwx91j-R;Hm{onV>_h)jI?cL1h*-CEKsO|mveDD6uKqWgX#kmjgrh!O_tY-|TRJc$ml*V2!6p9Ea5sJlvHIy%nSr6{m`UM9kEeB2yI|n?+%7ru*AiZRANRd?nZPv;ZI{mxYjT*79Jb+b`Yy&E446t34?z2dl0|x3{VUG6Pf_YuO#?lf`5?UwFF;H z@Qnn&o!~MY$Z$gryLh^`=nATK0(bc%KK($d)h(RhwqFh0`kDv2;d|BQdXt_`z0(1B zA#@sU;F3nzX)2}VHrKHhp3#+K?9D#*oe2BV_nOEg?B+`%72?YxbHpK$1>!3rOT<@2 zt`pJx8$?_oZxV5M-XY?c@T8diVLcN?*=rNq%Y8F*f;%rnb^Cy;cpN7chdjy;BTo?X za@|Dbhh62-2&0OJf0%LLBSa>(JGWct88GleT-6#b_&{vc9h<$geQ(X~?n3O7pd8_M zL8%R|zIn5%z7{dwTwiG;o$|T$y6e1ow?B@*ph z0FUSU0|{`fR6h1W=W9UMbD+v;kRp{xw66vp&zHhyjlJUfc#GzXi4L zvqao=I7T=j60VW*DMq|*8Fl%tur6;~UH2>K%*{1Xwn3&tRXyqB_&P#>k{@BrM>;{* zy$3yBcMf&)u(2-tsOx?Yoq4tV3NoPyka3jnFyi^vV)@t~o$m+eIHPQ%lDsMEACBg_ u77?zlTm*RnBd$EvZ|37VSyP{RsB#Jp_Ed|`$M1MN?hCB%XB`C8aeo7iff@n; literal 2746 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 MzfIKl>j{2;1H@b%oB#j- diff --git a/bin/thumbv7m-none-eabi.a b/bin/thumbv7m-none-eabi.a index 3d1783c6ec9ecbdc55bb069de390005aa42c9ec8..da9140e3d543e3362b0aed5db2ddc2748c44cf36 100644 GIT binary patch literal 2754 zcma)7L2nyX5T4z2T*paFn-&^qscaLAppxCDbwdtSNg_3MPy$h!N<~z%*YT!tiQ{O! ziKv8V%83I);@$(NiUZ<+)H6LIE|fojdJ7j+q#z+tsp0$H?sGOv5RCM8=9`%}Gdpkg zZQ+vZFRxzCI{AZiE(Sw6{>;p&2>)}y^a^i za@!BQk49Ugeqgte?%y(um&+>j`HK@#j#~EamAM(iFpwZ5Lq=pDiQG&peNS1j5gC$` zvN4k?WTwrZpYCS1pYJ@~?ZxxG-}lN7W^$G7-OOhLmE5dR+xzqR-h-L`%D}7??@b$z zQ;(kQ^i}$1``@`YZ9dNYn0fTqjy$B7{1WEQ{3cIA>7P#@Doak|X&TRR1A>}aCYB*? zr)6IYxAd@GVhtJvkW+L_1D+CT&l*mtaIsJ*jlEVV6yZ=JD;5jZP`)%~J-lm=J66B# zSbetRm?n0fK`<3jQt_q;o5GG5+r}|Dn!cX4a;I{o-0>dhLK+5(c50QJh@@IqBT?iczVK2u+aOuYi&dTzZb#!-kpZ;j4NI(uZkH+(y&4khcr z6!Gj1`diS%$&yrJM=EZHcRFEDV@FtP=osS3?yhifHME2u(>_@TI>7oe`$kBX@NM_W zk{9*?BufSocrbxa$Ps8bHtg*nsy!9+VDu6e?d5j|egfAL zcr}4H68KI6%WxpW4LR)M>FS~@sM-nK`V4lkxA&y7ey-MFNw^N4~Z<0zbvvu zj`_Voj^^Ja#})DhIfmzLa*PQl#q107nMlfBn>b#co0${bc_CM~53usbI4M8GQFbUf zL5$0~$(0>?6-RR@l|Ssm^aCCtXHdIyr-hz@2Y$#`wS)^k5L%^XA!>+QwUHHs4lDR0d16m3 z&f9Jf_|5uefZhL__+9WjU<*j)kaeH><|sfzKYeo~{b(b-j>WV1FTZo}N#^BQY0`P$ zgrXN~GBVtc&K9Gm?jS&wZx%crk8@eW(nLSf6|8u?Z(yJ=XC}#kQ6e7~L8gM*b3coe>iuLgp)$ukU>pc)<5+HsH zYTKs?zZ)=&a6?3_k@N{xJZ~9!`K>T7Z(E)BOUR7Pnn>FK)1j!Iv~hhEaWF+cK$(wZ zGM)E6ts$n^AP1U4D6{U9q$+valg+|-%r{JT>JeEL=+jf literal 2746 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 diff --git a/bin/thumbv8m.main-none-eabi.a b/bin/thumbv8m.main-none-eabi.a index 40a5c512dbfd6a91a2dedd85ca010e363f1e5053..9b1db95611561c86793c6ca283fbfb3ff03b9dab 100644 GIT binary patch literal 2758 zcma)7&u<%55T4ylT<4c*(n14;Vw+e5mFzZY8U+cJBvMlcH6=<@sR$%{9d8BD^o-BKT7s_hO z5514anqz)ww@~g`6{aR9RqBazZ%srss=c=^T$(ow0|g>7WK<52NHwGE-IGd;%CMY} z_Iy_%J7@m#XfM0-WcSft57zho*q^*RpDXX|Wj`M%=N63W{-00w@6Pv^2NtAwd(L>! zb^q~hU%79g|J~bj=7a1{+53O*$~{KOuTkyn@A5Fx{=NDzS@JSg(|DX45cJG8!G^d& z)4mdI>E^h^8ZrtXr|6glA|q!5<)I_6w2OR{>nltu@4W9%}dW*rL5SyKq@DgGUy7ESR22 z)}fok^NS{;H(0PF$&#+rj;^E|(V3J#gB?-7QDB5;I=iCFtDzaI z@OlcjQ}|{I%Sb3Ab$Qz3)3L?RP$dZ6)sMLPp;Ri{xWz5M61uew53ucfmBwa+o}d;4 z5MCsLx*NKLu?!kYX}XO~^ul|(c8s$*ki93Ox%9pwG6TDbi&>_8LF5wUu*eeSiy|wO zFNs{E#PC0)#53{+B`(i9l(;6mDP~_(&qPtq+Qjkl+{~Qd-HW7pfq+#!u9J#G9_5FT zH;8%JH>L8!uJULJql$-rgmJ*5luT*|H=CFlWavk7U2AycL$TF#Y|hU1y$!o_3W?8x zazx(-rPjUL*7b_|VkB^5bFGDR%IDT$tSWF$JPemM%TFiyW5={WjGuY-9O{}p!zG3mNID^0rY zn=tf%XJW^l_-y$mLRHLq3*cnFGH?~FiLs;$;AFn<;9xBCaR!WIz7??kO;F_<@HUm0 zv~LMGneQ(oz_n8Om`CTUL)Uwt$|-;%m6)`z3Y^TB#ixz4Vt;%^b-p%qy$7ny03=^Q z?fWbhcMXnFZitCJl0F3|>rSIC|0}G^*H+j43OaMMC(;hUT%@X%KJuMdLMZwX#(b<( z=(=A+Pu5*R-8^ip%Q@=0-$Q3!O}_z5YXHeO(zoDbzIGxX=cDue03COfV^owk5BH~Q tQNq=s8Gwf{;>lC~3T` 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 diff --git a/link.x.in b/link.x.in index 92004b7f..8e5ed0fd 100644 --- a/link.x.in +++ b/link.x.in @@ -68,6 +68,7 @@ SECTIONS { /* Initial Stack Pointer (SP) value */ LONG(_stack_start); + __vector_table = .; /* Reset vector */ KEEP(*(.vector_table.reset_vector)); /* this is the `__RESET_VECTOR` symbol */