From b1860f43d5085f816532addaedf3edb94ff26671 Mon Sep 17 00:00:00 2001 From: Frank Voorburg Date: Wed, 9 Oct 2013 09:17:10 +0000 Subject: [PATCH] - Fixed bug where main() was incorrectly called in Startup() for HCS12 targets. - Added support for BDM debugging of the demo program for HCS12 targets. git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@63 5dc33758-31d5-4daf-9ae8-b24bf3d40d73 --- Host/openblt_uart.ini | 2 +- .../Boot/bin/openblt_evbplus_dragon12p.abs | Bin 245788 -> 245348 bytes .../bin/openblt_evbplus_dragon12p.abs.phy | 288 ++++--- .../bin/openblt_evbplus_dragon12p.abs.s19 | 288 ++++--- .../Boot/bin/openblt_evbplus_dragon12p.map | 762 +++++++++--------- .../Boot/blt_conf.h | 4 +- .../Boot/ide/P&E_Multilink_USB.ini | 2 +- .../hcs12_Data/Standard/TargetDataWindows.tdt | Bin 568103 -> 550512 bytes .../Prog/bin/demoprog_evbplus_dragon12p.abs | Bin 213605 -> 207805 bytes .../bin/demoprog_evbplus_dragon12p.abs.sx | 45 +- .../Prog/bin/demoprog_evbplus_dragon12p.map | 311 ++++--- .../Prog/boot.c | 2 +- .../Prog/{start12.c => cstartup.c} | 0 .../Prog/header.h | 14 +- .../Prog/ide/hcs12.mcp | Bin 58710 -> 58710 bytes .../hcs12_Data/Standard/TargetDataWindows.tdt | Bin 525932 -> 527729 bytes .../Prog/main.c | 71 ++ .../Prog/vectors.c | 12 + Target/Source/HCS12/CodeWarrior/cstartup.c | 9 - Target/Source/HCS12/CodeWarrior/memory.x | 4 +- Target/Source/HCS12/CodeWarrior/vectors.c | 22 +- 21 files changed, 960 insertions(+), 876 deletions(-) rename Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Prog/{start12.c => cstartup.c} (100%) diff --git a/Host/openblt_uart.ini b/Host/openblt_uart.ini index 164dac50..56b278d5 100644 --- a/Host/openblt_uart.ini +++ b/Host/openblt_uart.ini @@ -1,5 +1,5 @@ [sci] -port=5 +port=3 baudrate=8 [xcp] seedkey= diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs index 577918d784e892a046591d99e11020c49867bd1a..b2e96c15e971179d9253cbf31ac1cfda01ba76e3 100644 GIT binary patch delta 28692 zcma)l34Baf|Nc4m&Yj6Fwvi1Z2-P4V!blUb?~0;YiXg2e4b{|ZNlio~sHz%uwN>4; zRTOPnDMc-9Xq)P$>eW^){dprMBkN46%K!P^dm?x8{{ElOZ$7=w^E~H!w(t3#yUm$& zTTYWdZ-;DbGwRb0Om+-n^hsbg)`NBC8GQbo(r*8h#&!znRUYq(pS#eM@OQi%Q+1~_ z&K2J&usl92AP(AJw#sC4DPz2}N8M>VGu?i1@iESv#}~G9UV5UNa~Gf6?3uJhS>0x# zZtL|U*0LqmvI1vEDLSz3a8iORuPEJGx7Rsd>K<5HlT`dnL6KthZg#GhBEy?y+vOE@ zZY~>YE&I{LyLeE0yAIacX3k?$ONaOC$lQ+RrFLd@znW|{rxayb%Wm~eF0q@fwVO=s%mm7AB_}7j@{+Et zveqW_wU&AMCKvPNb_F$;CnqPLD#*5P$hNOvZeN>iU$@*oEPJ$lNV3O1B!iO<9DJ59k1>fa@-T$?pSq!weIBTetm`(b30BNOQg^w{+BIn}MV}#`XxYqqgzHmfJ=W z+h!X?$yQr3B`a)+lw{hvqxteTo5{kk^*jhbP^(ue08`9GM%rO7n^<*IITYGA}vfgSol3=I-aNu^YMbbKPrQ z&sn`!GoH&_>nd=sPDrwPONpE+NP;Wf`BqF(Ud#{Iatqu!8Pcf?HXhY2wGU11U3_P` zeRz*$_7P*@*LBI3vXZ-exx+r>RJMJ1lzl|#a{I_A`$(Rjnr$C7KHENKxqa*z=C=Z- zOYK7}M~d&FxL!2>E|u}vhoT5g(x~P3F~w%8^px3^5GI!<+BcBCejv<{jx4rh+aElY zZ696iM^;H%UG5y0DcfOR??TB9#T<6)`sx$PkN0bDDUODpY<<7AkLWc&7o+>fzM@WNC2kq<8Fm;>Ui0Cj>Hn80EtbKiNt-%ue zh$PhNxNYB%ggOiUua&MuAGNlr;BEW*BzK<6oa8bkmDopHZ@%hHv4z!pjhYCTii&+(Xyu-n z0}uYU|1e17_}nII&C8K__j(qf^-K$fzR6big$9~j9FGu4vexW2^>1P=J8Z4_#Tja8 zYcKmHt~@6pVtQuo^NhvCTti%&J(kGV=H?;_=dT=_ZQqn_-mHv9L^g_|uB&;iBB)HbN^JuZ;x0g@Z(i+>rYL&z? z*7QBWa+xC|ue_p#yP{dKztwxNXb2@cGuCCUapx!ODU1npUN3KCIL~c$>_+Kj8kh%V7X-Zf}_A(7>eT;=hv?02WtD?o#Ty*4m z*NT?!SG4%Qj>vh|FQ$w4U`D=cT^?W0SY&P|#hvGunfK&6TQ{7fi&J~MUP!`!B@=g9 zYhs-p{JTYMF}>q|Cuy_k9eKQM+!>yenOo5N>MDfSm87lCOn+;-uNTQXEEgRj?<6D@ zOB7xa>u?ghIWBS?<~DN6se+6(|C>`;ZbrUVEF)LX&d9kpInL|;(T`MLEV#NhV{Omz z$8$Pfb>+HqtkoBbLa{*d+?cqlUBUex5%j!CL*e zsejAc_Dv+(H=6PSF)0w8vjh4#s{fu6=PrmaC1CBl@(}?w7CH^&OWOLsmNzA?m`AQo zMtJ0}Pud(~LD7tSTPJiCQyhk#?#YR1ibgW>@06a;%)L{3E;GmG=gQX_ZQ{z;yIBn=CEYAp=faLYgbAy&cBkp74ElobeAM= zb*>M3Y@+-3B-c8_e`{!-*Tj*V*5J$qPg*N1k$I@gS~)V=TJfhTjRXFijO9Nnl^63V zV}2WS^08x6$Br73gY#qZhuO*doGHQG93S3E-iKL*vLbn3vgME4$)qGNW#24iUoT~+ zm$I*lBMOopJw4^CQQrjhO`iY3@znMqCD&IZ6|d3nS|W3=t5*?#D{UPR z@2=HXSJJ=@M$UR8hkK=8=E`e11$$OT|4bJQPjX>Qi<0Dzt+iK7?fh_QPA*)UTzkrv z;7P76z!|#Wq@EY=T9jN1tup!Jn9J@Q3a2y4pCq7strkg3lM9PE9Q0s`&HvnY?wt9I zf;BFAOi7M(DtXFxHW@v8up}(!FS?UqO-uakQ$inY_8so5O7AmY|EO?%a1IakxN=t{ z*JUT)g0byy#tLgf1G(g_aPnrY9F0p^%Sup?F;9fY=85sddU|;Jcv3urJR>|~J(E0B zJu^LXJei&>&oWPrC*QN)v&pm7v)!}9v&*yJbHH=hbHa1lbH;PlbHQ`TbIs%ORC($= zcf2NVfH%}@^+tK4y`8c8=WKLH!>!fIO7lF&K0Ngq|FBY8)L~^>2_7*yTJE4 zU7g$Vea@i!A{{pHLgaHjU+M+^F?fH$hl1A{@+SjpACuOel!kl{1WDLG16~I%`XjB? ztr?RUM_FlIJx6(Phx8I-xZ`H*K1nxtrQQGq9zlUu4g68?ZS@=#5Pu8h6QTK`1H|_= z$}d8G3bZ#w{z>qQ;N*};nS)8+*B3y8Q&7PV^&AZlKaT=6&?ce)aT=}m5&3r*yFMI3 zFFjw564^}8m)j$M1+)Z_-@iT|?M-#SF$3xa6qpK*%B~-QwiF&AKBiIr1jcS$h8869 z9|tc7A1L@z#$0jWCc$xQ;7R}w6&xOP(eqIka0fN83qq#B;4^UQafB%F4fs~@`U-ym zMWhu7E`k^c{4mLNsV;CrPUi*Mg2ZvYg@fqN-(LNG-!okzQ zBpePB0F(?6KO7t!u2!A~_7~g)j-X=XGRnvB6a+2{6x1&$K=G=_7)tLAR1EsfY3%5pdsZNa9hD!fR_Vz790&LwZQiYj)oOP zIqM>LD@;AS#_kt944k}0b50%!2dBYxB{!0Qo|+-DZh}XG+km?Zj-H!40mlj68k}r< z2#$`Mdja&#Bz zfr7(z=9hu#%tdqB75sJJAtE2%Fuw~tRB(9Cya$*@N%g~X=0f1%g2#g&qWK>o1h~?C z9C)PQaHaV)@F>CIN;3t~Xu;u1^I70Af+vFi3jCnp@T~a?FnN_a49}YX13X@Ec-HJf z`)q;`;97Gf@Fc>LhzirR5Cp3xYp_`M3N6vJnUM7;|g61iT3c@hRZf zfj0||xwcdRZxQ@4aEb})B-vx`{Y=2G2tFM=7IOM{rD+AFYU;f+JS^;05-+&K(pi ze&__FwMrvEu=r7ckXwlZ`_Y{47d!(TUSl5#{v3!RfqlK=1|NuK|B5IAYE3 zJ>WwcM@>&b_z>ir9Pm$q=YZRR&*E@U1uG#80QngQ@m%ncz~=;C1wH|o0+sUfz!7-t zyx^1i5{%||HAb0^dyuf}Hd<{5F;qP?*rvjKie;Bb#!eAZv^T6ar%6|@= z=Jbl->%m_JzA89u{a*+EQ}7Mo6o3_izW`40R4MpI@FL(UI{#AxFGBbnLbWj11bzy* zR&X@#PwuW0d^0$W{x88_0;kU25_}6d%{fgg)vtn6!C8hC4Pv*1|Y0qwy<1&4P6V!@jW{swqYa7POvya}N% zgqDK81>PT=0*xAc8+<5WG&lv>4)F2d9R!EF10Dm95%%wbW3BW11b+|wY4H06-wBRD zb?~l2cpm}+gLfBv7x;_d6uH#kZg6;o_Yiy!I6B1>1pfdW8c!4)^BwRBcpt&{fn!N? z3{tCaKlmw%zXycyA%yQ?kRtd;;Qt0s1t$*_f?oxMS2X@Hcsbwz!O>WN7kr@L2XKRo z>Ewe1N5BOJf)5t_Q}C7)e?x?D5JFpUxLIr95IEe&hY9`}IL+B`!EwS0Oa>nz_z`f} z@{xjLw1G55V+8*koTlhO!HZXo0vvP1QHj=}li+Is9}@fvaI6GA zLGUlZ5omm(;KksWMm|Y!tf)Yml7|I9jrk8e24S)gzJkFw;ExFYHTXI3M+HY-;AQYB zf|r21z^4lSEjUd9MyYl9jP^vv_%y-40}n>lbiu#J{0D_Wm?4B8V1S6`X@dUg@xo^beiocuK3njg!Ql;_E;u?LGz0u`!G8hI0DnU8^9~40AYdA_9wXp_@&M-w zegS+V_&mXX1>XifU+~|+cY>o*t^Ducg@Bphv}!JbBM$gNk^cucyvm;v+;Is4xp{ zgO3p01HJ=%q~Hk9;9cOOh|~4I4#Iv2qlLj=;0M4lYOMjdJNPj8Si%1WKMp=l@Y~>6 zTGDvI{{jCN{2{^bfd2%Jz|`uy3ywIGCW6!TpCb)MU`Ug61G)$WV;-f41((3#W@)nE zGB~^>VH&7Hx+n!>RMMk@E8ysaG(~X4M+nMDQw6tx`-4A*_O%N9AT)t6O&B0Eq$T)t z!2`e}!Dk2_2yO#U6Fdk!27IRA!Qiprvjh(T?*TqraI_WD2Rt3^YaIxMkOJXxVSrf) z!Td{42#$yj!F)<{1aA)hAoyItTY$rz(mcV@`4Eg=63djXq9N$4lp*q4funBeNwlwZ zAPmBj5HbZ12Y(uTf#4C~OTlvlhc`l2fv*%i3jBHST)|s|tKhKF>Td)7CU~CUZNYbg zJ5~$92H_J3`GU6t{~WwP@M!R_z}E=g9-M+|t>7KNe+OSDct`M3@aF`_^n_p~NgD+3 z1dbSSNG}MXGhi20Y`Ce1~05N5z&tKjkAm_O-d!4W`B7K6Vccu#P+Uwc7Ks{oBRSr5KV z%Fp>Ij1Ho)A(YAP}XUg7*iXM2C9|L|A9A4J!AH@8JehuNE5XQpb z9QYx@$AMn~|4i`l;BN54f@5@{e}Nwnd;;EKD&S~D8}USN_`DQ>%H(F+jZV{Wyxyk) z27=T3|E6siD?@OwrX(OiWS7A;EM9QLLD>@UCW2!c$_l`P1cw*OoZ#Vtqf=!x1)+lD zL{z4ASnyfk)M2WR-v2j!20{r0ypq&9fD=jCkKiW3w}Hbej0=tcEBnR3_ko`WZz=NO z?y_=lf5D5vJ>d2A{R(~y{6Ed~_y0{{?0ywOm|mb62d6pjBzO?`1#og9I^3)!`0wCZ zg12StCZ>uV5WEYn>K5?d1@8s^C-@VBBhD(}HMXu9u0K>Ej>?}Q^b!V-;^xi`* zuD728zSY1pz_%Otv*4KLd-fZ^cNzHW;QP`3J%jxa4jA}x@WTfFBRITp&;Ba-X#=kT zKhwZl;zZ;*Yv5M!3kKc^+;PbuU_L$93>>FlkITRx1+Oyj`QUX1o(+D-z;Pb&nhYG? z@dg+;g5Kc`H3-LGfL_**u;mZnQ3iemJlepqV!W8PdV4Dx^L8_EoF}}rO2m{|5#Zjw z2HqR_c=1j%@Yld+8~9#u)N!vvpJV>L3k|~e z;EN6XGC16NuK?Wd&28YVWbicx-U1wfR&U>`Blu?U7W#RhRZsAp;B>8djImY@M7j5% zK}ZGv8k|lvWB_k?5ok;i9NzGjg8K;$Z+I)fj|z@eQHN2o5W#1HQxIDO$LQ-$f{Xf^ zwZiD`T!KKS*6C<)bK$Vz9i7Oo-`EjZK?1 zKRv5kk9uXvsPxPyvgUN_>C70pRAEo1&CPV$MzwQBj*2l+g+vO|M^*ApqWXyt$EVLq zpSw7Hz|yRAMts7ew9KcUoSQ{L;ge(L2j5TX@XWbcKG}NPnj~rtoj>G7@fA*YUOT?k8M@law>dkl zZWnnJb^VA)lAE?mR(Sh{QM=ANXRYqYW1MSO$MEIO{j1yX_nhCY4i9eIP;2=yXYK0F zTz0m}Pv+B{Q}a8uUW5AX!hy0J%EQ|!++gkAQus#xw+7F+Uv=(X*NGQ8&#mhsxi1t- z&-vv3?hJilEFb4gd!aA4IJdpXXmnw19^b+=*Bqg!@Ie0 z1b^Sz_r*#4ap#LKj*zM^I)8t$omBnzrcJHFElP8_+N^ub(4(4QXWXVZ9$T2U$!+LY zO^$QpmX`Kan6RHHmgP2x3xz-2;GCM5k#}39m?d zm|+TK8Q~We7S%aS;rBPVvgQ|L-=XZ_R^sCm2sPEn-=qhK(mJZM!iO~!#*YA=de!P@ z`hymk?8YK{AV6DAv+%9fRVQE4p)hprh=$HMY9mqGC9N}o9L8K=!4N$ts%cT&mgtfr}ut*l(;DOpr@Xl-0S7abj+9{U! zc3?PDfXPofD7B0WSNyw94yW~q>KmL}dqrs~e^14mDoX1PiVTw`hU{u&{|{vcBOB+0 z7K+kRX)ixZmBP6g$i1b-Lf$2pn6bW@DFCMmq<9K(zV_;1`OvVBm>>!A9;p{$9A*2Kc@XV*pR+Fc$Dv z9rggM(V)@?@OkI)x5Lez6u@_NI0*1_9gYAzufwr`l>{xGNr3BQt+lCuZ|iU-;9(uk z0sL8qnSgE`W&swMv|`Hu-_T(W;6WYc1OBMP^?)~YxCt;%(TZ&ad`*Yj0T1YK2jF)) z+yz*wL1jPSO6P~~U~C5fU(q3*kPCHq0X7E* zYaLz#ysASN;B6gN0lws?6{`c>tHV2hr~I6k-wv~QO~97~4gmg3!)9+N@FwS*m_)A? zaJLSl0Kd>-G~n+#>2NXNXFALVJgdW8z;c2X?;61TV7J^=$|@vbf#a|D^+_y&ZHPTh~=LLCWfS0HYzKtga_8 z9xsrxx+Gw;ma@7Bg#G~d0AW7>c(l+*1CJ9rUQyIN1T1SQtD7KfCV=Brq~6#>kV(R5 z67a*K@Wa59MFBi=)J+#QxM!|gENt-PQ1>sP{|k62FmA?>vbtx1snd8Yty=+1gMqi| za)D`(x$tA%DiF96DXUv8GFAhx75ZA>bwXbU{JhZdq*wR0(BB5$tLyc1N>2oJ`-Cl? z`s(%z+x@^F0aIu0`w0IW0P)jOR`)3|_4rd9hk&VLhj1KjnA`8#(8ERD5s`ZY_yjPG z=LC+ES`fL5ZO!PJqwWh~_66|iLfff++<`W+*VZR0Xz%Uy&vgwcyM7KB?^2Mm>z9E2 zwUk|_cnbu^Gum~EEJQg{cD+*ARN^&P1Te}XWn~?79Vsj8rRxp=dim$m0eTsT7l6Ln zP-qkiZ~{_R_5?77iIkPi0fq;Wva%!dph)@_V2iZlqy;@V3#{4jwK$N?NK0SlMw98qIMWr+{fRr*M2D z^lyMms6fMq-dL9Xs7-L2<1HNY!V)hjeN8Z9cv0!A{Q~WLBker2@oMEWHh6h;lh(zbTrxT0%F*^U1J zMtw-x4HqzcgOs*>8_J;u+5>*$rYLw5Td)Ix(FjuJ!UG&Nj+D8qz!oiKu2#T^XQa&4 z2AFKy;IIiB8*q1Es;4`SIAB9(X`eavmP-yF5wBca6yPvK%3O55#PtR#Z9Mm_U=Xy- zMp`B`Iz<^9!l?>-(0#S7(6;H?JzLtCj?L)4hDV`^6^)d+C??=iq_k1p*A}th`nRqj zWiD~GLCRd@a`FT`?WzJMk5=LE(EO825g;xK5OOI3qnrc7rAS$MN4+po+70j1DD93f z@1$!;Svg%*&_SfEe6T1t7k8b!*=M**Wvq^x|j0|bqhkH#?(m>R{Eq@1n*=rK}O zz6_WuU4~;hu))2w9ltzV*O0Puaq>sX%IV~fphL>aHvr@Gf|QlN2#j+zQdaK3ow_3c z;9VT=0UIlS58AOt+A(Of>S2eJm469Lo%<5USHRTZS2(@}rUt*o@f|QV_#F93ozMr!O;zvv~D;kve6Jy=B5ij8bZq46uf8%DRVyt zOl2R#F%7t3kPht!32wS5Lqy8lvxM<1U^-hsX1WXMr!cib>3V_!DH&m$opaDN( z@YS}!?$t)xtI)R5{8Ph-em7lEsh1z&C~Rb02<;PL`w4I{FmEw1=8TB338pjgB*D?(vb?A2-f9M)gc5@&wrUWUwIR+TfjFjCREA+9z zbiY(zF;eV)$o9)26fT_-1I6elZIzPs7nASg4dKkyA zBI8$J@&@Vf!cDg*>;|Tj2NkZuK^Gaa!MWq+U%=F%zwm_>1uZ&+lvS94(J)f_V#~)n z^hH+%wo__i14gfa?K7ivWa7!&^6<3A*Rq#K7jR8a7^;OUv83G0=tGEM9ZoGr9 z`NWkFDXVO!>quGU{lIW9QdZd$7y*WqRrV2jA7H!C?ZC;v@Gw$V*^lO*D(r`Y&e3o= zQdT(v7!4z(FC2a5jlO`a9Ib0eS>{@`~b%fz%M&hL%BmxP zF{embHQj2VBBZREf{kV3diZb(@*outSfCn@}>&9|Y8(EiXhq^$Z9FuaSDRnroLcagGc z2aObSR81qjB{FUS{|#(#Fa1ic`nIkiW!3)xQ-%NF3vfEip+cne>p7ot^lLi&g3eb% zeAI;Kngf8&XHH0~@*#%6U*@Z(y_&qNm(y?K| zw?V`PHZAyShoI5jbA3S?H148n9Mz4)YHb69k0EVnz$OM?EfN|{4=O^+YU$Jq4YrWh%6)D8nd03v0z6GX-Y;Auji2E0`0OMz(~$sY4pOLwwV5$Vsh{sauSBW1O}0%LxWvf9hQRQNKE zE5HUf($76>X-SbMuHvW?wpC8s1*-$QIeg4%cL#QK_-J=7;k#5?h=yuu*N2BrF-FY> zEvAtc1Fg~80H;kKRJNfw?E=Bh58n!LzQXPgUk$T@9U#8iAZQ~RX(OP~-Jh|8W1&ql zYRHAaJanoz8sdzPT_L{OOlacdSZ_)@MX)=>*De!URwFG7+OkI4GH8xQrvgt7#Qa8v z`Owxk($+(36jI={bHukZSn=3B;;UgXV+V<*-5WG*DZw@pUqh^D58Xi34;Lvo?I!Wn z4nRBHNIMMeL?i74w9`JCg9O@M;#=VvXmp!kZ1^m+3yri3(CE@(w7UfDS|jZmG*=_d z1+9wCZ^pt^5bGLgbN%1wr zB?jA4e6?t3of~PLp@~aP{a9$b3bv^Dmc@Av+f;ls2kl$&ruvHDv|Yu=khZU2%Zjfy z3flNa+IVP_8)=iF(fP8zcSvbF3%0Q6*SC6|_OxIhi?884XbT%@3!yD;q%DS)-AK!Z zmfJ|ng|?<%!wG>twATguTYMYd0Bv(4Z8J2w`=c_r`}1xAmb8@izu>Ix+;cGrUmcfT z?8`goUqW#H0=|>Qe&gw*9vU`E+ZF#kef=oDju>+3TeJ36#8qebWwnF;eFEo)6;WpR zn1NIVn_sC+DUJ%~*~>X*?OTPt&PT6Anzh&9hn>r>yk^#3Tc32cxjNIVy_!Dl%)i=R zsw-Z#`)a}NtGsCURVl?xzj?oYM0H=6!j&U0KIyuE3r)|o^QKEiXEj_N30RE`P)kuYA{mpIB^&0H=xNj%fox|}9 z=ZT`4h1%X5R1<)eOj$V2t6?7L^MGRF=W&#)mpzirOxsS&JgUVjJz%CSr)9U);a;h$ znYNqWxU6P-rIc1<03R~rpWZl92(-u1N&UeqMVj$87B5oODz7xvOfOVjaq5IR=@lgo zFhQ-Zle#KcovuM@$G@axWe{Md`ov#SKP3}zg}VDMX@IfUd`s$QroWR>9;5QVrBo#baJf3TiEb zgOp=_3PVGoPt&2-lEA+~ z2J=L9!#`3RK1BWCA1RKHP%r)?W$=OO$U9Pat3f=Mx0sc+02`>Z8J9wFv)z7(y8MpR zy=AIjAc80Z(@wE)ktV^^<)t^}?yCEav?zc!FVXg0ccD7(t~6FD1iYYrepf0o)2?0j z?=NM`rvuW-3Xd2!$Ejnuyh`Z;c)xm%%XVcP9?dOk3rYT7K^Rs1sa}`lQ)YUKuNsE->iNTAh+dP z)t>|8c6@JB1f5N=WuN^wK7ERh;4Pa$5tbo$bI=f zby5@A<|pA13!5l5(1dBb;MB@HQl_Kt1*o*AxHf_FG;OKf+vkS0)@nVzAjUFY!DqFZ znfA==MQK^-)1RKXC~kUu4=qCQ!z$Cglfct+7A(qQ7Hsp-wk6kMtII0=EI@VE@2C@7 z=BV~hab{Lfy~MHUYj#>znpP*zB<)$!GDINqEWH=2c^H{ZpPM;59Va^axG4&FmekOV zhI0{ZhOWKB`Sylh7b^cI1T4?$?}vwa{L1JUR@^;j zi&2{9W@cfV9YSAwbg1V1hyNO^wy6;fh2eTA#glVa@E^5t&elCH9mLYEy@{hjcoP9n ze`&^J;T-$jP{L=|Xa*Q!ZPsqiRG>;o}{^9}kvgx+#5pTaXVyA;?B;`}}JIjwM(CgMWk z8NvB6W8vODh1Y0yBVad{^M9+qqHv$^ZJLOCBhMtxtBi&1K85#dc9UQ?mGkFhHMSX* z{z6lyLY>L^4q2NN;W1yAo!1O!!f+1fN7QGV$q{|RU79!tVkYP3d`kQHEP~D>+SYte z7UwtB@2GS{3r);I#xl;=;E#nN&P3ZjPK)TQ87_li4(D&G?V8IGO(Gu9#2kqEoF7t0 zKm`XNd;iOkl-OAv8N`bNE=Rk=|UuR(Ni{-;lsK3mZy8G`_{3UNlx7$TLo4S_e?un|e7qJFrx{vd7{&P>b!00H zF=~(|MnR0`{7awGJ}We8vSt_!!_FKxGOwYuJt{*JJ45Wox!0$(Ppn1dXolTjh#QHG z0cu4noLr(dYbx%Qy?r@SWH}4K(zqm(Ln)9i$mfhT$~M zKUYJ-;mp=HO`HaCHs|MkO8Z1x>jcekHVo%+Ua8JN>9p3vG;topg`BSoGPdm#ZLOzj zh6`c1nDe)N41L_zdZA{x7>3z+2vvX8I+>@5*${I%|JkRs&l+vLRWrtmYX1{iMU{0-HC(o*ZQ>Z=iQWYRQ6yX(1|!#@pi`r-Z}a3kI)`XPM^cQ=7*4iD8twK76(-Fh2tNCJ0f4S#ykkY_Sy zF)4`Q!|}2kk01;;6!$qR=33M#k@AyqW1fIWKX38wgXuB1FusTMag6Rq;^`(Pu1V51gYgV`CkwI3pJOb;nMp! z$AyQ^4%$;Fq&6++E~G!c|IvTgS&I9J=j0$Vnf_1~Zg-zqNCR$@3S0daur#))upJ%_ z)Rz+FzG`rL`4WB@qTXyTx8h#a-ChnWYTH2`gI|k$tuE*&{}8GF;3for1Zpt-gHKEP z2jeVNr^Lu_;x{7dofvsLek4+~y_1~C@iP(iTxWTn_AY@b>h=zDq}sNN>{m4RKKza% z;v2m^2UlP&}IKCsN%31-&GF7ZNrGJ_}xi~`l4NK zuCD7UCkE=jF(vasR9{LAiUiz6k#nevlit6fE-eF3{*0@YUF3mDunn98+w+iGlG(%t zTP*_*@64aH;f*pp>IdEMy9>M;DDEc5|*+F4^U6=THyQc@W56zt+(8~ttM@QZ8Vji*{G4DYGj<; zPQvSflsGw+$Ec1tc`#qDeiw_49bNzePPCFF%O8fzCbTXkMs}>>>9G)PGh>)eY3;NkIcx3B5i7; zjB52Z%F{D5^H)=2<$(@Nc1v6$^xxW&_1F+;lQfJ_eJ~~q6I|QaG|CtdB5#t1g(#bp z5rjtFLsRadF~$lo7Of3h+1hI9Pi-s-F>NwU8W>{UWF8dax5=-6NWi9mVU(k}s=oF5 z4q|EPOI9oVps{`oTdN;WajXSpOwgv5mW(wW_c1gF%}IZV{=r9N&@&gak~YaV!xN#c zTC-N#X23B99BaTm47iU0rx@@c10G?(V-0wc0Z%pHnFc(^fHMs^%Yc^|aE<}z8}NDq z-ekaA4S2f&?=aw92E5;Z4;b)a13qEErw#aw0iQMC3kH12fUg;_%Yds4xXys@G+?jE zfCCIT)PSu99A&`K2He?zyBTnT0rxfFR0AGjz@rR!ya7)(;AsXt+kod8@InJ#Y{1zD zoNK^qG~9$@8{aI{pPjS|oH?qN?l08Z6nUJ2h1dE)bzZ6*O@H}C|BDW^Oa>Ock}CU0 zI2gV@XHr}aPF%S9vk&gQOv5G1=M{>03kG>L+4#Pef_nPDUpMix`u9ioUNA|4^^*S6 z*i`y$EZUV88Y&fUYoyPOZ{g}+;lNm#OMULS5|@#^>b^(i!O4TfL-@T%Aap20JO>-K z&AQg`905CA>8HrelmFDS8XgkRsUTfzxYvc2plc1cwa})jD^Z0bPtR(&XGPW?U5jtH z)ra`A5F74KA>I*U!(Bb*q>~VhJ(kA`vEdFLmP;q4=&y~8Baq(`rp6)2-w4q-2DwHZ zH&t$Ne`}Fv9E53zE*f4b;AUfix)B8&TScC++ot0}GUvP>5ZkJxxc`L+;^-L{kn(b#QEtq_gf z_G=@&mSCI;zoEj^I0(OmLNpG-?`0txr^4@q5RF6fyCFp5ko;RrQmdxHYsq?MFXJfu z9~Yu=6#g%$ans?oPeq=w+y0k@XzX@CfDnz{4(KUFW48mQ3eni@fYm}Yb~|A2L|siZ zMo_>nLNpE{P`ngOG!7zgQ2lcyPGR&JOJ}iu-PN!e@@PvhBB^K8f6tJ6G{=1(C_X0o z2OsawqNp@^F%QuHq(2^kK2o>MlsmPfN1y?kiT)3jlbZFfFIToi{d1<=Ug?iV4yPJ4 z3qL9@JEz9ZlH0b#3kmwe#rpq*Kz|~UPpUI!;cK8*)ofU#ZAAOHe3YiZ@&K9~jYn1$5k< zYB#ZX?RD=HOXYj6tS?VDg8cdVKfl1(-5glbQUB4}>({;BUi<$%;2~cBgA(;dNHx3E z=4a{+>A{)))H$Ae_so{@%jAdgJ@JFHvTSj7TYP-q_?~^^dl#Kdm;J`^+iJ-Hxl>0N zH~v^#L7^)tS}djf8EROO+&-QrDg(z+9F0C!JiKT{Fy%DAoQfS)Gm7N4T|WYK;qTIU z8kGUH+C?!M+fF=>{HcCgBuAU;PU9Baq+UX+{+9s#$W{&dRF0OK+SIsD<(O_w-(V~e zd3+|0cacvn2!+`bNb%;c{xd8G-+66Q^FBogMd2@e&sX=L8uNiQc+M_U&l3JT3-1gj zsJ99Kews-Gs?`n$fo+Fz<8eYAMK}f3*!HSfz|!q# delta 29055 zcma)l3s_Xu{`OjX&z|89q6~K#QSnv^3F?4&zocbev&>8p$w>09sc3_Upq6P)y6fmU zb~jV|Ta@G}Q!~+$E~k^-tmCDQA`FPYjF6_^``ddB?BV}C&-d}PUGMv@-@5(QW$(3T z&Gg5ukX;3#TRT2{_!g7b#xeR!Wj2<=y7N3f?{;PSUzG#8g{0M_xKeT#no@73$Vv6L zD+jt#x&_vxL!L_z$t+uB zKiOaQHwBmiO+lt0C0GejLX}W+m^sW6=I0!$COU0Tq&e#s^mTr~`-Ep_&F`H})v;c6 zS*!L~s}4EcJTb8OtBh1vQCW_)`KU8d>JxaiOGf#!k}}2WIpcg(ij5w;+Acq1=jN*A z)@p9zJw2#Ir!H3aVCPmT!qIdtwy>*trJY%8PiI=I6>H-aYvTcH)o13a9BZ}N>b6;{ z&LM62oq6x(uC-QMte*28yJG63lr6PZ_ejsIu$!$nDomZs1gd*vW@fmGGA^&P-pEh4 zR(DO$Ea&-l1v$rMW@er$S#9sQ+8&p0k6vw$$+w5C9%m29^w>j^IP5Z4+M_cw`jw5m z%#PnlvXo7+x|Y};JY)|s*}gh{J8{JEhOQyUJ&B!;HI!JJzaKYvz^LOD^9s5q9se#d z@mK|E&P8&Bqxt(D3zGW}x?FJli*D(**{-$L8nbN{1ygL(5V%~nNyPTr?j!c4Z3G47 zwoD54+xk(k%hm_Q*VNd$gViS6Iw7bzYl|WFtgSr-AKHQ_IAK%DZB|#d#~uxzl!sXz zu54;@bcMZL#w~k{)fE<77`smMimT9C<%%uJ%sY@}6J6IIpmFqw85~Q)Aw< z^EbLmYS*V`Seu%OoGQtHD{G6b=%S*ee_bvtsV&HpPUW#l$Zn-QG_!yC?R`5k-Y(7_9+q!!A7^jRi~UyHJ4{+_x8~cU%1mUr(jH>@wEPZI z>nV%xP!f+l6e*~WI^^4}@nm;3=TtP!)r`y>~a0I0xRs{8OZgP!`?9i zd6xYDX1W%2)XKhvgtzQ*8MQ?&bB4>5QDKj;x-eA3spajphQ@Bn)Lr#8LxtKykI1)2 z`lD`{NUA4ylv_$NPGz_@oM7DAcrbQ@Da%rxLQU`JE#?HXpm`|k3$~G=aV@^mT4(NT zDo?Z}7vEWBZ}%1BYwR(mEI(`GucoX4wkWUDsEBB(tlYPR$l8L-4qo!V-G?@M>qpJ2 zHCY?WV~bj97NFHk8w=@~)@znlnpvKL5s+bR{K+&l)LK<-b(?Noxt&)K(ZE=GX5N0+ zb9sfe8*ITfg_o1(Eqtml)oQOcC)X6D#>|{wxS6r!q{|raX7|0Zf6pz%@SL}H!fJcs zYP)T9M$+nxE^%CzJzV}=o|KR6dk!B>BcHO_NJn>Vp9W!$P9yT2|haYT~e zt;+lN*M%phyXwM!e?G(Y{MEYld+Wl>My6xR!0eBP%1Q*6nk%myuDo3KeFi2RB2rx& zYKv$V6?c|T*|OT&!D^kv@;0P@#tND9PfMVq>C3WF<^I;D!+D$LZ>TL!-Cvp%=qlb{ zn50x>bg{`5c3VbmU58ZdDo%CPS%IweKg4dp_=tTmBekZkLv39+<oCABWpsBA@wevqI*XjZ z3Q;~eAvL31q5&4O35(#hXJR*@3uAYjD#_dMfAbwH%q!NCaav^Yhz$p7^X;3E&8VstmOBC-#5h;CduWz(CIULnCh46G^n&Ohtj{0*KCj0RtS3-KQtlmc*D+G5KA^=;+2&S_g_HZ2`Dk zG(EYT$F9%BC@6j|qf3$nN%M+r-B49@XcTI?zaXg{3dt+JUHQlS!rPUX<`>xfT*X?U zp{`=Rn)Ur-3r$(_sgfQb?=+oIEID5IMrNu68XPK)29)9!W+;Gg8Y#YT)HBfr|#8C}5dz zPT9!*moHUT&AXJ@9i3wBT3eCX-T7G1j0dj;WVkjN{@Xykzag2Nw*e~}{A;aCjV(f6 z*6S;9wKHY$Ol!TAiDlvbA-tSVf8f^6DNH?ilVWd?s_`>deu2^03{E-GLh^ACka_@|)!a z`Fv;vZ_J1(OpRHOVc9eR>lY8HxcY8Jxm$nQi7mVgt6`Vd=JVn4{J!K0^W3}*7`4TD zMR|q!d_uWjKA%_~l+P!Xf1S@Kui{h6!}9rqtN7Ga{GsxSeC~L-{6apTwu(Qpicep~ zA1$}!^BJr7W2^Ygcs_)8)GC51jl~e{-;s~vp;UYY@8?~wDr~p%`NCCv(MrB}C0|0- zS$)bDR?@$0)bB;qDf6oM(!P@}7Ibw{(?;23G&BJjHQke$_jazMIDwDg%RBNczpz_; z))@NBD?$qjZOOO!Y)GG5O2(9(95wYT#xjUr$S9XnX%>B1wf>!=Jj~asweJ+0^NJ7gyrR%2OZ3W&{C#cNsLPl5oOwe~nUb!qcs}Cx<>FY!2CV2A zxkZ1^bDJiO~Gr(%mUOMWaX?-nqv?Bs(Z z%TAj5c}Q?Jh2D^wx$}Bhq(dJW)~cHr9PWwkhukyV+3sBT0{1d^zI&~^#J$<=bieH0 z?S9j}&;6de%zeat!u^H&8~0iFIrl~P6?cuh!QJe><54_;o_3x{PrRqIr-!GHC(V=L z8R{AB8RwbondX`4$??qdEb=_svf+34Bg+3wltdDRoV$8*3_>N)H=>N)AY*SYrI z_NArmPDgM*=jv{;N(dgp!=1aj#irO8lT4iPhZy4+1sPoo{8z>@yVK*khB+jAf77miij@)uL7rLlKl&9>{Z6D zlGH`Szv?ZYT7cR~uNe{$--`tBBYO}Dh@WZ`{|(|-LQ50zHErVYXma&kXnpl~xt%v2 z<)QU*xM)9ostf3XtLPlI5-uZyj@|?!9+h#0K?@S`=n_{P_;A6;fX@Us2@a3CXrmS; zcpmr?aOx7u-?0k9E`!0d;QPU2guzbma&T{kd%(X0PZaT`;8bC+{V~RB%-|1*cq|V! zQ@|e-{5&|k%I?y+LxziL&O(UN1rrk2kQ+sdOp%P$CWB8G@m;}DN!C;F0pK5khX{^A zSbG9o5quV~_NRN$^aNw|{UJ=$;vLNNG=vQhM2$_r^*?|g5gEM1Sc4OMh2U>9)))vL zFZfaL?%<+JOy7d1f}2JBMeua+1i{_l82xMtar8ebD*p5uDt?SLO@NfECs1O%@fbAd zPbJpC(bo#~zxIdtS>W-4N*HY%93Ep-262SSUBD=Vad3wWp)ZKP5KQ29-~hoD@WH^; zVoHGSQD_Ya65Ij~m$P8Ok+CufnARn-N4^TCBBMb|9Qi7#7<2$X08D*K2~e;?1FVPOC|EfH+*5E2P~~&rUV=w~p8+N}Q+iBky#BJy$^gBxv zyc0O}H;sCVPXwp#z|3I|5;{Xbtr_(@aV#=s8*sYd7(iz7Muy-?;8eMRf_DR_%mxb% zTk{ZLx+p(*&O8cusNnFNc^vRCTK~xat}{=DFkBeGb>?ZnBXCil!gc1Ez?2Eu!*%Az zfkz7t&zbXp?-d-CGcN%iBX|ncPeu7!0=U+E2>4;a z;ac;@z>f%?34RRtQCw8OAn=pGj|mRfo4*8}g^MaY1pHsXS%Sm$=AVFP&@4I=L(KFZ}tE`Avn6i{1g@vZfa>3CR78>Cz1V>j`Xn;~bQ+jlT z1+8YQ1)m6xO0s7JN7q=!QU4bT0RzxN?k^G?ePzi8F2+S3c@TU)@J7L>g0BRAR`7?w zDJ_i~vPWK)=Yh8fjsa~^fw$tK3ZiQ*uTcMQ6T)-|dx2@7kpcSJ@;>km!DoQen0QHW z^u6VC;J*nz6Z|XSU4qX7{{i?Pf@3UL&I7-Kizq5^ZlI|0*7pax>BIQ)8nyek9@7C-9K zgM#OQ4+bVLP=cqx#{hpIIJ(1+){R4gF93&^*hhk6u=$}{NZ5qvTF-!C8J zQz2l{@LLajOmGZ7KkC2F1YZXJGBCNFTC^OTymwl}KMhW;rKw2qE5NDpX9UN1@uM!R z5PX#b0%b=1MhQ?EKf+%Nj?wE!efW*wYrv@wzr{r!!D#lo0{oqbr~K-G|1Ed{cr)<# zg0ICLSpq&QxT6q4AP5yg6<7z}0r*G3i@@W7e-a$t@lOK&S#Zn_|31LK2wno-ANZW$ z8^Eaxe-nHo_-Nn@I(M*55XOOA)CHPO{?w0QqF9DMqDSkUR_4%KI z?*OMhzbUv1{vPmOf+MZ}VI&3B(!UIj@x)2c?*Ev-{un@976v=P(cj!8IOelIx`!)* z{~a9edtx|2q&S zLP&-I6}S)l5%7Bi-w&P*o+|hO@I3H-g1-yC419p#{{xPh!P5ml2#zl10|kE%9OHry zqV=B&d>;b(g%5!NwWt&vUf@Fo{{S3?@?nC12wnz0T<}BS$H7Mkj<|p`;3Eb92>dMg zD8Vrv0?vbvM)_KS|AcTA5N^@<$KcdwV+6;F6@UT7#|nM~Pvm~!_X++fICaqjf*%E^ zE*dZRG4Sr-69h+P1F4G~6NP{g8AyFJN$?ZkD4b6g{B!Ur;JCC3o&=u>_@LnB;7@{2 z75o%9b;(15p9U`ge^~G@z@Me@H%$m%Lf8QV^t)C7+!y#N;B>(&z%dSJ*Q&*T1x{Ts zL-4P`(Fp#S;NO75hNF_2{kPyh0nQTqU*Lbx_{$Q)cM$4eFkA3{gWm$r7W{i`ddTH- z1V?`cbpX#1{0DFw_~U~A2!0p%T)|Oz&;al!1pgU)1p1%n3gH(B=pPO@YBfFwj@I&d zg8vGR#2h1Ei~kLL2_UU@G>HEL{tWm+5q}O&WTItw2?C}P zUn=eg(V=e5K%(;2!W*f?q}d2TKt0 zg#hE=5b)K4SA$1`uMyk@-W43J)LL8vo(wnyoThCpcpCUn!LNa5fDaQK-5ZQJ$vbVY zqyK|PL-5YqdKioYA1M+vfKLX$SMWyghruy3v;y7WkAaUB9IXq+_|V>jQH5@RKM8)n zh;IT%_edy1OW%zC4~9FX2ZZn^I9e}F5d0?iTJVX2-vTcIpCtHS;G4lwNiD(=a|FS=!KVuDfD-&BgolKH?g-uwj#g5JbW;j`4}6;7Ch#)wM+8^EkAP1X z+zfsK{87Oz;F#;$t3Ark4;)idg4Za22lt0?7Q#%CAOQRv_$&wSNCY_gRf`7>i3Jzal2x4K5^{-IYxL$UkD3? zK@7MZyg+bd9)b}otra{Dd>nY8;PK$-K53oc9l_x(sYvhya8yoOFSreS8F(=`-Tygi z8{&X~fu*%55qu-~2EjXn)1ZQ;#diV!JNPESyMn(B{;c3h;O~P!FF0BsLStl$;N8Jb zgKtIoT82F!{2Rgx!k{Pkf55j1-V6LHI4Ysp-vy4TD7`2++!=BQe7oSi84IN@+#z@$ zaOyHu@MLfs_)92X%P<833Xw2XG=2|wKk&Z^j_wH^3cgeDRPg)3cL|;bPF(=6Xz7tQ z6a!THhv5Ce(f`tJ!3Th^0DlGLYYEWbq3AE^Rl(E2;U4XUG<8u1I0}nbd zo(cW|_?v%J_P(Ha0fEcDuC97{sCdH;KRV{z~2!Z12FU!_&&i$ z;7yw!_1P`)Zz!hzr_a-J-|c5wI`jhpYb~XA~>GS z=)ooIKa5r7fVUI88vS3j972i^n!%}$C<7#DCxKH7g9Hx*{|r1@aJanc9C(=EvEbF< zTyRX?Di^pnKMd5Wo8V>(2`ZRcy&K>QJL%0B;n=rsAy+#Gdf}aHs0ADKjd2sYAJ0y4&wtkq7 z>^H&P*!r~tpR4n54ASeEYHX9>sBAsF%F;CMVBtx4ACFpj3k>fKPNUW;5@7B&mV<{2 zJ_H<7$J@eijFZM+!9^d3V~{pp0go5<@SxiS9w#_F=(d3;5J&%q=R?5!^tv#-2prR+ zg>M7L;Pm!cI0mWvAp?IOe1?Hze7Lg>{5$Ym1HS~0N@)2x(BI+p5SFzXw1<1#sFb(B z_Tk`b4LlLN#K7+X-)!JmE8I>4$4qg*Y~Yvy?%g_f&?s+@8Q^}?V1Ufsw9trA+WsYQ zS~$FXFF4I}FUJ&i)3o&RGvFr-9Npvo!oX|5ztK4EKU9I+5HQfZ8FUB*KWE@JaGJ-W zfDS3()W=>v3>=xZaI6*X1_P%tfT`UQ4{y8g5O?Tgk2S#4!@&On?*r}-8AgOaNNY8SNC3|;@MQ3z1`g~QZQzr@ z#~C;Vpa)*?Rv=<2_%s7w4?dIb|K1AhfPjI~!uNpBGjOcqo<#1_QXqv(vzbfWKPZS(+H?VrLBEjqM4vPw; zo6QWYXC82jlNOFK(B!~C(QYO%h?F5Tf-8E0NPqBVa6iE@E1Eg@r-Da;9|aE)JOLb) zq8I&CU}QJ&@4>zK*%`ZyN@+K zP-tlT_OeOhynSeBhe$gAz_rh5an9{z*6&i&Ip;gG-;kObofEPn=#13dY!#q{?|^pl)-<{jl1ok#N$xvTV2URO!P43uK4 zaul;%fwz3J9M2O{Bz%~wmsz#EG;7gC-eTFYY7Z>$f?;q}lx&e?9&Io_*XQn`LmY7N6Zp8{KkK(C)JsTG^%=7M1C{6%q@=_s zazwNohyoO)i^6RZK93evItQ~NPIV1IWQxM&c9NO5`l+fK2Jgav%RaIT@~2ulv&18~ z93uI{Ceo1eP3OE-qoitHTDt1Ax5@*hsA>f%(=3iW>F_z?p#}B#k(i8#zoKDc$bH~!=tzayIeTAI7#*VarOjaSg| zG>oZZqN3uuM=88lt1I0mMBk?9;7IZ3Gd|ol#BbBbjS?T%UE%i{5)W2_+6w{%hQQ{GzjlS9qtA^uERG0f6?JSzy^XA_j`cPne-yd zfZr7O2=J!@p8)<*;4gsd1pWqiqoSuh3;deEwD^21@I~P71*T4~(XiQF16=H!_ztSu z0JvL+&43^2@DAX=0AmzdS*i$`1A*3AP++vV9pK+}7zubthw*^l=&&g*bvO<13mwh`yrjb%z?%du zo_T;TV(Oy4ivSPk@M*wu9j*a9ufuhKO*-5N_(GtTYzyE!I@}I;LWes6f7RiufNl*c zdjOwzro4+v9st~YFR zr0`Bk!hKdn9+@DU!DI!eA^XHfCL|<8CPYT#-$)9TE^)$~R_m6V>-`%g8hY z5eVc6Md_qikYu=G!Q%xa1wk@b+9fHLxHu)KyW$_E^pdqAqQbRG(CsBo;qAS39gByu z2}(QpWvUY@i9qR~SoYeLp5cmre8Qtzo=BA`&!@;xs%Zr7&I%9J^I%x}$mKeN1E7kfBo0FsCd3pots{|t8|Mbt>ezS4~+B2Ri@!v^NiOPW-roUqBKY(;gdHXUgID02~b%(>@T-kS6ERk9#{e zAMWmK{&byl&CxGn=rI+Krji4XA>KcFRK;`FtYeq^HQ^z(>4F}OkTq2UqXh_AQ=QQ1 zX}2C2?*qP*+QQUJO>z$*a%s3j20sMi`KL9?e>)vjp4MOuV zVS5btxUfAAd;*v%)8hpGIR)aUg{=7tV5%`TdCg~lsbbg);i+2h)Dg}*pP%SRn~mnL zMfBIe{|2T8{TtW!&I>1ph133{`K&NG3;eV5x$@!8KF5Qc>&ojK7q#QIJ|lyU-(IcN zQy^qj3a~{BSyd=7c0~wTRTyxf7P6{H;9y{E$*XL_#s)kFn9`2HMMH$rVu)1HP=M|L zpcjHZ6`&V{cqizq;SEVuv92LxRicLwvMLoiyoiuh?E;455V9)jA$S8Jy;JnfZx6IX zH153pgpgh|;^m^R_8GKtT|>yKei4~syNwr*zP6aAc=_n7VT$4fq^|}KSJjXF4 z7x4blSBrzzwT;#lT8}nb4`@Aw69HItFBqU52$_p2gxQXexq^Z9khy3Gk&YpRliWT9 zgELnxR9e|M^LgtDEhF=iUiEl$Xc!iFDyE=-59f8w8;h>*ExDZ^Ms$Xw%v&3Is1$|xT!WjI!DC{*Kgv|Mr+dxg%LyJ&EuqYyIJlfdX6 zgmmuQH-jb6XuP&|s&*6|$IpGW{jd{5&}&LZ(s2x3vujCD=hAT&-8V7DnoApNTF7ds zTi{ZJbWYvJmd>r$i1C4t)%XcptV%WHes}^QtDzZA>20{WQ2hK&D0hc0VHGP2L zQiQCAramRc)W>0X-$JKAdr;R9vKsOjRS+JlA&*fyc&dh01S%9OLCq>)DsvUCe0+qV z6`BvS4wwpEhl{2>CEkPUZD7juZCrbSy?#VUr}1mv(KUpurc~IL0+#_}&>>_sp8%7G zKEXwcJbC3PF30yE0RUKPagyIRb1b8<8 z{+e6BRNyUqT0q@~@({9G@-ig`psxw|6hvPes7=u|gsk=X_I(C?hrw4n0lU*}wA0YOp#DeV+AnaO2c}w{$0Z(^y!nE&+DpRr z5^w`BRjdKm4PdI+4P4}Q(&6@NlCC3U*U0VA5z+@Vt(Bv~=@T1#O4BNm2G?B+(lvza z+CpFqNQCTKJ}^czLUwJ9(ANMzquYBcO`r5!E6_EB?AlsjbPqyy?PXw;;Q(OQ-TFl z`6I52z*N>nTvuuSQ>It(Ih3CsfsoaaH=rYAb+mZsA*)LeHVM!>3!BcsNx&!!A*-W7 ziwYrRb$x*;ZC_lez+TrNq|d$T`icIp>j%;w2B;ZARyP2cDlh<7E-+=Di)$$`Wxf>G z3Zbt6rhG_833W8W;RS@O?ge107P7i+z_R(BjUAkk$PT++GV=T{Un7a5X;7qq`>ZM@XOa`QCsa zuJ;U0wSdM{v%T7>Mn9TsMP7#O1(A-g^c7~O}EUC$AE4)Ehbe;oKp zU~~yWc0G^!A1()A*OwszE=S0&KMhO;KaGprj0$=G=<~?yw1z`K$gZykrVQ8P+5$}Z zZNa4iQ+_HgF_00m>t#YO13pImMhTALqLEA)eTM5KaG(~l>)!z5`4l0${*%yu0Zw7fEJ9Xa0!(R3aBToa{@y?O(pLROXj-8gK{kOr5VHE8fiV^kvie_u;aP;N{x&c?g^)E^ z#QX_SEeSpy9=(sOXpG$VZ*E+??J$q4DI zXbszS4IyjTLGFSZ8+PELeuf(nvWD+~DU zz*(bMz7ev6V1AsLS0in!>;2Hyr!H1AFJ}mTyfv4#SymbO+ zjnj1vA#2p&aZ1JDk((GEg;kNO`u0p#au)0G-<5?48}x0aN5Ij&Q>hLAO$7PhB>&rttUK^WbQv>B#?zQ#p; zP6eUQ8-ElwKLU#p?#-XhGT{7zZ-F#6uC&pv;4^EJuSVw@+zwkC(FSpF8*MPOd)sLD zLYwHT(Z_?g=~>TPJA`!h0p}fjwTGb5V;kaIZ0QgL4nFuAW<#U9pE1K+XbakC3!p7) zqb-A$-$ug&3(i6q^K)p2BXA(XC~5~J+?(5In~}K9e5QjEI2_@d_GM_h+i1I?z1c>4 z6WTuNe`D+RL42=`hQWyg6TWsBm^d`yt6@;$;DoPs0@@dCv@f91T0`Y}3#StmI7H!_ z7=sT7DSWka(C87$SZO>;;XsA2Mgy*ghn?iZ%q(- z969)BUK?>9v_);SMbMsZqdg66O&e_uv~_K?bUWK-&jkX6`n|lGB^1#UsuNU;<>8J;ecX&n3L3G^1bF__i6dJAdMi*ku$4L)g z4a>QQo|4JM6}Y|v#{B^yodVI8d_4yu?kB*z%SdDl}zZ%ziV0ym;z;0{>k+qQB*b7YhUR;NO zQFDas2DOrOv<_!gd|FIrS8mV^j55a!>;~Nja05fgn&=@E4MND8XbPjU2w4+7anX|v z0BfSDg9Hd!(=cFvEo4pOg+3m90G@v3SyqF(AGZ{$N&d%YCr@8^e3!57gi>SOhiRjG!FOI=wn#VS2dn5dNo%~4N|FDe|1}Sqye8#1-y=$>F;gTuNtLjGo3rFwy3T~>1e=lii7{F@*3=cIPVh*B24EejE~Gpj$MqBeba3@lhHUs- zl4;reCAo9w=ghHXKasTr$8m8XnPo^6(fC{rNsRb&2?MuuS0)STrUhbXA?RNI5HRbBU|)Lp^dw5CQq_@^{N z!HuvsS#2hm4EU@%>?ZPl7VtxL!%b-v{bWJy3H9GMVQ>QQv>JCy8fhEGPw{RmvKLNX znzb}{!Td3Ev{_);?8g*LU3-YS_7*;m3|HU3CFSuzHQ_HQIx>hC@($Tc7u=sSU$d6N zf|=AgL>>Q^)CWBthy!AI=<$-jqyyMbP+7PxsDo}x6O;>hGh$Jlx1}<({*FkUa7Q{F zFbihd`=MvHC(7&04}m?*wtphWZZDVP>E|8lQny#i-zurtkG4~faQT#3+u5&BH%an7 z`aOtxNllmK_e1}J#chVp)%T_9O<5kI^atIb4l&7RlnsDCs9}nn9s4cdzv!1Qlwp$o zFD3f{TOp_Vyds}doOtRDROg%J*Uj4Qr@ImH4%>PCw^h$_^Wu2xv&bcMDc z)6_sed8L9|W#a*LqaV(Nj8&8Uae%8zeZXJt$ZhIV{&FnuqHgq;6L@!ZufN=h4=Ow3 zFF((FU4j#^&%nNd^FdlyKd}5M?bI5ks&ycIjV__1$c^P{QK0-fji<(+)VqS@QHu7^ zu09KTB!u#Wj)h z(Q3PJ*%}e~9K*IC<88`Le}3ou33Xt&Y?~ALiiko(^v8J4*JyQ_nu7tgICzm? z#C4ioF6>o*m?v0a05u@nwj+Io~TAs+e+*Pcd(3hPz?-Cg-22tC89s^^qpN32`6i z=X_G9`lPPV4EMqCJgYJl@B|FM;QS{aLmyX0Cu@dZ!0;Q+ubb3e5vXPK2u=M4 zDpuZ2`kh%HeE0Z_zUYTFL#)K^bDY1f)}WRHqVqHncSQHamixL$?KAwM3pB%vFucO~ zS#_|LQopE)G;eD-uk|V0XZ%IKtr=qJcQr1lwYF^_77onhF6 z^Q%6FK3ERkBDE`#?#?+}kV=bmqGaLuQ$(+BW zc8W%S$K2Ay$q=V;{+>D(;(*vNO~if3Gn4Z#{SD1Y_3>J47tL@c40AaDUEQUn9-xVM z5cJIB{FYB@pD7x9zh*cOhKo4guGVU)XKA9gyW{*_{E|S6D^q>OTI^EI@M)x8!}%$7 zNDTTrc7rCafw+$I3&zxGK4UF*mu9#Qh8sC=_A&JFTI@m1a3c)2aK26b7{v^T{ah2b zK-|vxzCc4I(|l%V>`$8Eb{OvD{Bt!p7E55POA~iOe3kRxd{X<2wK%33z6!%VoO=S* zS+Q7L;yP&R9;gR6-x6dj+-I=Gb=M5>OyDWy{B89;6doEkP!mfb9_IYG`U}-4Zh|Hr zhIo|oUyNDy^Ko0;9L?}33{T>bGDy8UPLA#sw?b1-LOsLzbHRoh_4ApdanGrX;^f$j z8H)CRc&C8B5gapfIqu$Bv+1VI0_Wi&DzJcl2PTldPJsujz=i(!XGZ}K(?s=DoE#s& z6N^OPJ4?qbSv+dle7vL!LR!YLE61*6pvvRrzbB7b1VZ0<@SNv7U8~a2B};M^FCCSY zo40In4wV=83QCYN@nLx8MD^=JBvgWHp>ZJLOacilt^VnYER{o2A%lCe1fXb<$o|Il#&VS``vzOwr zY3|glyk$8{sM`1;3apR(H{O16&XQ$$OLc8H*{|mR;n7*y**OcB&dgpg2UCj7r%==i ze!eB@smQD)m_=F~9+B`P0+P0KTCQHdj$cA=*_z}nm_HZ4t7L8w#9qamJAWw-?4t?V zmb?NBf&NVJzrXK*#>C^P6}$ZxB>uj{=VUF-(o4QfnuD}F@np|)s9mKFDPs1@r8zTm z=iot`>X<{_iaMfSX_wwKf%7XZ<@tP@g8C?aD~yNhMXunLh9ad+c9Ru~*TZ>EKn8Rg=BD5@RK`T|Fkt-}HwSIK}siB9wnea{F+4 zJ{@W$N0|6dna|Ezh8+==FW;qmjKrmjvBe^75NWG5!=;N;bZrFH(!qDh)`e(Ob{0L& z(jWPf+WL1nEE}DrORTjgmprjx@ls}?oe1^5_OGl>va9$~+7aG8+xy)YEv@`GUVq5* zP-%HpmoNq9%kk58q&WhYqJhJfEz!RzgJ0{+^$)@Z4L=+azH~{>Tv5-DN#i_E)9%sp z{Fj!&vDQlI!z+$x^Dc(5GxT~iCZzg7lMW}Z6gDz z;}r7oFuZ-%zZ+XQ085~Z%HYihcA<-xE?Y>0regtY_4Zc|D0?*lnB zxr<_ZqwzQJDr31C+Eaca21_~%rKs_()$(77_(SRoJ>~Iugud8QPK?2WAqyjm2?n!E zFsoMMdugTh>xFOh+*B|2m)on$d&&Lq4H)&^Uh)G{wW8kcB}Zy6Ll{?o>n;yhAG=Go z#OmL|rTiXj%{1@{yy1vb3+|F5WA(4$Qrrk(fTtbJpojYYU1%%bll=ECISF5YQG@T6 zhwz!|19zh`+3MW8<;1?U()FN(xxU%s$kzXE3}uTKAfF(840fr^WGoh4rNw`#)>8g1 z)zVw;B;g%M&)z6?iaM{iJd*EK-|H>+i#dzLQIz;$QR)CaFGhR$bXg zPU-w1tV77~0bwnQ(tiMyw2^8`PkE4k0=fxtcni`YSx)2^)c(nG8omdk&QFGquLY=| zCd+s8XH-|RT+CC|B`IYNCS>H;LZlz!+`r3aGC*U81PU79&Nzm z40y5uPcz_|2ApHS^9*>A0Y7cPYYcdu0dF+mEe5>ZfOi`3s|LKsfDagOsR180;G-H2 zrLm2VXz*n&8vCPKR*+b%*q$?LW2QXOVaFrlK>Y!d?IN>bApzS0CWi!V3mP60vMpo` z(a}W55|XqxNv=C{VG>(wAw0o0by`eJc32X){ z(hK$5<~N@T7}ZkpgCWqShxl*vA4g~$*?Duo4S;f>$0L1N9~NTTW*Qn|-eyL5mTi_{ z1gC0u83k)*{B(8fAUQE)y7y--D6{cps|LybF+oZ$Zs}5T0oJDj>ac0@NXKyf4MXd0 z3{NTZ#9N1!cQw$Qy4Jeyg7&elwQg3S{jO`RJ1jhZ1nOGrwiH@lUAwP!F9mVBF1GGK zp{>)k)-5`;eY$3NjRx_1b>bs(hhBe)xYjKZo>7v7Xso_GUfqfWjuj%#SY`QDAsXu} zen zC@@fn#%lZL2+>$=|L29*3~x`6zD$@J8{vOJh{i?)_zTh46#@4M(b%K_F_F`ZO$sQQ zst$V$UOS+tFue1?ZwmY%L}M!g?x+Qi$sHnxdtY8)38X*z6hs<$x4Q2!d7MLA(K2c4 zPn((j*j9;M3||A>=7$8ZK)Im$Zhx_MY=!v0wwv@Od9$DQgj77f|AsL znR2&wakNvyY^Hzk*L1jS#7ucP577Td1o-gwqWbwPJWA%Mu37j{X^$F|C3mLJy0sq$ z!oIuZk8+Z%Q@uH9zw4vrEiCS$_{c%tcso8vr=LgH|CbBcNZ|F2e7q$$+&joV;kehn z_B7&#>G9YX;SVSGutR*^Yhbsb8Muv9jzt_kMArXT3G~UI`fC=den7p2AZ;*Wk%T_D zVp+Jne_HjD3%t3}!zy3reKu7KX3J5Ifp>djGpXTt6-DolSO;$w2(?@?E4+4BDXI(V z@-9N$i0Ks&|Aj>H*M-_J^aHOw4Fvi*?@C;hf6E`X$V|O5TfW|Y%Ca2W`0S;&TKC>A|InRet@1DpvHYDCn%Ido;u`1xwAicZ3V7NYTk!($9t%2>33+@ z5nOHltf-{+rVWMDZ%IjU*z^3Peu8w`QG>8X^}>g8qPh8JbY2Jbl@H`dHQ|sP|--XeT#7WU{bs$I%}|AXTt!+%!qC!F{#9uvM+ml7WG3S+h>)Lp<*mY;g8 z44cb2AE}iTJ~^Z;>?8R;1wMK7h#c!6574FHqCdO>AdhHckN72VdHVtJU{sFa@79;%#Xc) diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.phy b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.phy index 66e7a089..60fe25f2 100644 --- a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.phy +++ b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.phy @@ -1,150 +1,142 @@ S0720000433A5C576F726B5C736F6674776172655C4F70656E424C545C5461726765745C44656D6F5C48435331325F457662706C75735F447261676F6E3132705F436F646557617272696F725C426F6F745C62696E5C6F70656E626C745F657662706C75735F647261676F6E3132702E61627366 -S2240FE800FEE83AFDE838270E35ED31EC3169700434FB310326F2FEE83CEC31270BED311803 -S2240FE8200A30700434F920F13D790011CC09395B105A1207CB06E9E10001E83EF9D9390058 -S2240FE84004494F70656E424C5400000C000000004000000C400000004000000C800000007F -S2240FE8604000000CC00000004000000D000000004000000D400000004000000D80000000D1 -S2240FE8804000000DC00000004000000E000000004000000E400000004000000E80000000AD -S2240FE8A04000000EC00000004000000F000000004000000F400000004000000F8000000089 -S2240FE8C04000000FC00000000800000FC80000000800000FD00000000800000FD800000060 -S2240FE8E00800000FE000000008003634CE01001A0586806A00A7A7A7A70F0040FC30323DB7 -S2240FE90005020602060307030803090309040A040B040C040C050D050E050F050F061006FB -S2240FE92010071008433A5C576F726B5C736F6674776172655C4F70656E424C545C546172FE -S2240FE9406765745C44656D6F5C48435331325F457662706C75735F447261676F6E31327018 -S2240FE9605F436F646557617272696F725C426F6F745C6D61696E2E6300433A5C576F726BC5 -S2240FE9805C736F6674776172655C4F70656E424C545C5461726765745C536F757263655CE0 -S2240FE9A048435331325C666C6173682E6300433A5C576F726B5C736F6674776172655C4F19 -S2240FE9C070656E424C545C5461726765745C536F757263655C48435331325C63616E2E63B2 -S2240FE9E00016E9EC16EAA716EAB620FB1B99698214104D398069816980E68087CD1F40C328 -S2240FEA00000118133BE68387C3000116F9CD3B34EC84B76516F9BF6C876E858C5DC01B82F6 -S2240FEA202609046506C6016B8220286280E680C13F23C6E6820401086281E681C10F23B78E -S2240FEA40E68204010ECCE9243BC67587B70516F6CB1B82E6805B34E6815B354F3708FC4C5F -S2240FEA6039801B873DC6017B390016F53F7C39037E390106EA7616EB0104012AF6390004EB -S2240FEA80212416F53F3BFC3903C30032B746FC3901C9008900353BEC8416F8DB1B82250655 -S2240FEAA079390016EEC83D16EB0516F4E716F4AD16EAC206EA6516EB0616F52016EADB06AF -S2240FEAC0EA76C6FF6BAE698116EB0716F6DFF63905042105B77416EB293A3DCC390616F7C5 -S2240FEAE0CC042106CC390616EB293D3D3BEC843BE68316F77B3A16EB253A3DC6017B39052E -S2240FEB003D16EB1C3D3D3DC7877C391E7C391C7B39197C391A7B39107C390E3DF6390E261B -S2240FEB20013DC6013D7939193D3B36B745E600C1FF2607B75416EC732055B6390E0420CD54 -S2240FEB40C1FE2244C1F3250EC1F62221C0F38716F9D44D3F3846C1CC6B802526C1D22222DA -S2240FEB60C0CC8716F9D47F86867863716AC1FA6B80250FC1FE220BC0FA8716F9D4296F3098 -S2240FEB80373EE680C1C9273A2062EC8116ED062060EC8116ED542059EC8116ECEC2052EC2D -S2240FEBA08116EDA9204BEC8116ECCA2044EC8116ECC6203DEC8116ECAC2036EC8116EC9CFE -S2240FEBC0202FB75416EDED2028EC8116EE302021EC8116EDD5201AEC8116EE8B2013EC8192 -S2240FEBE016EEB5200CEC8116EEC32005C62016EC63F63919042105C61016EC63C6017B3950 -S2240FEC0019CC39113BFC391A16EC101B821B833D3BEC843BEC8216EAEC1B843D6CAD69827D -S2240FEC202013EE8BE600EB826B82EE89EC8B16F8F46C8B6E89EC87EE85343B16F8F96C8BA3 -S2240FEC406E89C7873B3BEC84EE8616F8DB1B8426D1E68287EE806C02C76C00521B833D79DE -S2240FEC60390F3D37C6FE7B3911327A391250877C391A3D07EACCFF017B390EC77C39111C39 -S2240FEC803912107B39131C39130186087C3914527C39167B3918B7047C391A3D79390E0707 -S2240FECA0BEC6FF7B391150877C391A3D86FFC77C3911F6390F7B3913C7877C39147B39161D -S2240FECC0C6067C391A3DC706EC631803E842391EC7877C391C437C3911877C3913C6077CD0 -S2240FECE03917C77C3915C6087C391A3D3BC6FF7B3911EE80EC047C391CEC067C391EC601C5 -S2240FED00877C391A3A3D3B36B745E601C1072307C62216EC63203ACD3912356B82C7873B62 -S2240FED20FD391E35FD391C35E68816EEE01B88C6FF7B3911EE81E60187B745F3391E7C3958 -S2240FED401ECC0000F9391DB9391C7C391C087E391A1B833D3BB745E601C1072307C62216C5 -S2240FED60EC632043ED047D391C37EC067C391ECC39123BC7873BFC391E3B35E6888716EE77 -S2240FED80E01B88C6FF7B3911EE81E60187B745F3391E7C391ECC0000F9391DB9391C7C397E -S2240FEDA01C087E391A1B813A3D3BC6FF7B3911FC391E3BFC391C3BEE84EC063BEC043BCCC2 -S2240FEDC0391516EC1C7B3912C7877C3913C6087C391A1B8A3D86FFC77C3911CE00087E39B9 -S2240FEDE013877C39157B3917097E391A3D3BFC391E3BFC391C3BC607873BC73BEC88C3009C -S2240FEE000116F4B01B88046107C63116EC63201EC6FF7B3911FC391EC300077C391EFC39CB -S2240FEE201CC90089007C391CC601877C391A3A3D3BB745E601C1062304C622203086FF7AA8 -S2240FEE403911CD00017D391A04610816F4DC0461382018FD391E35FD391C35873BC73B19A1 -S2240FEE6002B7C616F4B01B88046107C63116EC632017EE80E60187F3391E7C391ECC0000DE -S2240FEE80F9391DB9391C7C391C3A3D3BFC391E3BFC391C3BEE84EC06EE0416F4C61B84049B -S2240FEEA06107C63116EC63200AC6FF7B391150877C391A3A3D16EF07C6FF7B391150877CC0 -S2240FEEC0391A3DC63106EC633B16F4D804410F16EAEB16F504FCE7FE6C8015F300003A3D8B -S2240FEEE06CACEC8C6C82EE88200DED82E6306B706D823416EB0630ED80341A5F6E828D008C -S2240FEF00003026E61B843D06F5481B9D6982CCFF016B81507C39227C39207C3B267C3B2473 -S2240FEF201C010303F60103C403527B3D3E1D0103E36980E68087B745E68108B75613B74530 -S2240FEF40CC1F4018151AE1698E00302212E681C1082605A6808A408FA6807A0100201C62D6 -S2240FEF6080E680C13F23CCE68204010FCCE9793BCC017CCE000016F6CB1B821B833D1B98AA -S2240FEF803BFCE84AACF01022442608FCE84CACF012223AECF012E38E3BEC8EE9F013A9F0E1 -S2240FEFA012B7453A16F8F93BFCE8E4F3E8E83BFCE8E2F9E8E7B9E8E6B7D43BEC8216F8F99D -S2240FEFC03B34EC88EE8416F8DB1B862303C72061FCE8E4F3E8E83BFCE8E2F9E8E7B9E8E6F5 -S2240FEFE03BEC828302006C883AC20082006C84EDF014EEF012C60916F8CAB746C60916F80B -S2240FF000B96C8A6E88EE8634ACB3260BEC86AC822605CC3B242003CC39203BEEF01434EE72 -S2240FF020F01434EE8634ECF016EEF01416F2D61B881B8A3D1B943B34EDF014EEF012C609C7 -S2240FF04016F8CAB746C60916F8B96C8E6E8CBEE84A18250099FCE84AAC8C2607FCE84CAC08 -S2240FF0608E2238ECF014E3823BEC82E9F015A9F014B7453A16F8F93BFCE8E4F3E8E83BFCC1 -S2240FF080E8E2F9E8E7B9E8E6B7D43BEC8216F8F93B34EC88EE8416F8DB1B862251ECF014C6 -S2240FF0A0A38E3BECF014E28FA28E3BEC82E3866C8C3AE983A9826C88C609EE88ED8A16F8A6 -S2240FF0C0CA6C86EC8A84018C00001B822705EE84086E846D8A202E16EB06C64037EC8F3B65 -S2240FF0E0EC8F3BCC55AA16F4591B85046103C7201CEC8EC302006C8EEC8CC90089006C8C12 -S2240FF100EE8A086E8AEC8AAC8425CCC6011BF0103DC7876CACFE3B2604A509FE3B2404A530 -S2240FF12003522051CE01806E828737E383B745E6E23B2887E3816C813352C18025EB6181DB -S2240FF1406180EE80086E80FCE8E4F3E8E83BFCE8E2F9E8E7B9E8E63BEC82830082B7453A97 -S2240FF160C2008200343BC602873BC73B1A8AB75416EF7E1B8A1B843D1B96C7876C88FCE8B2 -S2240FF180E4F3E8E83BFCE8E2F9E8E7B9E8E63BEC828300826C863AC20082006C82FCE8E490 -S2240FF1A0F3E8E86C80FCE8E2F9E8E7B9E8E63BEC828300806C8A3AC20082006C86C71B8201 -S2240FF1C08737E3873BCC0000E988A987B7453A16F40B87E3896C893352C18025E3EC82EEEE -S2240FF1E08016F40BB710C73BEC84EE8216F8F416F40B87E380E38A1B822603C60121C71BBF -S2240FF2008A3DFC3B2604A406FC3B24048409CC3B2416F393044115FC392204A406FC3920A1 -S2240FF22004840BCC392016F393046102C73DC752C11625FBC6013D6CAD348401044403C703 -S2240FF2402043EE87EC02AC822606EC00AC802733EC806C00EC826C02D6306B84EC82EE8083 -S2240FF26016F4285B30EE871A0434C7873BEC86EE8416F4343BC7873B860216EEE01B88E692 -S2240FF280845B30C6011B853D3B34EC868C3B242607CC39206C862027FCE8E4AC822618FC20 -S2240FF2A0E8E2AC802611CC3B246C86FEE8E46E82FEE8E26E802008EC8616F39304410FEC0A -S2240FF2C0863BEC84EE8216F2371B82046103C7878FEC861B843D1B983B34EDF012EEF0100B -S2240FF2E0C60916F8CAB746C60916F8B96C866E84EEF014EC0204A412EC0004A40D34EC88F9 -S2240FF300EE8616F2371B82044160EEF014EC02AC862606EC00AC84270F34EC88EE8616F230 -S2240FF320881B826CF0142742EEF014ECF012A3021A041AE66E88EC8E6C8A16EB06EEF014B9 -S2240FF3401904EC8835A3B18C0200252634EC88C30200B745EC86C9008900B746B754B76555 -S2240FF36016F2881B826CF0142603C72023C300046C88EE8AE630ED886B706D886E8AEC82B5 -S2240FF380EE8016F8F96C826E800474AE26ACC6011B8C3D1B973BC6016B8AEE80EC0204A4B8 -S2240FF3A008EC0004A403C7205FC7876C88EC8859B746EE80E3026C84CC0000E901A9006C3A -S2240FF3C082B75419EEEC446C8616EB06C62037EC853BEE8534EC8B16F4591B85044119EC28 -S2240FF3E084EE8216F40BE186260EEC84EE8216F8F416F40BE1872704698A200AEE88086EC2 -S2240FF400888E010025A7E68A1B8B3D3B34D63037EC8316F4285B30EC83EE8116F434B745B2 -S2240FF420E600325A301B843D3B34C60EED8216F8CA1B843D843FC380003D3BC787B74537D5 -S2240FF440E6E2E8EA6BE23D283352C11625EECC3D286C8015F300003A3D6CAC6982D6306BCD -S2240FF46083EC88EE8607C15B301D010303545451C403FA01037B0103C6307B0105B6010526 -S2240FF48084808180261EEC88EE8607A8EE80B7466E40E68A7B010607A11F0105300220044A -S2240FF4A0C6016B82E6835B30E6821B843D06EF0A3BEC8A3BEC8A3BEC8A3BEC8A3BEC8816C4 -S2240FF4C0EF7E1B88303D3B34EC883BEC883BEC8616F0341B841B843D16F1783D16F11104CF -S2240FF4E061013D16F2023D16F5044C4001C6015B4EDC44C35DC05C504C4680C7877C3D4100 -S2240FF5007C3D3F3D79004C79004679004D79004079004779004879004979004A79004B3D98 -S2240FF5204F4E011AC6015B4EDC50C35DC05C50FC3D41FE3D3F16F8F47C3D417E3D3F3D07A9 -S2240FF540DFFC3D41FE3D3F3DCF390016E82906E9E1FEE78005003DFEE78205003DFEE784CF -S2240FF56005003DFEE78605003DFEE78805003DFEE78A05003DFEE78C05003DFEE78E0500FD -S2240FF5803DFEE79005003DFEE79205003DFEE79405003DFEE79605003DFEE79805003DFE75 -S2240FF5A0E79A05003DFEE79C05003DFEE79E05003DFEE7A005003DFEE7A205003DFEE7A4D3 -S2240FF5C005003DFEE7A605003DFEE7A805003DFEE7AA05003DFEE7AC05003DFEE7AE0500FD -S2240FF5E03DFEE7B005003DFEE7B205003DFEE7B405003DFEE7B605003DFEE7B805003DFE75 -S2240FF600E7BA05003DFEE7BC05003DFEE7BE05003DFEE7C005003DFEE7C205003DFEE7C4B2 -S2240FF62005003DFEE7C605003DFEE7C805003DFEE7CA05003DFEE7CC05003DFEE7CE0500FC -S2240FF6403DFEE7D005003DFEE7D205003DFEE7D405003DFEE7D605003DFEE7D805003DFE74 -S2240FF660E7DA05003DFEE7DC05003DFEE7DE05003DFEE7E005003DFEE7E205003DFEE7E492 -S2240FF68005003DFEE7E605003DFEE7E805003DFEE7EA05003DFEE7EC05003DFEE7EE0500FC -S2240FF6A03DFEE7F005003DFEE7F205003DFEE7F405003DFEE7F605003DFEE7F805003DFE74 -S2240FF6C0E7FA05003DFEE7FC05003D3B34EC867C3D43EC827E3D457C3D4716EB0620FB1B48 -S2240FF6E096C6017B01401F014101FBC6807B0141CC01F43B1A82341A85B75416F8501B840A -S2240FF70004010ECCE9AE3BC6F587B70516F6CB1B82E6807B0142E6817B01431D014B30CC03 -S2240FF72006676C88C7876C866C846C827B0150C6087B0151C60C7B0152C6CE7B01537A0151 -S2240FF74054C6107B01557A01567A0157C6CC7B0158C6E07B01597A015A7A015B7A015CC6CE -S2240FF760077B015D7A015E7A015F1D0140011E014101FBC6017B014A1B8A3D371E0146011B -S2240FF7800FCCE9AE3BCC0136CE000016F6CB1B82CC20FC7B01707A0171790172790173E6E4 -S2240FF7A0807B017CC720108737B746E384B745E6006BEA01743352E18025ECC6017B014678 -S2240FF7C0200316EB061F014601F8323D6CA869861F014401761E01610810FC01604949496F -S2240FF7E049496C84C7876C822030FE0162FC0160C4078749B7C54656CD00003BFC0160C44D -S2240FF800E03BC60334EE8216F8CAEA85AA846C8AB754EA81AA806C881B86EC848C0667261D -S2240FF82026EC822622C6016B86B6016C840F6A87C720108737B745E381B746E6E201646BCF -S2240FF840403352E18725EC1D0144FEE6861B883D6CAC3B6984E6848759B745E6E2E90087EC -S2240FF860B746E6E2E90119EE02B764ED8A136C80CC1F40B756EE80181004642ECC1F40EEAE -S2240FF880801810B7516B852721C140221D53EE886B00E6EAE90153861012A6EAE900433750 -S2240FF8A0AAB0EE826A00C601200C16EB066284E684C11225A0C71B863D87D7B7C6270A5914 -S2240FF8C0B7C55545B7C50436F63D87D7B7C6270AB7C549B7C546560436F63DAC84270E3426 -S2240FF8E0B7C5E285A284B7C510FB302002AE82311B84054004A401083D04640109830001E9 -S2240FF9003D87C76C82EC8C261FEE8EED86EC8811280DEC86CD0000116D82B746EC88116DC6 -S2240FF920846C8887C76C863D972709EE86B7C5CD00002008EE8DE686ED87B7C61135ECF018 -S2240FF94010133B35ECF012ED8413E3B130B7C5CD0000356581A38CB7C5E28BA28A310446A7 -S2240FF960113669AF3137323433EEF01011B76532201F252A046403044539E78E2706EE8E2D -S2240FF98087C7200BB7C5363469AFEEF013313A1810083A34A3B1B74620A33102209F41514A -S2240FF9A0B7C5415104A40108AE8E22EE2505ACF01024E7316D84698369826C886E863D3BEE -S21F0FF9C0341B9C16F90130ECB5EDB505403BB704B7053A3D30E6E605E5000056 -S2100FFEF0CF390016E82916EAFB06E9E1F8 -S2240FFF80F551F557F55DF563F569F56FF575F57BF581F587F58DF593F599F59FF5A5F5AB1D -S2240FFFA0F5B1F5B7F5BDF5C3F5C9F5CFF5D5F5DBF5E1F5E7F5EDF5F3F5F9F5FFF605F60BFB -S2240FFFC0F611F617F61DF623F629F62FF635F63BF641F647F64DF653F659F65FF665F66BCD -S2240FFFE0F671F677F67DF683F689F68FF695F69BF6A1F6A7F6ADF6B3F6B9F6BFF6C5F54831 +S2240FE800FEE82EFDE82C270E35ED31EC3169700434FB310326F2FEE830EC31270BED311827 +S2240FE8200A30700434F920F13D06E8000001E832F8C8390004FC4F70656E424C5400000C19 +S2240FE840000000004000000C400000004000000C800000004000000CC00000004000000DF3 +S2240FE860000000004000000D400000004000000D800000004000000DC00000004000000ECF +S2240FE880000000004000000E400000004000000E800000004000000EC00000004000000FAB +S2240FE8A0000000004000000F400000004000000F800000004000000FC00000000800000FC0 +S2240FE8C0C80000000800000FD00000000800000FD80000000800000FE0000000080036341D +S2240FE8E0CE01001A0586806A00A7A7A7A70F0040FC30323D433A5C576F726B5C736F66748C +S2240FE900776172655C4F70656E424C545C5461726765745C44656D6F5C48435331325F457F +S2240FE9207662706C75735F447261676F6E3132705F436F646557617272696F725C426F6F5E +S2240FE940745C6D61696E2E6300433A5C576F726B5C736F6674776172655C4F70656E424CDE +S2240FE960545C5461726765745C536F757263655C48435331325C666C6173682E6300433A8A +S2240FE9805C576F726B5C736F6674776172655C4F70656E424C545C5461726765745C536FEC +S2240FE9A0757263655C48435331325C756172742E630016E9BD16EA7816EA8720FB1B99695B +S2240FE9C08214104D398069816980E68087CD1F40C3000118133BE68387C3000116F8BC3BA8 +S2240FE9E034EC84B76516F8AE6C876E858C5DC01B822609046506C6016B8220286280E68079 +S2240FEA00C13F23C6E6820401086281E681C10F23B7E68204010ECCE8F43BC67587B705169E +S2240FEA20F7941B82E6805B34E6815B354F3708FC4C39801B873DC6017B390016F5127C39F3 +S2240FEA40037E390106EA4716EAD204012AF6390004212416F5123BFC3903C30032B746FCB9 +S2240FEA603901C9008900353BEC8416F7CA1B82250679390016EE9B3D16EAD616F4BA16F445 +S2240FEA808016EA9306EA3616EAD716F4F316EAAC06EA47C6FF6BAE698116EAD816F51BF6B6 +S2240FEAA03905042105B77416EAFA3A3DCC390616F592042106CC390616EAFA3D3D3BEC8441 +S2240FEAC03BE68316F5343A16EAF63A3DC6017B39053D16EAED3D3D3DC7877C398E7C398C65 +S2240FEAE07B39897C398A7B39487C39463DF6394626013DC6013D7939893D3B36B745E600AA +S2240FEB00C1FF2607B75416EC442055B639460420CDC1FE2244C1F3250EC1F62221C0F387C8 +S2240FEB2016F8C34D3F3846C1CC6B802526C1D22222C0CC8716F8C37F86867863716AC1FA6C +S2240FEB406B80250FC1FE220BC0FA8716F8C3296F30373EE680C1C9273A2062EC8116ECD82D +S2240FEB602060EC8116ED262059EC8116ECBE2052EC8116ED7B204BEC8116EC9C2044EC8121 +S2240FEB8016EC98203DEC8116EC7E2036EC8116EC6E202FB75416EDC02028EC8116EE032051 +S2240FEBA021EC8116EDA7201AEC8116EE5E2013EC8116EE88200CEC8116EE962005C6201680 +S2240FEBC0EC34F63989042105C61016EC34C6017B3989CC39493BFC398A16EBE11B821B83AA +S2240FEBE03D3BEC843BEC8216EABD1B843D6CAD69822013EE8BE600EB826B82EE89EC8B16E3 +S2240FEC00F7E36C8B6E89EC87EE85343B16F7E86C8B6E89C7873B3BEC84EE8616F7CA1B84C2 +S2240FEC2026D1E68287EE806C02C76C00521B833D7939473D37C6FE7B3949327A394A50876A +S2240FEC407C398A3D07EACCFF017B3946C77C39491C394A107B394B1C394B0186407C394C92 +S2240FEC60527C394E7B3950CE00087E398A3D79394607BDC6FF7B394950877C398A3D86FF7D +S2240FEC80C77C3949F639477B394BC7877C394C7B394EC6067C398A3DC706EC341803E83667 +S2240FECA0398EC7877C398C437C3949877C394BC6077C394FC77C394DC6087C398A3D3BC63D +S2240FECC0FF7B3949EE80EC047C398CEC067C398EC601877C398A3A3D3B36B745E601C13FF8 +S2240FECE02307C62216EC34203ACD394A356B82C7873BFD398E35FD398C35E68816EEB31B33 +S2240FED0088C6FF7B3949EE81E60187B745F3398E7C398ECC0000F9398DB9398C7C398C086D +S2240FED207E398A1B833D3BB745E601C13F2307C62216EC342043ED047D398C37EC067C39C9 +S2240FED408ECC394A3BC7873BFC398E3B35E6888716EEB31B88C6FF7B3949EE81E60187B726 +S2240FED6045F3398E7C398ECC0000F9398DB9398C7C398C087E398A1B813A3D3BC6FF7B39E3 +S2240FED8049FC398E3BFC398C3BEE84EC063BEC043BCC394D16EBED7B394AC7877C394BC600 +S2240FEDA0087C398A1B8A3D86FFC77C3949CE00407E394B877C394D7B394FC6077C398A3DE7 +S2240FEDC03BFC398E3BFC398C3BC63F873BC73BEC88C3000116F4831B88046107C63116EC54 +S2240FEDE034201EC6FF7B3949FC398EC3003F7C398EFC398CC90089007C398CC601877C396C +S2240FEE008A3A3D3BB745E601C13E2304C622203086FF7A3949CD00017D398A04610816F45B +S2240FEE20AF0461382018FD398E35FD398C35873BC73B1902B7C616F4831B88046107C6315B +S2240FEE4016EC342017EE80E60187F3398E7C398ECC0000F9398DB9398C7C398C3A3D3BFC60 +S2240FEE60398E3BFC398C3BEE84EC06EE0416F4991B84046107C63116EC34200AC6FF7B39AC +S2240FEE804950877C398A3A3D16EEDAC6FF7B394950877C398A3DC63106EC343B16F4AB0484 +S2240FEEA0410F16EABC16F4D7FCE7FE6C8015F300003A3D6CACEC8C6C82EE88200DED82E68F +S2240FEEC0306B706D823416EAD730ED80341A5F6E828D00003026E61B843D06F6071B9D6916 +S2240FEEE082CCFF016B81507C39927C39907C3B967C3B941C010303F60103C403527B3DAEB4 +S2240FEF001D0103E36980E68087B745E68108B75613B745CC1F4018151AE1698E00302212CE +S2240FEF20E681C1082605A6808A408FA6807A0100201C6280E680C13F23CCE68204010FCC87 +S2240FEF40E9493BCC017CCE000016F7941B821B833D1B983BFCE83EACF01022442608FCE8CC +S2240FEF6040ACF012223AECF012E38E3BEC8EE9F013A9F012B7453A16F7E83BFCE8D8F3E88B +S2240FEF80DC3BFCE8D6F9E8DBB9E8DAB7D43BEC8216F7E83B34EC88EE8416F7CA1B86230339 +S2240FEFA0C72061FCE8D8F3E8DC3BFCE8D6F9E8DBB9E8DA3BEC828302006C883AC2008200B6 +S2240FEFC06C84EDF014EEF012C60916F7B9B746C60916F7A86C8A6E88EE8634ACB3260BEC26 +S2240FEFE086AC822605CC3B942003CC39903BEEF01434EEF01434EE8634ECF016EEF01416A2 +S2240FF000F2A91B881B8A3D1B943B34EDF014EEF012C60916F7B9B746C60916F7A86C8E6E3F +S2240FF0208CBEE83E18250099FCE83EAC8C2607FCE840AC8E2238ECF014E3823BEC82E9F060 +S2240FF04015A9F014B7453A16F7E83BFCE8D8F3E8DC3BFCE8D6F9E8DBB9E8DAB7D43BEC82A1 +S2240FF06016F7E83B34EC88EE8416F7CA1B862251ECF014A38E3BECF014E28FA28E3BEC82B1 +S2240FF080E3866C8C3AE983A9826C88C609EE88ED8A16F7B96C86EC8A84018C00001B822777 +S2240FF0A005EE84086E846D8A202E16EAD7C64037EC8F3BEC8F3BCC55AA16F42C1B85046100 +S2240FF0C003C7201CEC8EC302006C8EEC8CC90089006C8CEE8A086E8AEC8AAC8425CCC60145 +S2240FF0E01BF0103DC7876CACFE3B9604A509FE3B9404A503522051CE01806E828737E3831E +S2240FF100B745E6E23B9887E3816C813352C18025EB61816180EE80086E80FCE8D8F3E8DCFC +S2240FF1203BFCE8D6F9E8DBB9E8DA3BEC82830082B7453AC2008200343BC602873BC73B1A52 +S2240FF1408AB75416EF511B8A1B843D1B96C7876C88FCE8D8F3E8DC3BFCE8D6F9E8DBB9E877 +S2240FF160DA3BEC828300826C863AC20082006C82FCE8D8F3E8DC6C80FCE8D6F9E8DBB9E81F +S2240FF180DA3BEC828300806C8A3AC20082006C86C71B828737E3873BCC0000E988A987B784 +S2240FF1A0453A16F3DE87E3896C893352C18025E3EC82EE8016F3DEB710C73BEC84EE82169D +S2240FF1C0F7E316F3DE87E380E38A1B822603C60121C71B8A3DFC3B9604A406FC3B940484DE +S2240FF1E009CC3B9416F366044115FC399204A406FC399004840BCC399016F366046102C78F +S2240FF2003DC752C11625FBC6013D6CAD348401044403C72043EE87EC02AC822606EC00ACED +S2240FF220802733EC806C00EC826C02D6306B84EC82EE8016F3FB5B30EE871A0434C7873B7C +S2240FF240EC86EE8416F4073BC7873B860216EEB31B88E6845B30C6011B853D3B34EC868CF9 +S2240FF2603B942607CC39906C862027FCE8D8AC822618FCE8D6AC802611CC3B946C86FEE8F8 +S2240FF280D86E82FEE8D66E802008EC8616F36604410FEC863BEC84EE8216F20A1B820461EA +S2240FF2A003C7878FEC861B843D1B983B34EDF012EEF010C60916F7B9B746C60916F7A86C8B +S2240FF2C0866E84EEF014EC0204A412EC0004A40D34EC88EE8616F20A1B82044160EEF01405 +S2240FF2E0EC02AC862606EC00AC84270F34EC88EE8616F25B1B826CF0142742EEF014ECF099 +S2240FF30012A3021A041AE66E88EC8E6C8A16EAD7EEF0141904EC8835A3B18C0200252634AE +S2240FF320EC88C30200B745EC86C9008900B746B754B76516F25B1B826CF0142603C72023F9 +S2240FF340C300046C88EE8AE630ED886B706D886E8AEC82EE8016F7E86C826E800474AE261A +S2240FF360ACC6011B8C3D1B973BC6016B8AEE80EC0204A408EC0004A403C7205FC7876C884E +S2240FF380EC8859B746EE80E3026C84CC0000E901A9006C82B75419EEEC446C8616EAD7C62E +S2240FF3A02037EC853BEE8534EC8B16F42C1B85044119EC84EE8216F3DEE186260EEC84EE24 +S2240FF3C08216F7E316F3DEE1872704698A200AEE88086E888E010025A7E68A1B8B3D3B347F +S2240FF3E0D63037EC8316F3FB5B30EC83EE8116F407B745E600325A301B843D3B34C60EED25 +S2240FF4008216F7B91B843D843FC380003D3BC787B74537E6E2E8DE6BE23D983352C1162584 +S2240FF420EECC3D986C8015F300003A3D6CAC6982D6306B83EC88EE8607C15B301D01030368 +S2240FF440545451C403FA01037B0103C6307B0105B6010584808180261EEC88EE8607A8EE5A +S2240FF46080B7466E40E68A7B010607A11F010530022004C6016B82E6835B30E6821B843D4C +S2240FF48006EEDD3BEC8A3BEC8A3BEC8A3BEC8A3BEC8816EF511B88303D3B34EC883BEC881C +S2240FF4A03BEC8616F0071B841B843D16F14B3D16F0E40461013D16F1D53D16F4D74C400160 +S2240FF4C0C6015B4EDC44C35DC05C504C4680C7877C3DB17C3DAF3D79004C79004679004D43 +S2240FF4E079004079004779004879004979004A79004B3D4F4E011AC6015B4EDC50C35DC004 +S2240FF5005C50FC3DB1FE3DAF16F7E37C3DB17E3DAF3D07DFFC3DB1FE3DAF3D7900CB7900A2 +S2240FF520CA7900C87900C9C61A873B5AC85BC94CCB0C3A3D6BADC140230ECCE97E3BC688E2 +S2240FF54087B70516F7941B82E68016F5F304010ECCE97E3BC68B87B70516F7941B82C78711 +S2240FF5606C81202416EAD7EC85E381B745E60016F5F304010ECCE97E3BC69387B70516F790 +S2240FF580941B82EE81086E81E68087AC8122D51B833D3BF63DB32614CC3DB416F5E20421AA +S2240FF5A008C6017B3DB3793DF5C72034F63DF587C3000187C33DB416F5E20431EC723DF5D7 +S2240FF5C0F63DF5F13DB426E1EE8034C7873BCE3DB5343BF63DF516EEB31B88793DB3C601FA +S2240FF5E0303D3B4FCC2009D6CFEE806B00C60121C7303D4ECC8002C73D5BCF200316EAD7AD +S2240FF6004FCC80F9C6013D790011CC09395B105A12CF390016E82906E9B2FEE78005003D58 +S2240FF620FEE78205003DFEE78405003DFEE78605003DFEE78805003DFEE78A05003DFEE770 +S2240FF6408C05003DFEE78E05003DFEE79005003DFEE79205003DFEE79405003DFEE7960568 +S2240FF660003DFEE79805003DFEE79A05003DFEE79C05003DFEE79E05003DFEE7A005003D6A +S2240FF680FEE7A205003DFEE7A405003DFEE7A605003DFEE7A805003DFEE7AA05003DFEE770 +S2240FF6A0AC05003DFEE7AE05003DFEE7B005003DFEE7B205003DFEE7B405003DFEE7B60548 +S2240FF6C0003DFEE7B805003DFEE7BA05003DFEE7BC05003DFEE7BE05003DFEE7C005003D6A +S2240FF6E0FEE7C205003DFEE7C405003DFEE7C605003DFEE7C805003DFEE7CA05003DFEE770 +S2240FF700CC05003DFEE7CE05003DFEE7D005003DFEE7D205003DFEE7D405003DFEE7D60527 +S2240FF720003DFEE7D805003DFEE7DA05003DFEE7DC05003DFEE7DE05003DFEE7E005003D69 +S2240FF740FEE7E205003DFEE7E405003DFEE7E605003DFEE7E805003DFEE7EA05003DFEE76F +S2240FF760EC05003DFEE7EE05003DFEE7F005003DFEE7F205003DFEE7F405003DFEE7F60507 +S2240FF780003DFEE7F805003DFEE7FA05003DFEE7FC05003D3B34EC867C3DF6EC827E3DF804 +S2240FF7A07C3DFA16EAD720FB87D7B7C6270A59B7C55545B7C50436F63D87D7B7C6270AB769 +S2240FF7C0C549B7C546560436F63DAC84270E34B7C5E285A284B7C510FB302002AE82311B8B +S2240FF7E084054004A401083D046401098300013D87C76C82EC8C261FEE8EED86EC88112876 +S2240FF8000DEC86CD0000116D82B746EC88116D846C8887C76C863D972709EE86B7C5CD0020 +S2240FF820002008EE8DE686ED87B7C61135ECF010133B35ECF012ED8413E3B130B7C5CD0080 +S2240FF84000356581A38CB7C5E28BA28A310446113669AF3137323433EEF01011B7653220ED +S2240FF8601F252A046403044539E78E2706EE8E87C7200BB7C5363469AFEEF013313A181000 +S2240FF880083A34A3B1B74620A33102209F4151B7C5415104A40108AE8E22EE2505ACF01065 +S2240FF8A024E7316D84698369826C886E863D3B341B9C16F7F030ECB5EDB505403BB704B783 +S20E0FF8C0053A3D30E6E605E50000C8 +S21A0FFEE0790011CC09395B105A12CF390016E82916EACC06E9B2ED +S2240FFF80F61AF620F626F62CF632F638F63EF644F64AF650F656F65CF662F668F66EF6747D +S2240FFFA0F67AF680F686F68CF692F698F69EF6A4F6AAF6B0F6B6F6BCF6C2F6C8F6CEF6D45D +S2240FFFC0F6DAF6E0F6E6F6ECF6F2F6F8F6FEF704F70AF710F716F71CF722F728F72EF73434 +S2240FFFE0F73AF740F746F74CF752F758F75EF764F76AF770F776F77CF782F788F78EF6079B S9030000FC diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.s19 b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.s19 index 45812b40..63b6fe92 100644 --- a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.s19 +++ b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.abs.s19 @@ -1,150 +1,142 @@ S0720000433A5C576F726B5C736F6674776172655C4F70656E424C545C5461726765745C44656D6F5C48435331325F457662706C75735F447261676F6E3132705F436F646557617272696F725C426F6F745C62696E5C6F70656E626C745F657662706C75735F647261676F6E3132702E61627366 -S123E800FEE83AFDE838270E35ED31EC3169700434FB310326F2FEE83CEC31270BED311813 -S123E8200A30700434F920F13D790011CC09395B105A1207CB06E9E10001E83EF9D9390068 -S123E84004494F70656E424C5400000C000000004000000C400000004000000C800000008F -S123E8604000000CC00000004000000D000000004000000D400000004000000D80000000E1 -S123E8804000000DC00000004000000E000000004000000E400000004000000E80000000BD -S123E8A04000000EC00000004000000F000000004000000F400000004000000F8000000099 -S123E8C04000000FC00000000800000FC80000000800000FD00000000800000FD800000070 -S123E8E00800000FE000000008003634CE01001A0586806A00A7A7A7A70F0040FC30323DC7 -S123E90005020602060307030803090309040A040B040C040C050D050E050F050F0610060B -S123E92010071008433A5C576F726B5C736F6674776172655C4F70656E424C545C5461720E -S123E9406765745C44656D6F5C48435331325F457662706C75735F447261676F6E31327028 -S123E9605F436F646557617272696F725C426F6F745C6D61696E2E6300433A5C576F726BD5 -S123E9805C736F6674776172655C4F70656E424C545C5461726765745C536F757263655CF0 -S123E9A048435331325C666C6173682E6300433A5C576F726B5C736F6674776172655C4F29 -S123E9C070656E424C545C5461726765745C536F757263655C48435331325C63616E2E63C2 -S123E9E00016E9EC16EAA716EAB620FB1B99698214104D398069816980E68087CD1F40C338 -S123EA00000118133BE68387C3000116F9CD3B34EC84B76516F9BF6C876E858C5DC01B8206 -S123EA202609046506C6016B8220286280E680C13F23C6E6820401086281E681C10F23B79E -S123EA40E68204010ECCE9243BC67587B70516F6CB1B82E6805B34E6815B354F3708FC4C6F -S123EA6039801B873DC6017B390016F53F7C39037E390106EA7616EB0104012AF6390004FB -S123EA80212416F53F3BFC3903C30032B746FC3901C9008900353BEC8416F8DB1B82250665 -S123EAA079390016EEC83D16EB0516F4E716F4AD16EAC206EA6516EB0616F52016EADB06BF -S123EAC0EA76C6FF6BAE698116EB0716F6DFF63905042105B77416EB293A3DCC390616F7D5 -S123EAE0CC042106CC390616EB293D3D3BEC843BE68316F77B3A16EB253A3DC6017B39053E -S123EB003D16EB1C3D3D3DC7877C391E7C391C7B39197C391A7B39107C390E3DF6390E262B -S123EB20013DC6013D7939193D3B36B745E600C1FF2607B75416EC732055B6390E0420CD64 -S123EB40C1FE2244C1F3250EC1F62221C0F38716F9D44D3F3846C1CC6B802526C1D22222EA -S123EB60C0CC8716F9D47F86867863716AC1FA6B80250FC1FE220BC0FA8716F9D4296F30A8 -S123EB80373EE680C1C9273A2062EC8116ED062060EC8116ED542059EC8116ECEC2052EC3D -S123EBA08116EDA9204BEC8116ECCA2044EC8116ECC6203DEC8116ECAC2036EC8116EC9C0E -S123EBC0202FB75416EDED2028EC8116EE302021EC8116EDD5201AEC8116EE8B2013EC81A2 -S123EBE016EEB5200CEC8116EEC32005C62016EC63F63919042105C61016EC63C6017B3960 -S123EC0019CC39113BFC391A16EC101B821B833D3BEC843BEC8216EAEC1B843D6CAD69828D -S123EC202013EE8BE600EB826B82EE89EC8B16F8F46C8B6E89EC87EE85343B16F8F96C8BB3 -S123EC406E89C7873B3BEC84EE8616F8DB1B8426D1E68287EE806C02C76C00521B833D79EE -S123EC60390F3D37C6FE7B3911327A391250877C391A3D07EACCFF017B390EC77C39111C49 -S123EC803912107B39131C39130186087C3914527C39167B3918B7047C391A3D79390E0717 -S123ECA0BEC6FF7B391150877C391A3D86FFC77C3911F6390F7B3913C7877C39147B39162D -S123ECC0C6067C391A3DC706EC631803E842391EC7877C391C437C3911877C3913C6077CE0 -S123ECE03917C77C3915C6087C391A3D3BC6FF7B3911EE80EC047C391CEC067C391EC601D5 -S123ED00877C391A3A3D3B36B745E601C1072307C62216EC63203ACD3912356B82C7873B72 -S123ED20FD391E35FD391C35E68816EEE01B88C6FF7B3911EE81E60187B745F3391E7C3968 -S123ED401ECC0000F9391DB9391C7C391C087E391A1B833D3BB745E601C1072307C62216D5 -S123ED60EC632043ED047D391C37EC067C391ECC39123BC7873BFC391E3B35E6888716EE87 -S123ED80E01B88C6FF7B3911EE81E60187B745F3391E7C391ECC0000F9391DB9391C7C398E -S123EDA01C087E391A1B813A3D3BC6FF7B3911FC391E3BFC391C3BEE84EC063BEC043BCCD2 -S123EDC0391516EC1C7B3912C7877C3913C6087C391A1B8A3D86FFC77C3911CE00087E39C9 -S123EDE013877C39157B3917097E391A3D3BFC391E3BFC391C3BC607873BC73BEC88C300AC -S123EE000116F4B01B88046107C63116EC63201EC6FF7B3911FC391EC300077C391EFC39DB -S123EE201CC90089007C391CC601877C391A3A3D3BB745E601C1062304C622203086FF7AB8 -S123EE403911CD00017D391A04610816F4DC0461382018FD391E35FD391C35873BC73B19B1 -S123EE6002B7C616F4B01B88046107C63116EC632017EE80E60187F3391E7C391ECC0000EE -S123EE80F9391DB9391C7C391C3A3D3BFC391E3BFC391C3BEE84EC06EE0416F4C61B8404AB -S123EEA06107C63116EC63200AC6FF7B391150877C391A3A3D16EF07C6FF7B391150877CD0 -S123EEC0391A3DC63106EC633B16F4D804410F16EAEB16F504FCE7FE6C8015F300003A3D9B -S123EEE06CACEC8C6C82EE88200DED82E6306B706D823416EB0630ED80341A5F6E828D009C -S123EF00003026E61B843D06F5481B9D6982CCFF016B81507C39227C39207C3B267C3B2483 -S123EF201C010303F60103C403527B3D3E1D0103E36980E68087B745E68108B75613B74540 -S123EF40CC1F4018151AE1698E00302212E681C1082605A6808A408FA6807A0100201C62E6 -S123EF6080E680C13F23CCE68204010FCCE9793BCC017CCE000016F6CB1B821B833D1B98BA -S123EF803BFCE84AACF01022442608FCE84CACF012223AECF012E38E3BEC8EE9F013A9F0F1 -S123EFA012B7453A16F8F93BFCE8E4F3E8E83BFCE8E2F9E8E7B9E8E6B7D43BEC8216F8F9AD -S123EFC03B34EC88EE8416F8DB1B862303C72061FCE8E4F3E8E83BFCE8E2F9E8E7B9E8E605 -S123EFE03BEC828302006C883AC20082006C84EDF014EEF012C60916F8CAB746C60916F81B -S123F000B96C8A6E88EE8634ACB3260BEC86AC822605CC3B242003CC39203BEEF01434EE82 -S123F020F01434EE8634ECF016EEF01416F2D61B881B8A3D1B943B34EDF014EEF012C609D7 -S123F04016F8CAB746C60916F8B96C8E6E8CBEE84A18250099FCE84AAC8C2607FCE84CAC18 -S123F0608E2238ECF014E3823BEC82E9F015A9F014B7453A16F8F93BFCE8E4F3E8E83BFCD1 -S123F080E8E2F9E8E7B9E8E6B7D43BEC8216F8F93B34EC88EE8416F8DB1B862251ECF014D6 -S123F0A0A38E3BECF014E28FA28E3BEC82E3866C8C3AE983A9826C88C609EE88ED8A16F8B6 -S123F0C0CA6C86EC8A84018C00001B822705EE84086E846D8A202E16EB06C64037EC8F3B75 -S123F0E0EC8F3BCC55AA16F4591B85046103C7201CEC8EC302006C8EEC8CC90089006C8C22 -S123F100EE8A086E8AEC8AAC8425CCC6011BF0103DC7876CACFE3B2604A509FE3B2404A540 -S123F12003522051CE01806E828737E383B745E6E23B2887E3816C813352C18025EB6181EB -S123F1406180EE80086E80FCE8E4F3E8E83BFCE8E2F9E8E7B9E8E63BEC82830082B7453AA7 -S123F160C2008200343BC602873BC73B1A8AB75416EF7E1B8A1B843D1B96C7876C88FCE8C2 -S123F180E4F3E8E83BFCE8E2F9E8E7B9E8E63BEC828300826C863AC20082006C82FCE8E4A0 -S123F1A0F3E8E86C80FCE8E2F9E8E7B9E8E63BEC828300806C8A3AC20082006C86C71B8211 -S123F1C08737E3873BCC0000E988A987B7453A16F40B87E3896C893352C18025E3EC82EEFE -S123F1E08016F40BB710C73BEC84EE8216F8F416F40B87E380E38A1B822603C60121C71BCF -S123F2008A3DFC3B2604A406FC3B24048409CC3B2416F393044115FC392204A406FC3920B1 -S123F22004840BCC392016F393046102C73DC752C11625FBC6013D6CAD348401044403C713 -S123F2402043EE87EC02AC822606EC00AC802733EC806C00EC826C02D6306B84EC82EE8093 -S123F26016F4285B30EE871A0434C7873BEC86EE8416F4343BC7873B860216EEE01B88E6A2 -S123F280845B30C6011B853D3B34EC868C3B242607CC39206C862027FCE8E4AC822618FC30 -S123F2A0E8E2AC802611CC3B246C86FEE8E46E82FEE8E26E802008EC8616F39304410FEC1A -S123F2C0863BEC84EE8216F2371B82046103C7878FEC861B843D1B983B34EDF012EEF0101B -S123F2E0C60916F8CAB746C60916F8B96C866E84EEF014EC0204A412EC0004A40D34EC8809 -S123F300EE8616F2371B82044160EEF014EC02AC862606EC00AC84270F34EC88EE8616F240 -S123F320881B826CF0142742EEF014ECF012A3021A041AE66E88EC8E6C8A16EB06EEF014C9 -S123F3401904EC8835A3B18C0200252634EC88C30200B745EC86C9008900B746B754B76565 -S123F36016F2881B826CF0142603C72023C300046C88EE8AE630ED886B706D886E8AEC82C5 -S123F380EE8016F8F96C826E800474AE26ACC6011B8C3D1B973BC6016B8AEE80EC0204A4C8 -S123F3A008EC0004A403C7205FC7876C88EC8859B746EE80E3026C84CC0000E901A9006C4A -S123F3C082B75419EEEC446C8616EB06C62037EC853BEE8534EC8B16F4591B85044119EC38 -S123F3E084EE8216F40BE186260EEC84EE8216F8F416F40BE1872704698A200AEE88086ED2 -S123F400888E010025A7E68A1B8B3D3B34D63037EC8316F4285B30EC83EE8116F434B745C2 -S123F420E600325A301B843D3B34C60EED8216F8CA1B843D843FC380003D3BC787B74537E5 -S123F440E6E2E8EA6BE23D283352C11625EECC3D286C8015F300003A3D6CAC6982D6306BDD -S123F46083EC88EE8607C15B301D010303545451C403FA01037B0103C6307B0105B6010536 -S123F48084808180261EEC88EE8607A8EE80B7466E40E68A7B010607A11F0105300220045A -S123F4A0C6016B82E6835B30E6821B843D06EF0A3BEC8A3BEC8A3BEC8A3BEC8A3BEC8816D4 -S123F4C0EF7E1B88303D3B34EC883BEC883BEC8616F0341B841B843D16F1783D16F11104DF -S123F4E061013D16F2023D16F5044C4001C6015B4EDC44C35DC05C504C4680C7877C3D4110 -S123F5007C3D3F3D79004C79004679004D79004079004779004879004979004A79004B3DA8 -S123F5204F4E011AC6015B4EDC50C35DC05C50FC3D41FE3D3F16F8F47C3D417E3D3F3D07B9 -S123F540DFFC3D41FE3D3F3DCF390016E82906E9E1FEE78005003DFEE78205003DFEE784DF -S123F56005003DFEE78605003DFEE78805003DFEE78A05003DFEE78C05003DFEE78E05000D -S123F5803DFEE79005003DFEE79205003DFEE79405003DFEE79605003DFEE79805003DFE85 -S123F5A0E79A05003DFEE79C05003DFEE79E05003DFEE7A005003DFEE7A205003DFEE7A4E3 -S123F5C005003DFEE7A605003DFEE7A805003DFEE7AA05003DFEE7AC05003DFEE7AE05000D -S123F5E03DFEE7B005003DFEE7B205003DFEE7B405003DFEE7B605003DFEE7B805003DFE85 -S123F600E7BA05003DFEE7BC05003DFEE7BE05003DFEE7C005003DFEE7C205003DFEE7C4C2 -S123F62005003DFEE7C605003DFEE7C805003DFEE7CA05003DFEE7CC05003DFEE7CE05000C -S123F6403DFEE7D005003DFEE7D205003DFEE7D405003DFEE7D605003DFEE7D805003DFE84 -S123F660E7DA05003DFEE7DC05003DFEE7DE05003DFEE7E005003DFEE7E205003DFEE7E4A2 -S123F68005003DFEE7E605003DFEE7E805003DFEE7EA05003DFEE7EC05003DFEE7EE05000C -S123F6A03DFEE7F005003DFEE7F205003DFEE7F405003DFEE7F605003DFEE7F805003DFE84 -S123F6C0E7FA05003DFEE7FC05003D3B34EC867C3D43EC827E3D457C3D4716EB0620FB1B58 -S123F6E096C6017B01401F014101FBC6807B0141CC01F43B1A82341A85B75416F8501B841A -S123F70004010ECCE9AE3BC6F587B70516F6CB1B82E6807B0142E6817B01431D014B30CC13 -S123F72006676C88C7876C866C846C827B0150C6087B0151C60C7B0152C6CE7B01537A0161 -S123F74054C6107B01557A01567A0157C6CC7B0158C6E07B01597A015A7A015B7A015CC6DE -S123F760077B015D7A015E7A015F1D0140011E014101FBC6017B014A1B8A3D371E0146012B -S123F7800FCCE9AE3BCC0136CE000016F6CB1B82CC20FC7B01707A0171790172790173E6F4 -S123F7A0807B017CC720108737B746E384B745E6006BEA01743352E18025ECC6017B014688 -S123F7C0200316EB061F014601F8323D6CA869861F014401761E01610810FC01604949497F -S123F7E049496C84C7876C822030FE0162FC0160C4078749B7C54656CD00003BFC0160C45D -S123F800E03BC60334EE8216F8CAEA85AA846C8AB754EA81AA806C881B86EC848C0667262D -S123F82026EC822622C6016B86B6016C840F6A87C720108737B745E381B746E6E201646BDF -S123F840403352E18725EC1D0144FEE6861B883D6CAC3B6984E6848759B745E6E2E90087FC -S123F860B746E6E2E90119EE02B764ED8A136C80CC1F40B756EE80181004642ECC1F40EEBE -S123F880801810B7516B852721C140221D53EE886B00E6EAE90153861012A6EAE900433760 -S123F8A0AAB0EE826A00C601200C16EB066284E684C11225A0C71B863D87D7B7C6270A5924 -S123F8C0B7C55545B7C50436F63D87D7B7C6270AB7C549B7C546560436F63DAC84270E3436 -S123F8E0B7C5E285A284B7C510FB302002AE82311B84054004A401083D04640109830001F9 -S123F9003D87C76C82EC8C261FEE8EED86EC8811280DEC86CD0000116D82B746EC88116DD6 -S123F920846C8887C76C863D972709EE86B7C5CD00002008EE8DE686ED87B7C61135ECF028 -S123F94010133B35ECF012ED8413E3B130B7C5CD0000356581A38CB7C5E28BA28A310446B7 -S123F960113669AF3137323433EEF01011B76532201F252A046403044539E78E2706EE8E3D -S123F98087C7200BB7C5363469AFEEF013313A1810083A34A3B1B74620A33102209F41515A -S123F9A0B7C5415104A40108AE8E22EE2505ACF01024E7316D84698369826C886E863D3BFE -S11EF9C0341B9C16F90130ECB5EDB505403BB704B7053A3D30E6E605E5000066 -S10FFEF0CF390016E82916EAFB06E9E108 -S123FF80F551F557F55DF563F569F56FF575F57BF581F587F58DF593F599F59FF5A5F5AB2D -S123FFA0F5B1F5B7F5BDF5C3F5C9F5CFF5D5F5DBF5E1F5E7F5EDF5F3F5F9F5FFF605F60B0B -S123FFC0F611F617F61DF623F629F62FF635F63BF641F647F64DF653F659F65FF665F66BDD -S123FFE0F671F677F67DF683F689F68FF695F69BF6A1F6A7F6ADF6B3F6B9F6BFF6C5F54841 +S123E800FEE82EFDE82C270E35ED31EC3169700434FB310326F2FEE830EC31270BED311837 +S123E8200A30700434F920F13D06E8000001E832F8C8390004FC4F70656E424C5400000C29 +S123E840000000004000000C400000004000000C800000004000000CC00000004000000D03 +S123E860000000004000000D400000004000000D800000004000000DC00000004000000EDF +S123E880000000004000000E400000004000000E800000004000000EC00000004000000FBB +S123E8A0000000004000000F400000004000000F800000004000000FC00000000800000FD0 +S123E8C0C80000000800000FD00000000800000FD80000000800000FE0000000080036342D +S123E8E0CE01001A0586806A00A7A7A7A70F0040FC30323D433A5C576F726B5C736F66749C +S123E900776172655C4F70656E424C545C5461726765745C44656D6F5C48435331325F458F +S123E9207662706C75735F447261676F6E3132705F436F646557617272696F725C426F6F6E +S123E940745C6D61696E2E6300433A5C576F726B5C736F6674776172655C4F70656E424CEE +S123E960545C5461726765745C536F757263655C48435331325C666C6173682E6300433A9A +S123E9805C576F726B5C736F6674776172655C4F70656E424C545C5461726765745C536FFC +S123E9A0757263655C48435331325C756172742E630016E9BD16EA7816EA8720FB1B99696B +S123E9C08214104D398069816980E68087CD1F40C3000118133BE68387C3000116F8BC3BB8 +S123E9E034EC84B76516F8AE6C876E858C5DC01B822609046506C6016B8220286280E68089 +S123EA00C13F23C6E6820401086281E681C10F23B7E68204010ECCE8F43BC67587B70516AE +S123EA20F7941B82E6805B34E6815B354F3708FC4C39801B873DC6017B390016F5127C3903 +S123EA40037E390106EA4716EAD204012AF6390004212416F5123BFC3903C30032B746FCC9 +S123EA603901C9008900353BEC8416F7CA1B82250679390016EE9B3D16EAD616F4BA16F455 +S123EA808016EA9306EA3616EAD716F4F316EAAC06EA47C6FF6BAE698116EAD816F51BF6C6 +S123EAA03905042105B77416EAFA3A3DCC390616F592042106CC390616EAFA3D3D3BEC8451 +S123EAC03BE68316F5343A16EAF63A3DC6017B39053D16EAED3D3D3DC7877C398E7C398C75 +S123EAE07B39897C398A7B39487C39463DF6394626013DC6013D7939893D3B36B745E600BA +S123EB00C1FF2607B75416EC442055B639460420CDC1FE2244C1F3250EC1F62221C0F387D8 +S123EB2016F8C34D3F3846C1CC6B802526C1D22222C0CC8716F8C37F86867863716AC1FA7C +S123EB406B80250FC1FE220BC0FA8716F8C3296F30373EE680C1C9273A2062EC8116ECD83D +S123EB602060EC8116ED262059EC8116ECBE2052EC8116ED7B204BEC8116EC9C2044EC8131 +S123EB8016EC98203DEC8116EC7E2036EC8116EC6E202FB75416EDC02028EC8116EE032061 +S123EBA021EC8116EDA7201AEC8116EE5E2013EC8116EE88200CEC8116EE962005C6201690 +S123EBC0EC34F63989042105C61016EC34C6017B3989CC39493BFC398A16EBE11B821B83BA +S123EBE03D3BEC843BEC8216EABD1B843D6CAD69822013EE8BE600EB826B82EE89EC8B16F3 +S123EC00F7E36C8B6E89EC87EE85343B16F7E86C8B6E89C7873B3BEC84EE8616F7CA1B84D2 +S123EC2026D1E68287EE806C02C76C00521B833D7939473D37C6FE7B3949327A394A50877A +S123EC407C398A3D07EACCFF017B3946C77C39491C394A107B394B1C394B0186407C394CA2 +S123EC60527C394E7B3950CE00087E398A3D79394607BDC6FF7B394950877C398A3D86FF8D +S123EC80C77C3949F639477B394BC7877C394C7B394EC6067C398A3DC706EC341803E83677 +S123ECA0398EC7877C398C437C3949877C394BC6077C394FC77C394DC6087C398A3D3BC64D +S123ECC0FF7B3949EE80EC047C398CEC067C398EC601877C398A3A3D3B36B745E601C13F08 +S123ECE02307C62216EC34203ACD394A356B82C7873BFD398E35FD398C35E68816EEB31B43 +S123ED0088C6FF7B3949EE81E60187B745F3398E7C398ECC0000F9398DB9398C7C398C087D +S123ED207E398A1B833D3BB745E601C13F2307C62216EC342043ED047D398C37EC067C39D9 +S123ED408ECC394A3BC7873BFC398E3B35E6888716EEB31B88C6FF7B3949EE81E60187B736 +S123ED6045F3398E7C398ECC0000F9398DB9398C7C398C087E398A1B813A3D3BC6FF7B39F3 +S123ED8049FC398E3BFC398C3BEE84EC063BEC043BCC394D16EBED7B394AC7877C394BC610 +S123EDA0087C398A1B8A3D86FFC77C3949CE00407E394B877C394D7B394FC6077C398A3DF7 +S123EDC03BFC398E3BFC398C3BC63F873BC73BEC88C3000116F4831B88046107C63116EC64 +S123EDE034201EC6FF7B3949FC398EC3003F7C398EFC398CC90089007C398CC601877C397C +S123EE008A3A3D3BB745E601C13E2304C622203086FF7A3949CD00017D398A04610816F46B +S123EE20AF0461382018FD398E35FD398C35873BC73B1902B7C616F4831B88046107C6316B +S123EE4016EC342017EE80E60187F3398E7C398ECC0000F9398DB9398C7C398C3A3D3BFC70 +S123EE60398E3BFC398C3BEE84EC06EE0416F4991B84046107C63116EC34200AC6FF7B39BC +S123EE804950877C398A3A3D16EEDAC6FF7B394950877C398A3DC63106EC343B16F4AB0494 +S123EEA0410F16EABC16F4D7FCE7FE6C8015F300003A3D6CACEC8C6C82EE88200DED82E69F +S123EEC0306B706D823416EAD730ED80341A5F6E828D00003026E61B843D06F6071B9D6926 +S123EEE082CCFF016B81507C39927C39907C3B967C3B941C010303F60103C403527B3DAEC4 +S123EF001D0103E36980E68087B745E68108B75613B745CC1F4018151AE1698E00302212DE +S123EF20E681C1082605A6808A408FA6807A0100201C6280E680C13F23CCE68204010FCC97 +S123EF40E9493BCC017CCE000016F7941B821B833D1B983BFCE83EACF01022442608FCE8DC +S123EF6040ACF012223AECF012E38E3BEC8EE9F013A9F012B7453A16F7E83BFCE8D8F3E89B +S123EF80DC3BFCE8D6F9E8DBB9E8DAB7D43BEC8216F7E83B34EC88EE8416F7CA1B86230349 +S123EFA0C72061FCE8D8F3E8DC3BFCE8D6F9E8DBB9E8DA3BEC828302006C883AC2008200C6 +S123EFC06C84EDF014EEF012C60916F7B9B746C60916F7A86C8A6E88EE8634ACB3260BEC36 +S123EFE086AC822605CC3B942003CC39903BEEF01434EEF01434EE8634ECF016EEF01416B2 +S123F000F2A91B881B8A3D1B943B34EDF014EEF012C60916F7B9B746C60916F7A86C8E6E4F +S123F0208CBEE83E18250099FCE83EAC8C2607FCE840AC8E2238ECF014E3823BEC82E9F070 +S123F04015A9F014B7453A16F7E83BFCE8D8F3E8DC3BFCE8D6F9E8DBB9E8DAB7D43BEC82B1 +S123F06016F7E83B34EC88EE8416F7CA1B862251ECF014A38E3BECF014E28FA28E3BEC82C1 +S123F080E3866C8C3AE983A9826C88C609EE88ED8A16F7B96C86EC8A84018C00001B822787 +S123F0A005EE84086E846D8A202E16EAD7C64037EC8F3BEC8F3BCC55AA16F42C1B85046110 +S123F0C003C7201CEC8EC302006C8EEC8CC90089006C8CEE8A086E8AEC8AAC8425CCC60155 +S123F0E01BF0103DC7876CACFE3B9604A509FE3B9404A503522051CE01806E828737E3832E +S123F100B745E6E23B9887E3816C813352C18025EB61816180EE80086E80FCE8D8F3E8DC0C +S123F1203BFCE8D6F9E8DBB9E8DA3BEC82830082B7453AC2008200343BC602873BC73B1A62 +S123F1408AB75416EF511B8A1B843D1B96C7876C88FCE8D8F3E8DC3BFCE8D6F9E8DBB9E887 +S123F160DA3BEC828300826C863AC20082006C82FCE8D8F3E8DC6C80FCE8D6F9E8DBB9E82F +S123F180DA3BEC828300806C8A3AC20082006C86C71B828737E3873BCC0000E988A987B794 +S123F1A0453A16F3DE87E3896C893352C18025E3EC82EE8016F3DEB710C73BEC84EE8216AD +S123F1C0F7E316F3DE87E380E38A1B822603C60121C71B8A3DFC3B9604A406FC3B940484EE +S123F1E009CC3B9416F366044115FC399204A406FC399004840BCC399016F366046102C79F +S123F2003DC752C11625FBC6013D6CAD348401044403C72043EE87EC02AC822606EC00ACFD +S123F220802733EC806C00EC826C02D6306B84EC82EE8016F3FB5B30EE871A0434C7873B8C +S123F240EC86EE8416F4073BC7873B860216EEB31B88E6845B30C6011B853D3B34EC868C09 +S123F2603B942607CC39906C862027FCE8D8AC822618FCE8D6AC802611CC3B946C86FEE808 +S123F280D86E82FEE8D66E802008EC8616F36604410FEC863BEC84EE8216F20A1B820461FA +S123F2A003C7878FEC861B843D1B983B34EDF012EEF010C60916F7B9B746C60916F7A86C9B +S123F2C0866E84EEF014EC0204A412EC0004A40D34EC88EE8616F20A1B82044160EEF01415 +S123F2E0EC02AC862606EC00AC84270F34EC88EE8616F25B1B826CF0142742EEF014ECF0A9 +S123F30012A3021A041AE66E88EC8E6C8A16EAD7EEF0141904EC8835A3B18C0200252634BE +S123F320EC88C30200B745EC86C9008900B746B754B76516F25B1B826CF0142603C7202309 +S123F340C300046C88EE8AE630ED886B706D886E8AEC82EE8016F7E86C826E800474AE262A +S123F360ACC6011B8C3D1B973BC6016B8AEE80EC0204A408EC0004A403C7205FC7876C885E +S123F380EC8859B746EE80E3026C84CC0000E901A9006C82B75419EEEC446C8616EAD7C63E +S123F3A02037EC853BEE8534EC8B16F42C1B85044119EC84EE8216F3DEE186260EEC84EE34 +S123F3C08216F7E316F3DEE1872704698A200AEE88086E888E010025A7E68A1B8B3D3B348F +S123F3E0D63037EC8316F3FB5B30EC83EE8116F407B745E600325A301B843D3B34C60EED35 +S123F4008216F7B91B843D843FC380003D3BC787B74537E6E2E8DE6BE23D983352C1162594 +S123F420EECC3D986C8015F300003A3D6CAC6982D6306B83EC88EE8607C15B301D01030378 +S123F440545451C403FA01037B0103C6307B0105B6010584808180261EEC88EE8607A8EE6A +S123F46080B7466E40E68A7B010607A11F010530022004C6016B82E6835B30E6821B843D5C +S123F48006EEDD3BEC8A3BEC8A3BEC8A3BEC8A3BEC8816EF511B88303D3B34EC883BEC882C +S123F4A03BEC8616F0071B841B843D16F14B3D16F0E40461013D16F1D53D16F4D74C400170 +S123F4C0C6015B4EDC44C35DC05C504C4680C7877C3DB17C3DAF3D79004C79004679004D53 +S123F4E079004079004779004879004979004A79004B3D4F4E011AC6015B4EDC50C35DC014 +S123F5005C50FC3DB1FE3DAF16F7E37C3DB17E3DAF3D07DFFC3DB1FE3DAF3D7900CB7900B2 +S123F520CA7900C87900C9C61A873B5AC85BC94CCB0C3A3D6BADC140230ECCE97E3BC688F2 +S123F54087B70516F7941B82E68016F5F304010ECCE97E3BC68B87B70516F7941B82C78721 +S123F5606C81202416EAD7EC85E381B745E60016F5F304010ECCE97E3BC69387B70516F7A0 +S123F580941B82EE81086E81E68087AC8122D51B833D3BF63DB32614CC3DB416F5E20421BA +S123F5A008C6017B3DB3793DF5C72034F63DF587C3000187C33DB416F5E20431EC723DF5E7 +S123F5C0F63DF5F13DB426E1EE8034C7873BCE3DB5343BF63DF516EEB31B88793DB3C6010A +S123F5E0303D3B4FCC2009D6CFEE806B00C60121C7303D4ECC8002C73D5BCF200316EAD7BD +S123F6004FCC80F9C6013D790011CC09395B105A12CF390016E82906E9B2FEE78005003D68 +S123F620FEE78205003DFEE78405003DFEE78605003DFEE78805003DFEE78A05003DFEE780 +S123F6408C05003DFEE78E05003DFEE79005003DFEE79205003DFEE79405003DFEE7960578 +S123F660003DFEE79805003DFEE79A05003DFEE79C05003DFEE79E05003DFEE7A005003D7A +S123F680FEE7A205003DFEE7A405003DFEE7A605003DFEE7A805003DFEE7AA05003DFEE780 +S123F6A0AC05003DFEE7AE05003DFEE7B005003DFEE7B205003DFEE7B405003DFEE7B60558 +S123F6C0003DFEE7B805003DFEE7BA05003DFEE7BC05003DFEE7BE05003DFEE7C005003D7A +S123F6E0FEE7C205003DFEE7C405003DFEE7C605003DFEE7C805003DFEE7CA05003DFEE780 +S123F700CC05003DFEE7CE05003DFEE7D005003DFEE7D205003DFEE7D405003DFEE7D60537 +S123F720003DFEE7D805003DFEE7DA05003DFEE7DC05003DFEE7DE05003DFEE7E005003D79 +S123F740FEE7E205003DFEE7E405003DFEE7E605003DFEE7E805003DFEE7EA05003DFEE77F +S123F760EC05003DFEE7EE05003DFEE7F005003DFEE7F205003DFEE7F405003DFEE7F60517 +S123F780003DFEE7F805003DFEE7FA05003DFEE7FC05003D3B34EC867C3DF6EC827E3DF814 +S123F7A07C3DFA16EAD720FB87D7B7C6270A59B7C55545B7C50436F63D87D7B7C6270AB779 +S123F7C0C549B7C546560436F63DAC84270E34B7C5E285A284B7C510FB302002AE82311B9B +S123F7E084054004A401083D046401098300013D87C76C82EC8C261FEE8EED86EC88112886 +S123F8000DEC86CD0000116D82B746EC88116D846C8887C76C863D972709EE86B7C5CD0030 +S123F820002008EE8DE686ED87B7C61135ECF010133B35ECF012ED8413E3B130B7C5CD0090 +S123F84000356581A38CB7C5E28BA28A310446113669AF3137323433EEF01011B7653220FD +S123F8601F252A046403044539E78E2706EE8E87C7200BB7C5363469AFEEF013313A181010 +S123F880083A34A3B1B74620A33102209F4151B7C5415104A40108AE8E22EE2505ACF01075 +S123F8A024E7316D84698369826C886E863D3B341B9C16F7F030ECB5EDB505403BB704B793 +S10DF8C0053A3D30E6E605E50000D8 +S119FEE0790011CC09395B105A12CF390016E82916EACC06E9B2FD +S123FF80F61AF620F626F62CF632F638F63EF644F64AF650F656F65CF662F668F66EF6748D +S123FFA0F67AF680F686F68CF692F698F69EF6A4F6AAF6B0F6B6F6BCF6C2F6C8F6CEF6D46D +S123FFC0F6DAF6E0F6E6F6ECF6F2F6F8F6FEF704F70AF710F716F71CF722F728F72EF73444 +S123FFE0F73AF740F746F74CF752F758F75EF764F76AF770F776F77CF782F788F78EF607AB S9030000FC diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.map b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.map index b3889082..f3d607ae 100644 --- a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.map +++ b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/bin/openblt_evbplus_dragon12p.map @@ -24,33 +24,33 @@ cpu.c.o Model: SMALL, Lang: ANSI-C flash.c.o Model: SMALL, Lang: ANSI-C nvm.c.o Model: SMALL, Lang: ANSI-C timer.c.o Model: SMALL, Lang: ANSI-C +uart.c.o Model: SMALL, Lang: ANSI-C vectors.c.o Model: SMALL, Lang: ANSI-C assert.c.o Model: SMALL, Lang: ANSI-C -can.c.o Model: SMALL, Lang: ANSI-C cstartup.c.o Model: SMALL, Lang: ANSI-C ********************************************************************************************* STARTUP SECTION --------------------------------------------------------------------------------------------- Entry point: 0xE829 (_Startup) -_startupData is allocated at 0xE838 and uses 6 Bytes +_startupData is allocated at 0xE82C and uses 6 Bytes extern struct _tagStartup { unsigned nofZeroOut 1 - _Range pZeroOut 0x3900 1097 - _Copy *toCopyDownBeg 0xF9D9 + _Range pZeroOut 0x3900 1276 + _Copy *toCopyDownBeg 0xF8C8 } _startupData; ********************************************************************************************* SECTION-ALLOCATION SECTION Section Name Size Type From To Segment --------------------------------------------------------------------------------------------- -.init 56 R 0xE800 0xE837 ROM_C000 -.startData 10 R 0xE838 0xE841 ROM_C000 -.rodata 226 R 0xE842 0xE923 ROM_C000 -.rodata1 189 R 0xE924 0xE9E0 ROM_C000 -.text 3800 R 0xE9E1 0xF8B8 ROM_C000 -.copy 2 R 0xF9D9 0xF9DA ROM_C000 -ENTRY 12 R 0xFEF0 0xFEFB ENTRY_SEG +.init 44 R 0xE800 0xE82B ROM_C000 +.startData 10 R 0xE82C 0xE835 ROM_C000 +.rodata 190 R 0xE836 0xE8F3 ROM_C000 +.rodata1 190 R 0xE8F4 0xE9B1 ROM_C000 +.text 3574 R 0xE9B2 0xF7A7 ROM_C000 +.copy 2 R 0xF8C8 0xF8C9 ROM_C000 +ENTRY 22 R 0xFEE0 0xFEF5 ENTRY_SEG .stack 256 R/W 0x3800 0x38FF RAM .abs_section_8 1 N/I 0x8 0x8 .absSeg0 .abs_section_9 1 N/I 0x9 0x9 .absSeg1 @@ -394,12 +394,12 @@ ENTRY 12 R 0xFEF0 0xFEFB ENTRY_SEG .abs_section_2ae 2 N/I 0x2AE 0x2AF .absSeg339 .abs_section_2be 2 N/I 0x2BE 0x2BF .absSeg340 .abs_section_ff80 128 R 0xFF80 0xFFFF .absSeg341 -.bss 1097 R/W 0x3900 0x3D48 RAM -RUNTIME 288 R 0xF8B9 0xF9D8 ROM_C000 +.bss 1276 R/W 0x3900 0x3DFB RAM +RUNTIME 288 R 0xF7A8 0xF8C7 ROM_C000 Summary of section sizes per section type: -READ_ONLY (R): 1267 (dec: 4711) -READ_WRITE (R/W): 549 (dec: 1353) +READ_ONLY (R): 1160 (dec: 4448) +READ_WRITE (R/W): 5FC (dec: 1532) NO_INIT (N/I): 190 (dec: 400) ********************************************************************************************* @@ -413,15 +413,15 @@ OBJECT-ALLOCATION SECTION --------------------------------------------------------------------------------------------- MODULE: -- rtshc12.c.o (ansisi.lib) -- - PROCEDURES: - _LSHL F8B9 11 17 3 RUNTIME - _LSHRU F8CA 11 17 6 RUNTIME - _LCMP F8DB 19 25 4 RUNTIME - _LINC F8F4 5 5 4 RUNTIME - _LDEC F8F9 8 8 6 RUNTIME - _lDivMod F901 BE 190 1 RUNTIME - _LDIVU F9BF E 14 1 RUNTIME - _ILSEXT F9CD 7 7 1 RUNTIME - _CASE_DIRECT_BYTE F9D4 5 5 3 RUNTIME + _LSHL F7A8 11 17 3 RUNTIME + _LSHRU F7B9 11 17 5 RUNTIME + _LCMP F7CA 19 25 4 RUNTIME + _LINC F7E3 5 5 4 RUNTIME + _LDEC F7E8 8 8 6 RUNTIME + _lDivMod F7F0 BE 190 1 RUNTIME + _LDIVU F8AE E 14 1 RUNTIME + _ILSEXT F8BC 7 7 1 RUNTIME + _CASE_DIRECT_BYTE F8C3 5 5 3 RUNTIME - VARIABLES: MODULE: -- mc9s12dg256.c.o -- - PROCEDURES: @@ -769,205 +769,208 @@ MODULE: -- mc9s12dg256.c.o -- _CAN4TXTSR 2BE 2 2 0 .abs_section_2be MODULE: -- main.c.o -- - PROCEDURES: - main E9E1 B 11 3 .text - Init E9EC 79 121 1 .text + main E9B2 B 11 2 .text + Init E9BD 79 121 1 .text - VARIABLES: - STRING.C..Work.software.Ope.1 E924 55 85 1 .rodata1 + STRING.C..Work.software.Ope.1 E8F4 55 85 1 .rodata1 MODULE: -- backdoor.c.o -- - PROCEDURES: - BackDoorInit EA65 11 17 1 .text - BackDoorCheck EA76 31 49 2 .text + BackDoorInit EA36 11 17 1 .text + BackDoorCheck EA47 31 49 2 .text - VARIABLES: backdoorOpen 3900 1 1 3 .bss backdoorOpenTime 3901 4 4 4 .bss MODULE: -- boot.c.o -- - PROCEDURES: - BootInit EAA7 F 15 1 .text - BootTask EAB6 C 12 1 .text + BootInit EA78 F 15 1 .text + BootTask EA87 C 12 1 .text - VARIABLES: MODULE: -- com.c.o -- - PROCEDURES: - ComInit EAC2 19 25 1 .text - ComTask EADB 10 16 1 .text - ComFree EAEB 1 1 1 .text - ComTransmitPacket EAEC F 15 1 .text - ComSetConnectEntryState EAFB 6 6 1 .text - ComIsConnected EB01 4 4 1 .text + ComInit EA93 19 25 1 .text + ComTask EAAC 10 16 1 .text + ComFree EABC 1 1 1 .text + ComTransmitPacket EABD F 15 1 .text + ComSetConnectEntryState EACC 6 6 1 .text + ComIsConnected EAD2 4 4 1 .text - VARIABLES: comEntryStateConnect 3905 1 1 2 .bss - xcpCtoReqPacket.1 3906 8 8 2 .bss + xcpCtoReqPacket.1 3906 40 64 2 .bss MODULE: -- cop.c.o -- - PROCEDURES: - CopInit EB05 1 1 1 .text - CopService EB06 1 1 8 .text + CopInit EAD6 1 1 1 .text + CopService EAD7 1 1 8 .text - VARIABLES: MODULE: -- xcp.c.o -- - PROCEDURES: - XcpInit EB07 15 21 1 .text - XcpIsConnected EB1C 9 9 1 .text - XcpPacketTransmitted EB25 4 4 1 .text - XcpPacketReceived EB29 E7 231 2 .text - XcpTransmitPacket EC10 C 12 1 .text - XcpComputeChecksum EC1C 43 67 1 .text - XcpProtectResources EC5F 4 4 2 .text - XcpSetCtoError EC63 10 16 9 .text - XcpCmdConnect EC73 29 41 1 .text - XcpCmdDisconnect EC9C 10 16 1 .text - XcpCmdGetStatus ECAC 1A 26 1 .text - XcpCmdSynch ECC6 4 4 1 .text - XcpCmdGetId ECCA 22 34 1 .text - XcpCmdSetMta ECEC 1A 26 1 .text - XcpCmdUpload ED06 4E 78 1 .text - XcpCmdShortUpload ED54 55 85 1 .text - XcpCmdBuildCheckSum EDA9 2C 44 1 .text - XcpCmdProgramStart EDD5 18 24 1 .text - XcpCmdProgramMax EDED 43 67 1 .text - XcpCmdProgram EE30 5B 91 1 .text - XcpCmdProgramClear EE8B 2A 42 1 .text - XcpCmdProgramReset EEB5 E 14 1 .text - XcpCmdProgramPrepare EEC3 5 5 1 .text + XcpInit EAD8 15 21 1 .text + XcpIsConnected EAED 9 9 1 .text + XcpPacketTransmitted EAF6 4 4 1 .text + XcpPacketReceived EAFA E7 231 2 .text + XcpTransmitPacket EBE1 C 12 1 .text + XcpComputeChecksum EBED 43 67 1 .text + XcpProtectResources EC30 4 4 2 .text + XcpSetCtoError EC34 10 16 9 .text + XcpCmdConnect EC44 2A 42 1 .text + XcpCmdDisconnect EC6E 10 16 1 .text + XcpCmdGetStatus EC7E 1A 26 1 .text + XcpCmdSynch EC98 4 4 1 .text + XcpCmdGetId EC9C 22 34 1 .text + XcpCmdSetMta ECBE 1A 26 1 .text + XcpCmdUpload ECD8 4E 78 1 .text + XcpCmdShortUpload ED26 55 85 1 .text + XcpCmdBuildCheckSum ED7B 2C 44 1 .text + XcpCmdProgramStart EDA7 19 25 1 .text + XcpCmdProgramMax EDC0 43 67 1 .text + XcpCmdProgram EE03 5B 91 1 .text + XcpCmdProgramClear EE5E 2A 42 1 .text + XcpCmdProgramReset EE88 E 14 1 .text + XcpCmdProgramPrepare EE96 5 5 1 .text - VARIABLES: - xcpStationId E842 8 8 1 .rodata - xcpInfo 390E 12 18 102 .bss + xcpStationId E836 8 8 1 .rodata + xcpInfo 3946 4A 74 102 .bss MODULE: -- cpu.c.o -- - PROCEDURES: - CpuStartUserProgram EEC8 18 24 1 .text - CpuMemCopy EEE0 27 39 3 .text - CpuReset EF07 3 3 1 .text + CpuStartUserProgram EE9B 18 24 1 .text + CpuMemCopy EEB3 27 39 4 .text + CpuReset EEDA 3 3 1 .text - VARIABLES: MODULE: -- flash.c.o -- - PROCEDURES: - FlashInit EF0A 74 116 1 .text - FlashWrite EF7E B6 182 2 .text - FlashErase F034 DD 221 1 .text - FlashWriteChecksum F111 67 103 1 .text - FlashVerifyChecksum F178 8A 138 1 .text - FlashDone F202 35 53 1 .text - FlashInitBlock F237 51 81 2 .text - FlashSwitchBlock F288 4E 78 2 .text - FlashAddToBlock F2D6 BD 189 1 .text - FlashWriteBlock F393 78 120 3 .text - FlashGetLinearAddrByte F40B 1D 29 5 .text - FlashGetPhysPage F428 C 12 3 .text - FlashGetPhysAddr F434 6 6 3 .text - FlashExecuteCommand F43A 1F 31 1 .text - FlashOperate F459 54 84 2 .text + FlashInit EEDD 74 116 1 .text + FlashWrite EF51 B6 182 2 .text + FlashErase F007 DD 221 1 .text + FlashWriteChecksum F0E4 67 103 1 .text + FlashVerifyChecksum F14B 8A 138 1 .text + FlashDone F1D5 35 53 1 .text + FlashInitBlock F20A 51 81 2 .text + FlashSwitchBlock F25B 4E 78 2 .text + FlashAddToBlock F2A9 BD 189 1 .text + FlashWriteBlock F366 78 120 3 .text + FlashGetLinearAddrByte F3DE 1D 29 5 .text + FlashGetPhysPage F3FB C 12 3 .text + FlashGetPhysAddr F407 6 6 3 .text + FlashExecuteCommand F40D 1F 31 1 .text + FlashOperate F42C 54 84 2 .text - VARIABLES: - flashLayout E84A A0 160 39 .rodata - flashExecCmd E8EA 16 22 1 .rodata - STRING.C..Work.software.Ope.1 E979 35 53 1 .rodata1 - blockInfo 3920 204 516 7 .bss - bootBlockInfo 3B24 204 516 11 .bss - flashExecCmdRam 3D28 16 22 2 .bss - flashMaxNrBlocks 3D3E 1 1 1 .bss + flashLayout E83E A0 160 39 .rodata + flashExecCmd E8DE 16 22 1 .rodata + STRING.C..Work.software.Ope.1 E949 35 53 1 .rodata1 + blockInfo 3990 204 516 7 .bss + bootBlockInfo 3B94 204 516 11 .bss + flashExecCmdRam 3D98 16 22 2 .bss + flashMaxNrBlocks 3DAE 1 1 1 .bss MODULE: -- nvm.c.o -- - PROCEDURES: - NvmInit F4AD 3 3 1 .text - NvmWrite F4B0 16 22 2 .text - NvmErase F4C6 12 18 1 .text - NvmVerifyChecksum F4D8 4 4 1 .text - NvmDone F4DC B 11 1 .text + NvmInit F480 3 3 1 .text + NvmWrite F483 16 22 2 .text + NvmErase F499 12 18 1 .text + NvmVerifyChecksum F4AB 4 4 1 .text + NvmDone F4AF B 11 1 .text - VARIABLES: MODULE: -- timer.c.o -- - PROCEDURES: - TimerInit F4E7 1D 29 1 .text - TimerReset F504 1C 28 2 .text - TimerUpdate F520 1F 31 2 .text - TimerGet F53F 9 9 2 .text + TimerInit F4BA 1D 29 1 .text + TimerReset F4D7 1C 28 2 .text + TimerUpdate F4F3 1F 31 2 .text + TimerGet F512 9 9 2 .text - VARIABLES: - millisecond_counter 3D3F 4 4 8 .bss + millisecond_counter 3DAF 4 4 8 .bss +MODULE: -- uart.c.o -- +- PROCEDURES: + UartInit F51B 19 25 1 .text + UartTransmitPacket F534 5E 94 1 .text + UartReceivePacket F592 50 80 1 .text + UartReceiveByte F5E2 11 17 2 .text + UartTransmitByte F5F3 14 20 2 .text +- VARIABLES: + STRING.C..Work.software.Ope.1 E97E 34 52 3 .rodata1 + xcpCtoRxInProgress.4 3DB3 1 1 3 .bss + xcpCtoReqPacket.2 3DB4 41 65 4 .bss + xcpCtoRxLength.3 3DF5 1 1 5 .bss MODULE: -- vectors.c.o -- - PROCEDURES: - reset_handler F548 9 9 2 .text - Vector0_handler F551 6 6 1 .text - Vector1_handler F557 6 6 1 .text - Vector2_handler F55D 6 6 1 .text - Vector3_handler F563 6 6 1 .text - Vector4_handler F569 6 6 1 .text - Vector5_handler F56F 6 6 1 .text - Vector6_handler F575 6 6 1 .text - Vector7_handler F57B 6 6 1 .text - Vector8_handler F581 6 6 1 .text - Vector9_handler F587 6 6 1 .text - Vector10_handler F58D 6 6 1 .text - Vector11_handler F593 6 6 1 .text - Vector12_handler F599 6 6 1 .text - Vector13_handler F59F 6 6 1 .text - Vector14_handler F5A5 6 6 1 .text - Vector15_handler F5AB 6 6 1 .text - Vector16_handler F5B1 6 6 1 .text - Vector17_handler F5B7 6 6 1 .text - Vector18_handler F5BD 6 6 1 .text - Vector19_handler F5C3 6 6 1 .text - Vector20_handler F5C9 6 6 1 .text - Vector21_handler F5CF 6 6 1 .text - Vector22_handler F5D5 6 6 1 .text - Vector23_handler F5DB 6 6 1 .text - Vector24_handler F5E1 6 6 1 .text - Vector25_handler F5E7 6 6 1 .text - Vector26_handler F5ED 6 6 1 .text - Vector27_handler F5F3 6 6 1 .text - Vector28_handler F5F9 6 6 1 .text - Vector29_handler F5FF 6 6 1 .text - Vector30_handler F605 6 6 1 .text - Vector31_handler F60B 6 6 1 .text - Vector32_handler F611 6 6 1 .text - Vector33_handler F617 6 6 1 .text - Vector34_handler F61D 6 6 1 .text - Vector35_handler F623 6 6 1 .text - Vector36_handler F629 6 6 1 .text - Vector37_handler F62F 6 6 1 .text - Vector38_handler F635 6 6 1 .text - Vector39_handler F63B 6 6 1 .text - Vector40_handler F641 6 6 1 .text - Vector41_handler F647 6 6 1 .text - Vector42_handler F64D 6 6 1 .text - Vector43_handler F653 6 6 1 .text - Vector44_handler F659 6 6 1 .text - Vector45_handler F65F 6 6 1 .text - Vector46_handler F665 6 6 1 .text - Vector47_handler F66B 6 6 1 .text - Vector48_handler F671 6 6 1 .text - Vector49_handler F677 6 6 1 .text - Vector50_handler F67D 6 6 1 .text - Vector51_handler F683 6 6 1 .text - Vector52_handler F689 6 6 1 .text - Vector53_handler F68F 6 6 1 .text - Vector54_handler F695 6 6 1 .text - Vector55_handler F69B 6 6 1 .text - Vector56_handler F6A1 6 6 1 .text - Vector57_handler F6A7 6 6 1 .text - Vector58_handler F6AD 6 6 1 .text - Vector59_handler F6B3 6 6 1 .text - Vector60_handler F6B9 6 6 1 .text - Vector61_handler F6BF 6 6 1 .text - Vector62_handler F6C5 6 6 1 .text - reset_connected_handler FEF0 C 12 0 ENTRY + reset_handler F607 13 19 2 .text + Vector0_handler F61A 6 6 1 .text + Vector1_handler F620 6 6 1 .text + Vector2_handler F626 6 6 1 .text + Vector3_handler F62C 6 6 1 .text + Vector4_handler F632 6 6 1 .text + Vector5_handler F638 6 6 1 .text + Vector6_handler F63E 6 6 1 .text + Vector7_handler F644 6 6 1 .text + Vector8_handler F64A 6 6 1 .text + Vector9_handler F650 6 6 1 .text + Vector10_handler F656 6 6 1 .text + Vector11_handler F65C 6 6 1 .text + Vector12_handler F662 6 6 1 .text + Vector13_handler F668 6 6 1 .text + Vector14_handler F66E 6 6 1 .text + Vector15_handler F674 6 6 1 .text + Vector16_handler F67A 6 6 1 .text + Vector17_handler F680 6 6 1 .text + Vector18_handler F686 6 6 1 .text + Vector19_handler F68C 6 6 1 .text + Vector20_handler F692 6 6 1 .text + Vector21_handler F698 6 6 1 .text + Vector22_handler F69E 6 6 1 .text + Vector23_handler F6A4 6 6 1 .text + Vector24_handler F6AA 6 6 1 .text + Vector25_handler F6B0 6 6 1 .text + Vector26_handler F6B6 6 6 1 .text + Vector27_handler F6BC 6 6 1 .text + Vector28_handler F6C2 6 6 1 .text + Vector29_handler F6C8 6 6 1 .text + Vector30_handler F6CE 6 6 1 .text + Vector31_handler F6D4 6 6 1 .text + Vector32_handler F6DA 6 6 1 .text + Vector33_handler F6E0 6 6 1 .text + Vector34_handler F6E6 6 6 1 .text + Vector35_handler F6EC 6 6 1 .text + Vector36_handler F6F2 6 6 1 .text + Vector37_handler F6F8 6 6 1 .text + Vector38_handler F6FE 6 6 1 .text + Vector39_handler F704 6 6 1 .text + Vector40_handler F70A 6 6 1 .text + Vector41_handler F710 6 6 1 .text + Vector42_handler F716 6 6 1 .text + Vector43_handler F71C 6 6 1 .text + Vector44_handler F722 6 6 1 .text + Vector45_handler F728 6 6 1 .text + Vector46_handler F72E 6 6 1 .text + Vector47_handler F734 6 6 1 .text + Vector48_handler F73A 6 6 1 .text + Vector49_handler F740 6 6 1 .text + Vector50_handler F746 6 6 1 .text + Vector51_handler F74C 6 6 1 .text + Vector52_handler F752 6 6 1 .text + Vector53_handler F758 6 6 1 .text + Vector54_handler F75E 6 6 1 .text + Vector55_handler F764 6 6 1 .text + Vector56_handler F76A 6 6 1 .text + Vector57_handler F770 6 6 1 .text + Vector58_handler F776 6 6 1 .text + Vector59_handler F77C 6 6 1 .text + Vector60_handler F782 6 6 1 .text + Vector61_handler F788 6 6 1 .text + Vector62_handler F78E 6 6 1 .text + reset_connected_handler FEE0 16 22 0 ENTRY - VARIABLES: _vectab FF80 80 128 0 .abs_section_ff80 - LABELS: __SEG_END_SSTACK 3900 0 0 2 MODULE: -- assert.c.o -- - PROCEDURES: - AssertFailure F6CB 14 20 4 .text + AssertFailure F794 14 20 5 .text - VARIABLES: - assert_failure_file 3D43 2 2 1 .bss - assert_failure_line 3D45 4 4 2 .bss -MODULE: -- can.c.o -- -- PROCEDURES: - CanInit F6DF 9C 156 1 .text - CanTransmitPacket F77B 51 81 1 .text - CanReceivePacket F7CC 84 132 1 .text - CanGetSpeedConfig F850 69 105 1 .text -- VARIABLES: - canTiming E900 24 36 4 .rodata - STRING.C..Work.software.Ope.1 E9AE 33 51 2 .rodata1 + assert_failure_file 3DF6 2 2 1 .bss + assert_failure_line 3DF8 4 4 2 .bss MODULE: -- cstartup.c.o -- - PROCEDURES: Init E800 29 41 1 .init - _Startup E829 F 15 2 .init + _Startup E829 3 3 2 .init - VARIABLES: - _startupData E838 6 6 3 .startData + _startupData E82C 6 6 3 .startData ********************************************************************************************* MODULE STATISTIC @@ -978,17 +981,17 @@ MODULE STATISTIC main.c.o 0 132 85 backdoor.c.o 5 66 0 boot.c.o 0 27 0 - com.c.o 9 67 0 + com.c.o 65 67 0 cop.c.o 0 2 0 - xcp.c.o 18 961 8 + xcp.c.o 74 963 8 cpu.c.o 0 66 0 flash.c.o 1055 1443 235 nvm.c.o 0 58 0 timer.c.o 4 97 0 - vectors.c.o 0 399 128 + uart.c.o 67 236 52 + vectors.c.o 0 419 128 assert.c.o 6 20 0 - can.c.o 0 474 87 - cstartup.c.o 0 56 0 + cstartup.c.o 0 44 0 other 256 10 2 ********************************************************************************************* @@ -1007,7 +1010,8 @@ SECTION: ".text" FlashVerifyChecksum FlashDone FlashInitBlock FlashSwitchBlock FlashAddToBlock FlashWriteBlock FlashGetLinearAddrByte FlashGetPhysPage FlashGetPhysAddr FlashExecuteCommand FlashOperate NvmInit NvmWrite NvmErase NvmVerifyChecksum - NvmDone TimerInit TimerReset TimerUpdate TimerGet reset_handler + NvmDone TimerInit TimerReset TimerUpdate TimerGet UartInit UartTransmitPacket + UartReceivePacket UartReceiveByte UartTransmitByte reset_handler Vector0_handler Vector1_handler Vector2_handler Vector3_handler Vector4_handler Vector5_handler Vector6_handler Vector7_handler Vector8_handler Vector9_handler Vector10_handler Vector11_handler @@ -1023,16 +1027,16 @@ SECTION: ".text" Vector48_handler Vector49_handler Vector50_handler Vector51_handler Vector52_handler Vector53_handler Vector54_handler Vector55_handler Vector56_handler Vector57_handler Vector58_handler Vector59_handler - Vector60_handler Vector61_handler Vector62_handler AssertFailure CanInit - CanTransmitPacket CanReceivePacket CanGetSpeedConfig + Vector60_handler Vector61_handler Vector62_handler AssertFailure SECTION: ".bss" backdoorOpen backdoorOpenTime comEntryStateConnect xcpCtoReqPacket.1 xcpInfo blockInfo bootBlockInfo flashExecCmdRam flashMaxNrBlocks millisecond_counter - assert_failure_file assert_failure_line + xcpCtoRxInProgress.4 xcpCtoReqPacket.2 xcpCtoRxLength.3 assert_failure_file + assert_failure_line SECTION: ".init" Init _Startup SECTION: ".rodata" - xcpStationId flashLayout flashExecCmd canTiming + xcpStationId flashLayout flashExecCmd SECTION: ".rodata1" STRING.C..Work.software.Ope.1 STRING.C..Work.software.Ope.1 STRING.C..Work.software.Ope.1 @@ -2073,167 +2077,170 @@ OBJECT LIST SORTED BY ADDRESS backdoorOpen 3900 1 1 3 .bss backdoorOpenTime 3901 4 4 4 .bss comEntryStateConnect 3905 1 1 2 .bss - xcpCtoReqPacket.1 3906 8 8 2 .bss - xcpInfo 390E 12 18 102 .bss - blockInfo 3920 204 516 7 .bss - bootBlockInfo 3B24 204 516 11 .bss - flashExecCmdRam 3D28 16 22 2 .bss - flashMaxNrBlocks 3D3E 1 1 1 .bss - millisecond_counter 3D3F 4 4 8 .bss - assert_failure_file 3D43 2 2 1 .bss - assert_failure_line 3D45 4 4 2 .bss + xcpCtoReqPacket.1 3906 40 64 2 .bss + xcpInfo 3946 4A 74 102 .bss + blockInfo 3990 204 516 7 .bss + bootBlockInfo 3B94 204 516 11 .bss + flashExecCmdRam 3D98 16 22 2 .bss + flashMaxNrBlocks 3DAE 1 1 1 .bss + millisecond_counter 3DAF 4 4 8 .bss + xcpCtoRxInProgress.4 3DB3 1 1 3 .bss + xcpCtoReqPacket.2 3DB4 41 65 4 .bss + xcpCtoRxLength.3 3DF5 1 1 5 .bss + assert_failure_file 3DF6 2 2 1 .bss + assert_failure_line 3DF8 4 4 2 .bss Init E800 29 41 1 .init - _Startup E829 F 15 2 .init - xcpStationId E842 8 8 1 .rodata - flashLayout E84A A0 160 39 .rodata - flashExecCmd E8EA 16 22 1 .rodata - canTiming E900 24 36 4 .rodata - STRING.C..Work.software.Ope.1 E924 55 85 1 .rodata1 - STRING.C..Work.software.Ope.1 E979 35 53 1 .rodata1 - STRING.C..Work.software.Ope.1 E9AE 33 51 2 .rodata1 - main E9E1 B 11 3 .text - Init E9EC 79 121 1 .text - BackDoorInit EA65 11 17 1 .text - BackDoorCheck EA76 31 49 2 .text - BootInit EAA7 F 15 1 .text - BootTask EAB6 C 12 1 .text - ComInit EAC2 19 25 1 .text - ComTask EADB 10 16 1 .text - ComFree EAEB 1 1 1 .text - ComTransmitPacket EAEC F 15 1 .text - ComSetConnectEntryState EAFB 6 6 1 .text - ComIsConnected EB01 4 4 1 .text - CopInit EB05 1 1 1 .text - CopService EB06 1 1 8 .text - XcpInit EB07 15 21 1 .text - XcpIsConnected EB1C 9 9 1 .text - XcpPacketTransmitted EB25 4 4 1 .text - XcpPacketReceived EB29 E7 231 2 .text - XcpTransmitPacket EC10 C 12 1 .text - XcpComputeChecksum EC1C 43 67 1 .text - XcpProtectResources EC5F 4 4 2 .text - XcpSetCtoError EC63 10 16 9 .text - XcpCmdConnect EC73 29 41 1 .text - XcpCmdDisconnect EC9C 10 16 1 .text - XcpCmdGetStatus ECAC 1A 26 1 .text - XcpCmdSynch ECC6 4 4 1 .text - XcpCmdGetId ECCA 22 34 1 .text - XcpCmdSetMta ECEC 1A 26 1 .text - XcpCmdUpload ED06 4E 78 1 .text - XcpCmdShortUpload ED54 55 85 1 .text - XcpCmdBuildCheckSum EDA9 2C 44 1 .text - XcpCmdProgramStart EDD5 18 24 1 .text - XcpCmdProgramMax EDED 43 67 1 .text - XcpCmdProgram EE30 5B 91 1 .text - XcpCmdProgramClear EE8B 2A 42 1 .text - XcpCmdProgramReset EEB5 E 14 1 .text - XcpCmdProgramPrepare EEC3 5 5 1 .text - CpuStartUserProgram EEC8 18 24 1 .text - CpuMemCopy EEE0 27 39 3 .text - CpuReset EF07 3 3 1 .text - FlashInit EF0A 74 116 1 .text - FlashWrite EF7E B6 182 2 .text - FlashErase F034 DD 221 1 .text - FlashWriteChecksum F111 67 103 1 .text - FlashVerifyChecksum F178 8A 138 1 .text - FlashDone F202 35 53 1 .text - FlashInitBlock F237 51 81 2 .text - FlashSwitchBlock F288 4E 78 2 .text - FlashAddToBlock F2D6 BD 189 1 .text - FlashWriteBlock F393 78 120 3 .text - FlashGetLinearAddrByte F40B 1D 29 5 .text - FlashGetPhysPage F428 C 12 3 .text - FlashGetPhysAddr F434 6 6 3 .text - FlashExecuteCommand F43A 1F 31 1 .text - FlashOperate F459 54 84 2 .text - NvmInit F4AD 3 3 1 .text - NvmWrite F4B0 16 22 2 .text - NvmErase F4C6 12 18 1 .text - NvmVerifyChecksum F4D8 4 4 1 .text - NvmDone F4DC B 11 1 .text - TimerInit F4E7 1D 29 1 .text - TimerReset F504 1C 28 2 .text - TimerUpdate F520 1F 31 2 .text - TimerGet F53F 9 9 2 .text - reset_handler F548 9 9 2 .text - Vector0_handler F551 6 6 1 .text - Vector1_handler F557 6 6 1 .text - Vector2_handler F55D 6 6 1 .text - Vector3_handler F563 6 6 1 .text - Vector4_handler F569 6 6 1 .text - Vector5_handler F56F 6 6 1 .text - Vector6_handler F575 6 6 1 .text - Vector7_handler F57B 6 6 1 .text - Vector8_handler F581 6 6 1 .text - Vector9_handler F587 6 6 1 .text - Vector10_handler F58D 6 6 1 .text - Vector11_handler F593 6 6 1 .text - Vector12_handler F599 6 6 1 .text - Vector13_handler F59F 6 6 1 .text - Vector14_handler F5A5 6 6 1 .text - Vector15_handler F5AB 6 6 1 .text - Vector16_handler F5B1 6 6 1 .text - Vector17_handler F5B7 6 6 1 .text - Vector18_handler F5BD 6 6 1 .text - Vector19_handler F5C3 6 6 1 .text - Vector20_handler F5C9 6 6 1 .text - Vector21_handler F5CF 6 6 1 .text - Vector22_handler F5D5 6 6 1 .text - Vector23_handler F5DB 6 6 1 .text - Vector24_handler F5E1 6 6 1 .text - Vector25_handler F5E7 6 6 1 .text - Vector26_handler F5ED 6 6 1 .text - Vector27_handler F5F3 6 6 1 .text - Vector28_handler F5F9 6 6 1 .text - Vector29_handler F5FF 6 6 1 .text - Vector30_handler F605 6 6 1 .text - Vector31_handler F60B 6 6 1 .text - Vector32_handler F611 6 6 1 .text - Vector33_handler F617 6 6 1 .text - Vector34_handler F61D 6 6 1 .text - Vector35_handler F623 6 6 1 .text - Vector36_handler F629 6 6 1 .text - Vector37_handler F62F 6 6 1 .text - Vector38_handler F635 6 6 1 .text - Vector39_handler F63B 6 6 1 .text - Vector40_handler F641 6 6 1 .text - Vector41_handler F647 6 6 1 .text - Vector42_handler F64D 6 6 1 .text - Vector43_handler F653 6 6 1 .text - Vector44_handler F659 6 6 1 .text - Vector45_handler F65F 6 6 1 .text - Vector46_handler F665 6 6 1 .text - Vector47_handler F66B 6 6 1 .text - Vector48_handler F671 6 6 1 .text - Vector49_handler F677 6 6 1 .text - Vector50_handler F67D 6 6 1 .text - Vector51_handler F683 6 6 1 .text - Vector52_handler F689 6 6 1 .text - Vector53_handler F68F 6 6 1 .text - Vector54_handler F695 6 6 1 .text - Vector55_handler F69B 6 6 1 .text - Vector56_handler F6A1 6 6 1 .text - Vector57_handler F6A7 6 6 1 .text - Vector58_handler F6AD 6 6 1 .text - Vector59_handler F6B3 6 6 1 .text - Vector60_handler F6B9 6 6 1 .text - Vector61_handler F6BF 6 6 1 .text - Vector62_handler F6C5 6 6 1 .text - AssertFailure F6CB 14 20 4 .text - CanInit F6DF 9C 156 1 .text - CanTransmitPacket F77B 51 81 1 .text - CanReceivePacket F7CC 84 132 1 .text - CanGetSpeedConfig F850 69 105 1 .text - _LSHL F8B9 11 17 3 RUNTIME - _LSHRU F8CA 11 17 6 RUNTIME - _LCMP F8DB 19 25 4 RUNTIME - _LINC F8F4 5 5 4 RUNTIME - _LDEC F8F9 8 8 6 RUNTIME - _lDivMod F901 BE 190 1 RUNTIME - _LDIVU F9BF E 14 1 RUNTIME - _ILSEXT F9CD 7 7 1 RUNTIME - _CASE_DIRECT_BYTE F9D4 5 5 3 RUNTIME - reset_connected_handler FEF0 C 12 0 ENTRY + _Startup E829 3 3 2 .init + xcpStationId E836 8 8 1 .rodata + flashLayout E83E A0 160 39 .rodata + flashExecCmd E8DE 16 22 1 .rodata + STRING.C..Work.software.Ope.1 E8F4 55 85 1 .rodata1 + STRING.C..Work.software.Ope.1 E949 35 53 1 .rodata1 + STRING.C..Work.software.Ope.1 E97E 34 52 3 .rodata1 + main E9B2 B 11 2 .text + Init E9BD 79 121 1 .text + BackDoorInit EA36 11 17 1 .text + BackDoorCheck EA47 31 49 2 .text + BootInit EA78 F 15 1 .text + BootTask EA87 C 12 1 .text + ComInit EA93 19 25 1 .text + ComTask EAAC 10 16 1 .text + ComFree EABC 1 1 1 .text + ComTransmitPacket EABD F 15 1 .text + ComSetConnectEntryState EACC 6 6 1 .text + ComIsConnected EAD2 4 4 1 .text + CopInit EAD6 1 1 1 .text + CopService EAD7 1 1 8 .text + XcpInit EAD8 15 21 1 .text + XcpIsConnected EAED 9 9 1 .text + XcpPacketTransmitted EAF6 4 4 1 .text + XcpPacketReceived EAFA E7 231 2 .text + XcpTransmitPacket EBE1 C 12 1 .text + XcpComputeChecksum EBED 43 67 1 .text + XcpProtectResources EC30 4 4 2 .text + XcpSetCtoError EC34 10 16 9 .text + XcpCmdConnect EC44 2A 42 1 .text + XcpCmdDisconnect EC6E 10 16 1 .text + XcpCmdGetStatus EC7E 1A 26 1 .text + XcpCmdSynch EC98 4 4 1 .text + XcpCmdGetId EC9C 22 34 1 .text + XcpCmdSetMta ECBE 1A 26 1 .text + XcpCmdUpload ECD8 4E 78 1 .text + XcpCmdShortUpload ED26 55 85 1 .text + XcpCmdBuildCheckSum ED7B 2C 44 1 .text + XcpCmdProgramStart EDA7 19 25 1 .text + XcpCmdProgramMax EDC0 43 67 1 .text + XcpCmdProgram EE03 5B 91 1 .text + XcpCmdProgramClear EE5E 2A 42 1 .text + XcpCmdProgramReset EE88 E 14 1 .text + XcpCmdProgramPrepare EE96 5 5 1 .text + CpuStartUserProgram EE9B 18 24 1 .text + CpuMemCopy EEB3 27 39 4 .text + CpuReset EEDA 3 3 1 .text + FlashInit EEDD 74 116 1 .text + FlashWrite EF51 B6 182 2 .text + FlashErase F007 DD 221 1 .text + FlashWriteChecksum F0E4 67 103 1 .text + FlashVerifyChecksum F14B 8A 138 1 .text + FlashDone F1D5 35 53 1 .text + FlashInitBlock F20A 51 81 2 .text + FlashSwitchBlock F25B 4E 78 2 .text + FlashAddToBlock F2A9 BD 189 1 .text + FlashWriteBlock F366 78 120 3 .text + FlashGetLinearAddrByte F3DE 1D 29 5 .text + FlashGetPhysPage F3FB C 12 3 .text + FlashGetPhysAddr F407 6 6 3 .text + FlashExecuteCommand F40D 1F 31 1 .text + FlashOperate F42C 54 84 2 .text + NvmInit F480 3 3 1 .text + NvmWrite F483 16 22 2 .text + NvmErase F499 12 18 1 .text + NvmVerifyChecksum F4AB 4 4 1 .text + NvmDone F4AF B 11 1 .text + TimerInit F4BA 1D 29 1 .text + TimerReset F4D7 1C 28 2 .text + TimerUpdate F4F3 1F 31 2 .text + TimerGet F512 9 9 2 .text + UartInit F51B 19 25 1 .text + UartTransmitPacket F534 5E 94 1 .text + UartReceivePacket F592 50 80 1 .text + UartReceiveByte F5E2 11 17 2 .text + UartTransmitByte F5F3 14 20 2 .text + reset_handler F607 13 19 2 .text + Vector0_handler F61A 6 6 1 .text + Vector1_handler F620 6 6 1 .text + Vector2_handler F626 6 6 1 .text + Vector3_handler F62C 6 6 1 .text + Vector4_handler F632 6 6 1 .text + Vector5_handler F638 6 6 1 .text + Vector6_handler F63E 6 6 1 .text + Vector7_handler F644 6 6 1 .text + Vector8_handler F64A 6 6 1 .text + Vector9_handler F650 6 6 1 .text + Vector10_handler F656 6 6 1 .text + Vector11_handler F65C 6 6 1 .text + Vector12_handler F662 6 6 1 .text + Vector13_handler F668 6 6 1 .text + Vector14_handler F66E 6 6 1 .text + Vector15_handler F674 6 6 1 .text + Vector16_handler F67A 6 6 1 .text + Vector17_handler F680 6 6 1 .text + Vector18_handler F686 6 6 1 .text + Vector19_handler F68C 6 6 1 .text + Vector20_handler F692 6 6 1 .text + Vector21_handler F698 6 6 1 .text + Vector22_handler F69E 6 6 1 .text + Vector23_handler F6A4 6 6 1 .text + Vector24_handler F6AA 6 6 1 .text + Vector25_handler F6B0 6 6 1 .text + Vector26_handler F6B6 6 6 1 .text + Vector27_handler F6BC 6 6 1 .text + Vector28_handler F6C2 6 6 1 .text + Vector29_handler F6C8 6 6 1 .text + Vector30_handler F6CE 6 6 1 .text + Vector31_handler F6D4 6 6 1 .text + Vector32_handler F6DA 6 6 1 .text + Vector33_handler F6E0 6 6 1 .text + Vector34_handler F6E6 6 6 1 .text + Vector35_handler F6EC 6 6 1 .text + Vector36_handler F6F2 6 6 1 .text + Vector37_handler F6F8 6 6 1 .text + Vector38_handler F6FE 6 6 1 .text + Vector39_handler F704 6 6 1 .text + Vector40_handler F70A 6 6 1 .text + Vector41_handler F710 6 6 1 .text + Vector42_handler F716 6 6 1 .text + Vector43_handler F71C 6 6 1 .text + Vector44_handler F722 6 6 1 .text + Vector45_handler F728 6 6 1 .text + Vector46_handler F72E 6 6 1 .text + Vector47_handler F734 6 6 1 .text + Vector48_handler F73A 6 6 1 .text + Vector49_handler F740 6 6 1 .text + Vector50_handler F746 6 6 1 .text + Vector51_handler F74C 6 6 1 .text + Vector52_handler F752 6 6 1 .text + Vector53_handler F758 6 6 1 .text + Vector54_handler F75E 6 6 1 .text + Vector55_handler F764 6 6 1 .text + Vector56_handler F76A 6 6 1 .text + Vector57_handler F770 6 6 1 .text + Vector58_handler F776 6 6 1 .text + Vector59_handler F77C 6 6 1 .text + Vector60_handler F782 6 6 1 .text + Vector61_handler F788 6 6 1 .text + Vector62_handler F78E 6 6 1 .text + AssertFailure F794 14 20 5 .text + _LSHL F7A8 11 17 3 RUNTIME + _LSHRU F7B9 11 17 5 RUNTIME + _LCMP F7CA 19 25 4 RUNTIME + _LINC F7E3 5 5 4 RUNTIME + _LDEC F7E8 8 8 6 RUNTIME + _lDivMod F7F0 BE 190 1 RUNTIME + _LDIVU F8AE E 14 1 RUNTIME + _ILSEXT F8BC 7 7 1 RUNTIME + _CASE_DIRECT_BYTE F8C3 5 5 3 RUNTIME + reset_connected_handler FEE0 16 22 0 ENTRY _vectab FF80 80 128 0 .abs_section_ff80 ********************************************************************************************* @@ -2255,7 +2262,7 @@ rtshc12.c.o (ansisi.lib): ********************************************************************************************* COPYDOWN SECTION --------------------------------------------------------------------------------------------- -------- ROM-ADDRESS: 0xF9D9 ---- SIZE 2 --- +------- ROM-ADDRESS: 0xF8C8 ---- SIZE 2 --- Filling bytes inserted 0000 @@ -2263,7 +2270,7 @@ Filling bytes inserted OBJECT-DEPENDENCIES SECTION --------------------------------------------------------------------------------------------- Init USES _startupData -_Startup USES Init main +_Startup USES Init main USES Init BootInit BootTask Init USES _CLKSEL _ILSEXT _LDIVU STRING.C..Work.software.Ope.1 AssertFailure _SYNR _REFDV _CRGFLG @@ -2273,11 +2280,11 @@ BackDoorCheck USES ComIsConnected backdoorOpen TimerGet backdoorOpenTime _LCMP CpuStartUserProgram BootInit USES CopInit TimerInit NvmInit ComInit BackDoorInit BootTask USES CopService TimerUpdate ComTask BackDoorCheck -ComInit USES XcpInit CanInit comEntryStateConnect +ComInit USES XcpInit UartInit comEntryStateConnect XcpPacketReceived -ComTask USES xcpCtoReqPacket.1 CanReceivePacket +ComTask USES xcpCtoReqPacket.1 UartReceivePacket XcpPacketReceived -ComTransmitPacket USES CanTransmitPacket XcpPacketTransmitted +ComTransmitPacket USES UartTransmitPacket XcpPacketTransmitted ComSetConnectEntryState USES comEntryStateConnect ComIsConnected USES XcpIsConnected XcpInit USES xcpInfo @@ -2340,15 +2347,14 @@ NvmDone USES FlashWriteChecksum FlashDone TimerInit USES TimerReset millisecond_counter TimerUpdate USES millisecond_counter _LINC TimerGet USES TimerUpdate millisecond_counter +UartTransmitPacket USES STRING.C..Work.software.Ope.1 AssertFailure + UartTransmitByte CopService +UartReceivePacket USES xcpCtoRxInProgress.4 xcpCtoReqPacket.2 + UartReceiveByte xcpCtoRxLength.3 CpuMemCopy +UartTransmitByte USES CopService reset_handler USES __SEG_END_SSTACK _Startup main AssertFailure USES assert_failure_file assert_failure_line CopService -CanInit USES CanGetSpeedConfig STRING.C..Work.software.Ope.1 - AssertFailure -CanTransmitPacket USES STRING.C..Work.software.Ope.1 AssertFailure - CopService -CanReceivePacket USES _LSHRU -CanGetSpeedConfig USES canTiming CopService _LDIVU USES _lDivMod reset_connected_handler USES __SEG_END_SSTACK _Startup ComSetConnectEntryState main @@ -2412,14 +2418,8 @@ DEPENDENCY TREE | | | | | | | +- XcpInit | | | | - | | | +- CanInit - | | | | | - | | | | +- CanGetSpeedConfig - | | | | | | - | | | | | +- CopService (see above) - | | | | | - | | | | +- AssertFailure (see above) - | | | | + | | | +- UartInit + | | | | | | | +- XcpPacketReceived (recursive dependency) | | | | | | | +- XcpCmdConnect @@ -2570,12 +2570,10 @@ DEPENDENCY TREE | | | | | | | | | +- reset_handler (recursive dependency) | | | | | - | | | | +- _Startup (recursive dependency) + | | | | +- _Startup | | | | | | | | | | | +- Init - | | | | | | - | | | | | +- main (see above) (recursive dependency) - | | | | | + | | | | | | | | | +- main (see above) (recursive dependency) | | | | | | | +- XcpCmdProgramPrepare @@ -2588,10 +2586,14 @@ DEPENDENCY TREE | | | | | | | +- ComTransmitPacket | | | | - | | | +- CanTransmitPacket + | | | +- UartTransmitPacket | | | | | | | | | +- AssertFailure (see above) | | | | | + | | | | +- UartTransmitByte + | | | | | | + | | | | | +- CopService (see above) + | | | | | | | | | +- CopService (see above) | | | | | | | +- XcpPacketTransmitted @@ -2636,15 +2638,17 @@ DEPENDENCY TREE | | | +- ComTask | | | - | | +- CanReceivePacket + | | +- UartReceivePacket | | | | - | | | +- _LSHRU (see above) + | | | +- UartReceiveByte + | | | | + | | | +- CpuMemCopy (see above) | | | | | +- XcpPacketReceived (see above) (recursive dependency) | | | +- BackDoorCheck (see above) | - +- _Startup (see above) (recursive dependency) + +- _Startup (see above) _vectab | @@ -2778,7 +2782,7 @@ DEPENDENCY TREE reset_connected_handler | - +- _Startup (see above) (recursive dependency) + +- _Startup (see above) | +- ComSetConnectEntryState | @@ -2790,6 +2794,6 @@ STATISTIC SECTION ExeFile: -------- -Number of blocks to be downloaded: 6 -Total size of all blocks to be downloaded: 4711 +Number of blocks to be downloaded: 7 +Total size of all blocks to be downloaded: 4448 diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/blt_conf.h b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/blt_conf.h index a820e7d0..a36ee208 100644 --- a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/blt_conf.h +++ b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/blt_conf.h @@ -74,7 +74,7 @@ * */ /** \brief Enable/disable CAN transport layer. */ -#define BOOT_COM_CAN_ENABLE (1) +#define BOOT_COM_CAN_ENABLE (0) /** \brief Configure the desired CAN baudrate. */ #define BOOT_COM_CAN_BAUDRATE (500000) /** \brief Configure CAN message ID target->host. */ @@ -97,7 +97,7 @@ * */ /** \brief Enable/disable UART transport layer. */ -#define BOOT_COM_UART_ENABLE (0) +#define BOOT_COM_UART_ENABLE (1) /** \brief Configure the desired communication speed. */ #define BOOT_COM_UART_BAUDRATE (57600) /** \brief Configure number of bytes in the target->host data packet. */ diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/P&E_Multilink_USB.ini b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/P&E_Multilink_USB.ini index afeb0cce..a569663d 100644 --- a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/P&E_Multilink_USB.ini +++ b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/P&E_Multilink_USB.ini @@ -35,7 +35,7 @@ Target=icd12 Layout=C_layout.hwl LoadDialogOptions=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main" CPU=HC12 -MainFrame=2,3,-1,-31,-1,-1,200,200,1640,967 +MainFrame=2,3,-1,-1,-1,-1,200,200,1640,967 TOOLBAR=57600 57601 32795 0 57635 57634 57637 0 57671 57669 0 32777 32776 32782 32780 32781 32778 0 32806 AEFWarningDialog=FALSE diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12_Data/Standard/TargetDataWindows.tdt b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Boot/ide/hcs12_Data/Standard/TargetDataWindows.tdt index c63f82c68174d72d8fd9a47f7ca3ffe84d14e53d..8954f63b76eb04acf6aa90647fc1e6ec5683384a 100644 GIT binary patch delta 14316 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 delta 19807 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 diff --git a/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Prog/ide/hcs12_Data/Standard/TargetDataWindows.tdt b/Target/Demo/HCS12_Evbplus_Dragon12p_CodeWarrior/Prog/ide/hcs12_Data/Standard/TargetDataWindows.tdt index 6735bcc66d5dd90fa02a78d9ebaa2917bf44c97b..0b008a65f6bbe26c132da90cc20fedd013112f6a 100644 GIT binary patch delta 5695 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