From 7327ca4fb0690240454acc15c2edc052baeffbd2 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 30 Jul 2025 06:39:17 +0200 Subject: [PATCH] updates memory map and prebuilt fw --- .vscode/launch.json | 8 ++++---- fw/hello-world/.gitignore | 6 +++--- fw/hello-world/Makefile | 6 +++--- fw/hello-world/hello.elf | Bin 0 -> 66276 bytes fw/hello-world/prebuilt/hello.elf | Bin 64360 -> 66276 bytes scc | 2 +- src/vp/system.cpp | 6 +++--- 7 files changed, 14 insertions(+), 14 deletions(-) create mode 100755 fw/hello-world/hello.elf diff --git a/.vscode/launch.json b/.vscode/launch.json index fd317ab..0dd1d4f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,9 +8,9 @@ "type": "gdbtarget", "request": "attach", "name": "Attach-to-gdbserver", - "program": "./fw/hello-world/hello", + "program": "./fw/hello-world/hello.elf", "imageAndSymbols": { - "symbolFileName": "./fw/hello-world/hello" + "symbolFileName": "./fw/hello-world/hello.elf" }, "target": { "port": "10000" @@ -29,7 +29,7 @@ "name": "Launch VP with gdbserver", "cwd": "${workspaceRoot}", "program": "${workspaceFolder}/build/Debug/src/riscv-vp", - "arguments": "-f fw/hello-world/hello -g 10000", + "arguments": "-f fw/hello-world/hello.elf -g 10000", "presentation": { "hidden": true, "group": "FW Debug", @@ -42,7 +42,7 @@ "name": "Launch VP", "cwd": "${workspaceRoot}", "program": "${workspaceFolder}/build/Debug/src/riscv-vp", - "arguments": "-v TRACEALL --isa tgc5c -f fw/hello-world/hello", + "arguments": "-v DEBUG --isa tgc5c -f fw/hello-world/hello.elf", "openGdbConsole": true }, ], diff --git a/fw/hello-world/.gitignore b/fw/hello-world/.gitignore index ebea2da..3c1acc1 100644 --- a/fw/hello-world/.gitignore +++ b/fw/hello-world/.gitignore @@ -1,3 +1,3 @@ -/hello -/hello.dis -/firmware.map +/*.elf +/*.dis +/*.map diff --git a/fw/hello-world/Makefile b/fw/hello-world/Makefile index c7efb06..376bd71 100644 --- a/fw/hello-world/Makefile +++ b/fw/hello-world/Makefile @@ -4,13 +4,13 @@ C_SRCS = $(wildcard *.c) HEADERS = $(wildcard *.h) CFLAGS += -O0 -g -BOARD=tgc_vp -LINK_TARGET=link +BOARD=riscv_vp +LINK_TARGET=flash RISCV_ARCH:=rv32imc RISCV_ABI:=ilp32 LDFLAGS := -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) -compiler := $(shell which riscv32-unknown-elf-gcc) +compiler := $(shell which riscv64-unknown-elf-gcc) TOOL_DIR=$(dir $(compiler)) BSP_BASE = ../bsp diff --git a/fw/hello-world/hello.elf b/fw/hello-world/hello.elf new file mode 100755 index 0000000000000000000000000000000000000000..416242266bdf2f932188900192ae481d1a8ac09a GIT binary patch literal 66276 zcmeFa3w%`7wLiYkoS8W@c_))6A`S!sB9A~o6a+#D2``oM6hy`_Ngx_R%!7wj-Z4OZ zVXSC>v~bm0>-Fbtjn&qA6)l4G*IH{4thLq_mD=8`-WEj>!vFi-`|NXOl7M3E?|1*7 zOZ1$x*V=2Xz4lsbuf5M>HftwMFEb27=s%D6yRf0~2q34Q6cQdG!onv8h#ZkEOd;xT zF47!AOty<&T*)i>({KW?@c0Aws@M7q+%(_F%e$=5j`+etwv>#-Dkd~HXOjM~eLT&- z@UDdgS3Q1J*`foBsv{pq8b!F!*kz>mc}b+@7u?@r_TSU7ZON0{cT61D(opKF*s#v6 z%kTSGOueQw`)}&F`)7veOs(tR_#8=ZOw^Q=^x7#T{SZ2B{9fzHQ){IuD2-)G%YXQA zNB5d3>V2OpZ{Nu{d5^@(^S{*R7s_h+;m11i`|Ro1SWwy#I_MYc%b#q0y2b3br=x1r z#{S+8RsP{9L;S6Hv9#*N*ZJS<^TyQIFMDm~fw}t^yt3%!bt1pu{^Q^|e$V)aTE~53 z{j|2cL}5%J=GC#lY+XOKeaRFff6$TR?T6qVK>FO99`^9wZO^xDoY##IFbXw=nsdFZv@r2mf^D}#q{?4NzJ1kY9%Fk zo^Da&v+9Kp(ypGN%I~1O>+<#G<65*o+$g8?ZD&UStf0pTE#i!*vm?MBrC;3$P_g&- z{%N~)%*JOq)V$ESrfdFK{8IHV)`?F?s4+V9Rqzk@(VD(6kyaB?7>XCZru7wMb-mi^yZ?A zUJ&iAkBfHyC*twe{Jw945@WmHCQ$F`ApiL>S!+VNe{Y{XBA`Zk%Qrp{FQ*&g(c(T* zb0gi&h>GI7TR#v#NOiMbEJc1_JFjB|M1OC2V8xEm(WB%4cX>4PsPK*7vP)yWEiofU z`H;8vbUa~+btiH@y=`2}gz*6YJxdyI zw+b6)6k;~6wBe_^HY&L1dEtK~`$`WbUjWV%1p)OdB0{i{)X!cR@qe-l58Bcud zdZzTmp}M2THuf()k-n=1E0afO^s!epI{Hj-oL!mF3TMaP|LyU|Xx%Zf?dZ`|cSPy9 zRCPaz8Evs6ha;tGd_KnTuw5)SbA=+a=(9^cz3s$7ax1wy;$ykv#vNw;{Jvf}_NEMY zsP%{cXCp@=u>E#%Ox0j4kK>A`BY)jtfjW+_PInHxUn)JpyF<+AD~}5Dos0XeKmMKc z>AOzMiye7x&d@6X6L)wU`(fqLZ%@bb7oxpW+(ERIN3ElRt!$AigO>92UA*5=cgf0o zDr0^iX7t#egY`jct8e3jmM|YI7n{p}QGWZh{nPHgJbysuiTr`y6ZwPgKb}7XIVgG=0u8_SP$oXE*Xd1Lw89b2ujHGE z;yypJZ2A6<@0Lg3gEvuv)+Qt6V#px0QbPHlYqR!r_+SCH^!<^l1-8c0v!8KoqqU4( z-Dxi0q`a{MTj8;+qllV4b`C z2iBvK(xF+$Js2f&?A}x^<1zDRJ0_+-*cGQ^(_OcJSqa0g^Z%jG@7Li8#r;RnizApf zkK_;7eeuew&VL*beB3^a5Hj(c?oCj$&R07BNPd=J)m; zb)k(9>^q9c`sko&v+8|$yYQsWd~&u$1f+`^yD~L84&K#+WjvVKfc{8w?urdMGK6& zPY+Exig8i;8Q@Qgthb7v+#a&t@+jKU&!8c+ky`aR(vggeQ!4X}w7;~AvVST20tzLm zwBu0iQF*8G_>6+t+4FCjUjz3JO8Q1YRdEPDL}c%?modDS}Z^5Tg;#$OCCrI&oz@g6dQ7t%}dbnyh{xqRe& z$mxjw!D7ah?W(a$Y`gVgF)6+;pJ0A}m%1iD_%9M3jP<;VV$CN^nO$rt>#PmipOutu zoBb}yFSs9>aTDgS$E2P4tYf2X>(!SG#+Y$?KkPwzSWBNFdsKP?ZDO?a{weP4@oe~& z*(LM&Ea$42yPD~{)Ar2Xll#KL7xD*rk*_oH#=`626K0Iz6Welhub;jNt)EywN#%%s zcV0J)YZ=a|6`dsJ4|?o)XPMAU&Y4m+MipZ2#J}XoyC~)r3y}}`n-B%I{M$zklRWD% zM8J!(J%{QRA8J`&W|SF|F5QJ^6?+Pv8`W2YpTN=9y6K{jchg1Z-aK`;e{XP8+onwy z8B?M;TRf~Km7>@K3a9qmE%NEm9i^Tre73ct*caU9-LU<=Cv@r4XC|aS(O-o7?4g8E z>prxx=c2ru3!YPL?7JxaZ9ZSRLq1`;F|#eFuXtelj)@z#zk^XF#K6t>97dc4^256@ z+latx6HiROaZdEvKYQD9`-^BG;3?XeW90Y!S-|{mYp$=XDEnRUwOjJ<|6Xo>-`}Kd zDU0U3CNN*+{`%JZ2M*@?tk-_Fcl*uzj7b~Tt-kKEmuCKA?u!dv;GJs0D^p)yw0Gdv zN4EH;ZR{(=`WJQ=hk{2=CU^_(j9wL#YoI%3d*=Ub%HpZ7Of8xA=rlexk8TMfc1qKt zEu)MZ^RCPM?K7_xFD$+>Cz{>g%)hs<@zKGJ4{XXU%DKSU_^+kn(_6Q^zhV1p#q8Ii zUMoL6)OzIj*PcO66n}hX;{$tgF=7JEw;6|LB5%C+%n+P^{mkm?=DyhW`XqxIQr`tH zwB7l<@E@SIZO4wS9k^-uHy+>e!*!w8KQf~06MD5-AFhqI9P4wdw{705#`Cv5;aw+w ze{(2rq-fjPWB2-Lp@UP5(49XQSPQKkwyy2BpBhnN^^siW(Sj6k{myvywo%}^>gG0o z&hECHF~TT+{9A2zT_ApY>-lA&mL4KH;Xq-qtbNjGBRcg!-xJxsvS{;xf(g-3%HL0h z<^_$m*DRxG_0Nr>llzQz>pinQ<**qd?xq3eio1s2-R{pZqm8c_-@2=9X22*~^@7oU zbe|EL>otnj>@i9Lh@^UQSt1OacvVS+vZtD zTk4UMh-DP)e6}*Q>Bz~7+uHxWQIuHift8}&>@bUNeF+*LFpK;jn{9tEjfT4( z-5LG+uZ#!2Q*`t;p=j^AtJn6?ZS7BdEWWk9=)yzd@wt zvR8`vH%EWx7omeWqU9S`-PV?K#Q5!PzI6|6o!gT4P|Pm5oFn4BXQaGyf?|DXTf&EHw@mwG`})%LQ(LCJ_tSw}h`D9jvp;QLQfYku zS6O@dv*!5C|LKAjW6(pb zZ8yy`t}B-<&O3+}i*i0giDbbXnxd{X=Ct;8gk&;KdM@Bz`b z!awWzcSEcEeWT|EGD0hE3LFyt*I#PEi1r-JxTP$ba4@5#ESh*QBjo>Re00|CK6VRc z+53&(-x``XLJYT9I$Nku{=+?angUeoNIn=uM&)oxcN0#OMPGc^8}hv~q3FP2(Vl(3DEj92#IJ8H8o5ifAASIq zdt0=9yi%-xsqN#VBE2lSc`sI`<)Y~Ej}aq}x3*=sis-NW-nQ(6#w{Cve{1qaqwJO^ zTIO!MH53q@_PP6oQ5N-EM#%rp#G>py;;LJVF5C^tdofz8o-oSSmxW+Y-!r4E0N%)d zxOV-dtS4ArU-rvqSbM2F`^qkUB6M()F)EOT?E1+`W`&Udt?~bP+e0^nF`O?~+$Pu?%qc9`1`Gx1(w-(L$2rah`cxb!%yd{cS z9w^?h4qh_;Sbk{DJI9|b|LrsUBB87z+O)i(rlK}n(-`hoiLd>Im{eC8US1upT2&Qo zZmL;cM_gr9bwzV+Q+R1bU1e=mgQTmeYpQB!Xs(aNHZ@e#vogB8p(fA<4L=YxN4MNvf+AMum1u^tgQd8W%2RJlWBIpd!pQ(o*&!&X5DNY3vGJB zr8dv>7~C3^VP^dGEf$8yW8%+i|M@!o`9J5+`Un34|BwG}5F$LG9HwZfX^gHA##j`+ zX}*RPMZ;@`*AI&<8(v=+iSl%PO|-E=6{@T1qE)B{a@n%x+F|vDB48vWmQS2GIy@lS zu)MLcY5DTn!IzbXhYcBi;gG`f!^4V(3?EV`{sieh;T1!0#jk%pOG)O%{_PG5=i$pA zAuhz>K{?e^LOOX8K30XzB*XLv@v_wP1Oqr5F=tQE8-r10o;6-!Jd(yOdu^`M(fhhc zPO&jcnsWvg9eNubI+I>bWiRCky}aG-r6=e}MK8a~@;^_q(o@TKEgGx8*}dhyf2_VDxJ%24O< zJmoQgu|w>0I$&M{cAr^K`{dd9)Ob9kkQ(X)nG%vgMYAv=lPdxBylTIgvX59mQ%BIM z$roj9QwT%R<3}BP#n!2HHstZDwZsEoq-n`dPL$Y+Wor`vOs(iYCcu!*oq*&=Eg2uM zHMD?C#S49quI|Ba#+kgDPL;gy(bcJwmz<`Peu-QZlem5h(8H4{E4oWz?=z3NDXchn zHii99NMXLOnZFit0_RlAQPbBRHREt){EoD*8Mrczb(~K@oO6uN1)e#BD=)@>jZMcD z80fuTUx|6YS}8FFG4vDVa8cqeu*($Xvxf?sz@YH@uzG5g!ZUzjg5XdjC1zY_6~$yh z#W>ul@Od_D0j6T)<*?-ngu^)qn2Pp;43BxEl-JXiNBSgnw-%Q+ARn?YIDcplPCV}T zM^+X|ADwD|%8Kp=Xs0#C?xeE=^nb(vEi+$M19X-h&sDfGewX3Oc%N!|Wem@=>!Wu4 zHMnwIT&J!Wh-1x%)IiL1hJ?CVQA0tI>!mh_LSD=;$#SA>o+pJ4B*GRd=vQCxDW9a(Xbi{cuo02EVw4}V) zxgPS>pk0Q+${BUisRk`>7lgpVO6XevIg9$v0mhIguJ=7$>YJP=P2U*Y;*L%e;T*Zx zV&`cVq)*jggWcfipBb@1^~`8K8*l6zp8;ge=KC#LH(H66ol(!^|)-INQ5 zAKI9~FqI}P>Y+H){HCq+nfhiI6_%&Yz6nFkp6Mc-E0>Wf z^Q*wpA)JVyp@M^D1ONprfH?4(#ET zGcU&vXJFH|7gvxRBj+o7`TE#+M5K)QQ8rv?Uz2f#eL;;ggN6%L^iK{GIrpLD1&)11 zc&Sm^Lss7)r^XPu6cdc$XPN;qjBz{GoHR!DsX|LWHex_Cq_jbt$3_W$K4g@qRFpi@ zWi*X?Y{VGz=JKAMfo4BN%7T4TG7xQvcxYfNJ;~M&Q5D}enrRwQEL>o_l`C&O;WI~Q zdusP{MMG0$*;2`yVV6nI*e1>n3tu5%;)jEeej1M}6LF#KA1-g$o)=frG2U5EScRd2 zDUV@yp)F6}XD~cL53EioTr3UxLR9_jNq~1BVQ?iQzjCbQ*nQN`y=Vir9RwY9O2-0- zeIXzF8iX8P^-?SqLxp|Pw&G(N_D$c_@UE2gMe0iH(GBPZiuxH44eTYF8u6})LC98; zZRu%%sg3>c2P;PPFvvm*>3Y>G#it)W^#YCd zI<3Lki0zMoT*@auuar;P6dSLXnAw0SHxYE~JrfAqBTPQtDYBmZB0h{h>xW+Y0ig1N zYFB4Q-4A+8>8iDuAwLI8f$QajGq z$_h6~YHCfX1-2Fe`$>k@f^p7zJ>N4H80Um}iu@1Tj--k{Z?2dIeE4-=_bPkUL<=N0T(x*2d<;FwB)J;+1NNpG)M z%#{+GV5Y{^(hi!6{nOkWGi+au9C$!RK3u@4fxhv03~A!oy3Q*JQwpE)u-=~45H)VJ z(hG#yGJU6Dso7H!y;%2=ax){={Mfvr&6LwgKmW!dSr{892s3zL)b=#@mXb*-#m zDy1TZc}yAVd>|-+Yb0b3oOR4GH|cogGc{U>?9ABqGc!f4^pVfMXakNsUdao|;KQ7} z++I0da;iDm?2Re)EgXZf@RQ3t??FI@JgorESj!5ZfthxH9%kB$loqJ)!Ru>-EHF^e zJ9HUM7TIf}QKxP4bx7@p1%Yf*Jv5h3&gHBxTYHnO^>SK66OfLc+b!Q93+KUAbdh1+ zAPq>EMld;!Xz&CEBQfc*VQS(|fXJS#r9er~8MS+Q^i%~Fvi(ZwH!irrq`a%Anoh`| z)Swem1#m19R505i+f!#^wpU?5L!Ml-mG*$ydVG%AdfM5PW|MY^ff>K7k29lAHAKP~ ze%Uh^}EYDoR#(3CPf2H)f9}^vwwdhJGBjfz@6pQHk?o{E5ET?1PA%ASFyXn|3)TW_VUQpb-6 zFf?Ak%#c?}MTAYIc=-mI%M7P27QF5NQB=GQ)Kt`rV)Rl~I>>J>lRa|`81$Qo660iA zPK~7PiQLI67ie*UkG2`2gl3l|8=ASxKJ$gQbso zl3}*t9E4eKCqiv2aw$Oyol+#EaQ0b6*O}sFWGR2gN$Vnq@wLiUAs|g;0H&!-tWdcc zh=mzPonTrE7Ij(yt5ZhLY#(CC*(DdJN=)8v3DW`SY;W5oRoflzeA`tZlsOZ6uxPh` zD$B*&04+NDekHoQIpt<9#hs1EjK~Wc_nX2#qeSsUEUj z>EL7#TAq42TMw;Gbt(0#B->2<8jIwJvey#N^@kgsIc*rXRgD4XO1k# zs$60#P2G}P%g5-dwnsN5J|b1Mymjwf>aJFr*A?g*S~;g5#3;8@po>$15|4A~l$0<% zr;u*Ty&b*soe~>SDttAi0?1RUvZN%lguLylG}JD3ov{(^7uYwxC}L5!#+Js16l#3i zYY0?#SK>%l{botE@0Q$AXg|t$^{>&t#rS_vdlH6oF&Yt%^Vk7|WG-(g`% zInKq|kL92POG>m`a-)qNRPtP3p66;qr1H8%D$4l2DB1MCs%1&Ba1D*FP?|FD1*!^X zMQTq`4m?QJEAPnFCW`ihc9gpFiHrO1>>btpFXtU)%YUkOR1;s&I~Z69HrxcLMUuYt zfq#a=eTar`M;_NNY93@sxu1dImQ);Z#i`WMYfmLp$1tNo#X3uhC%&Y{iHl>9DLS{r z_*Xu0OU%1Uo9;5Oi(3ggwQ^!fN&eC$-ZQA@<0cHaQa#mSiMCNav1NC)s(sH33F>Cl z#6un4)2?CHP^q$rd<3B+aow-{*hbs)82A3-1$&nJ%upb=XmnjCVB&voHHyF zJ8nU3>`GAG5UlDmQqkww{^Z>|)xTp6h%kxGuFRP64A-^URd zKVZ}?D3?%5_7F!lODeGRVh4{8Waz;tk5Nni0EYwJ8}ntlCwnIQIJ7a^P|*}!I<#ta^xB~-mp5En(NI+}^wKGp&73rA z=*%gzCe9r^cgE1_l|z?S)z&T_42s%HF=WWl#f|kttLjz^6^%_54NXI4iK@D$hSj)A zx*^e6nxUYtsf*S&S5^&OR#Vqd)i|`WYDG;H*CkbTUyM==U0&Zbv~elas~jqSxi*+T zU5hTQsHuaPXmnW7(23CD@>xSK9x`&M{E^&+BL+9uU0b(&W!>Pa+Ujm`jjJ06JE~Pg zm)6u({aBmL}OE>s$yX|Ffkrgc8aX1htF!7 zI(bss6?I>M`n5HS>9=m(qJD*_g9b5Hi7r6R=DHe`Po*znGP1G(KhuTM&5X)Z^ow+e z^2$zqgAJh5O8hQ(C>%6YONup3JV~6@;;V+%G*&bM(!ATH}D=R9O4UIMpu3Iv6adS;=Ww(w~ zHS#x+gDt*crI$}?@Ku_0=6>Wgd+9l&*HMU!pXGgSYyQctI% z%Q$$%kfI@lLxvX)FDe{1yf98XJJSeTJ(`*7p1GOb=Hlebc(6z9SJQJ!JYB!L%d^t^ zOwNrQPhWJ5e|7o}t%eB@%wLT}JE9_yFA`I(U%o&XFw2OBDok2mSpYc7Mk{J-zmUeK zbf6mKgQL;GNYaC0(u&${M|}KXhQmSrWlYbhKyeRkTwdKYxVnBQez9IzUG(KV*;Smd z#lqN?%bOS1R((0EcNL6yTh(0GSXtfpC8I7zq_V*9f3(j+%ULRV%LSr=#UdA|>M#5q zS;_=7mFRVvh#2EtocQDR9mZUgT%xg%;lnrZ1AtAt52thG51~=u@1Al0AYQ_X+hh3o z5wW=jc<%+d7vthF0v1pnkFT5r9xIEG*T-*p%*iNwFVCwWo!7dTH38o>toa&wj(Gr=04p-r zFF=2+OZdc02;4|1s8Nrfvb9XIrhvZGoa@KvM1k zrF8U;6Cg5bfDciyXWK%>mSD3j&HDjJ`2l~A8c-!BDymu`Qho)_oS&d(G$^WZHFk_Z z3r0iL65+|Yh-J^V>HcdF2AArh8?EtR`PWE}U1@Hoj=>+ofaP<*vs$(K>0 z_^uWyhrpLi=q|9S=I(RYl1Iihm*O;+Ity%pE1Z@NI4pr-aV-VL>y|9+?OZ1(+Eefn1jz9m_R;&BDwd0 z_FOi_KmK;S2Lk>v9RJJ&lBW^~5)E^Qxf$<+^DiS@}6W);{b5y(Et&w?s&NLKbC6~&2^@8V0B&Hmv*5l#VU>`1*A zb&dXq10sBrL@?5<8nM>e01$aD^aiT%YYmY&nW}%?s*w1l$e^EsG)lh}g5(BVjUDYk zdFx3SJ&!dI;LVX>p#qm0jrFJ;ub@hiisvyR(lZ4T`bY`ChJ<{bWBcMuH(_4c^FvFI z)zn|0eooK3fw)4_<7vG}WWbwqlXlA%mx`1hfoNvWtsqjp415O&^U~y1z+^}^JiQd& zwO!a6u2~r%e)$lgLb2Qz%Rme z689sZLhl3QK33M!8Zk6Q^?ABgyId67z+`xmA2^!*(pmcy=zB=^H^FW-R5gkIA+|;J zg5#*}IoX8obqFoESrVS>5N6A%WH-nz0h!9}<3OgT5|%NQB-&F63FTC>9*X41siecF zr;-&8U&aW<=S(Gv?`n}PrxHSUgH1K}za6&Zk#WtXq$sv4M2?(F7C0^OlVYV|U|3vB zf$_Sf0H+e8JaYh;RL0N3m{Do4d`v78CKEf})MR3m zzJ_F}#5Xxq6XL~BaK&>%F^Z-5C&8%1f5%}gcExi_F~(%x3@SCL$nTeB<{vXIPWv&_ z9ql=(7^9{5dN8WYf5H(zy2R0*x!xF=S>lKvj_E)dXJowik&gI&_Qb;GI7h@!ELyaf zi}pCNRKZ7TW%^?@#=l}@l68pH>k<$|F)LI57hIY8Pq{MncegT)omi}{6H7o%EE)Gf zGr39)sM#ffYfd@41k~)J7NywNT=+P37-?C%aS=Yw9Y%U0EA-?cEA-?+z?nQIgUXpa zSmR6{1Tc9dQx8(5*pr7u%-4vR$%Bi}1Xg5b;?vb1q2T)~tZHh#9wLw~mGt_aAdn$} zfbVqzAqgb;_7TXGK$LPP!__QNLpxPhq9T`6Smzq`O$`7Cum;)0sKtY4UvPxVt+Nwf zK|8*LjODU+Y3|jKbQu`)uDM3|lG1es76Ha%j{w6liDBgpW%@xn02!g>-Y1o~Rs^1fn!%62X)dSF|B|R<`k-bumzUbi!n%Wm*FFUzH6ZaeK(%0A zJ65;AENNal^*+0WRGD0#2Q(LKD%+K4HmuWGj!CX0WO5BuL9rwzS5HQAE;z@b!q{D3cRZUU2P>(35TU|3vRf$_R6 zxmGvIOTeQNU{9D==hs*s@jwlAY3-B;zxymMkuYBxcrgkgHW@eG4(dKW@cvJzSQO0z3bA z$*gfnm7_E^sbMeX5xM9z&U8io7;=!CbXoI!T(}QTzYtOFJ>7{<>I}e@aEYo(^`@E z6vSBlz-`vi)mMO7Me)xyvspJuG1m%f0tv4n;Ux~?-yFhgCTPN>Us1c9^xdF5kfJl% z1x|9xxrk+?&_Jj4Y2wvjRF69D2A}Fj)Zxn*q4;Wjk}so#4S2R)Es~f(J;}1c;ZB1) z9LD64aSggFRQ0gqNV0D0R}M>HSX^7~3N;&+s$T;NijV^KYX7(KU2GW_5ogI@r<7B(b(!7{uDf3`_^3;L_ z_pW8~+=H81-+chi6>t&%xQhl``&l~rp^~Se9+DdBA*rDrl48S=)r-utE@8cPKtYD}|9Trzk_`TIPfO;B- zNpe$`@Vt*{W)IH6geb}UL6T{;jU8TOfgWVwB8N+>fn>y>_Hto$Aq9B0RSK~K1)5-9 z0EqhloQrReD7=+S@3@Ry~8K1EU%s3O+UA4RC#q9__lJHSU-IlS#2fdA;v<&ZA zMJY^2{r)%f^Gf{|+xl_O4`#iGzLp)?L0hUFAe&7G_QXxqQ|mpGA2O zJr1#LnB7x6f{DTPsJGa5B?wI~Pdpl4jZfWst*DNB5HAiTfCDVQMhi{)db*5BBX*eDF^-0i?&HcG-9a$yA0 z6^KZhVMo%;1k6e@lD=nKfcu?10IpA90lR0OHI$<6L7}e&-fjoJhj(X)stS;I8&!e0 zsPe1>ovCgzJyXGo2xCA>gCn?ZWSPkU!LhF<@L+hQX!emvj0~+{S2oZ+B{LpskNT!WliG!3-(L!$7_?k74_nS#ESrWwoUd0 zAmhUzX|Zq-iPr;snzbE|iuBtgf32?>bc-!kVVd!MjZm_JDt&zkWh&@uAKxS_K1V?d zeUAW&255TEwks2U=fyJ9oSiMg2^px^>GS7^aNgnyObc)L{+tW+2%ul}J;ma16o2D; z7)8;8ol+iRN%)`Ti6#iPgKAvn+)NSP3L_dj?xJ;QmvIAV7jxUgYo%ev$;GI-?ZLGk z_H6tB5}Mm~tu?6r_+eDo+_qz_@iufEe~AL`UVBc!C^mb8G`UhtNFq;ivnWaVKB$Ga zSxn?_)6umnyo;Nw#btqSOQAnr>w6DUF3b3t6#CfOl;@yd34kipduznBB+BO;m@*n3 zEe5bw)qE{Q)hrb~zlE9$Q3H2fkwQswPB#PIei)FcH0i_ON#mFj!OiHzz|4k_2)_-` z*l{u1mu48)SDE3BHPQ?NWd@I<)l6?SRvS-=s zwURx{W?w3L?FNChGRU-146e&0*R|wgmPqNTM%O}5ok$r#B7}?YZ9jZykGooN9;R;* z{F9IRF}X6C8avo%Qo7O^b6hs!o3s1}Nx1Tnz`0w|jovu8lLjU}aSxWl_WIPG+4VBj zUb~*@1aEl*-mgP&(4MOj4zjCWPSzfu|3O^5sZd0C-v!?A{*8SWiJ$S3jJ;rl;DqjB z!PCrBqdtkGM9d%NbV;PuH+Cdf*9qgIG}5AzB88iFuocr-U|`FuD}(o$-%TiZaPWh` zEF|VCqY%~aY zIFf3F(OW`QfP{D*2YWm_MfZ3s7}#TO*ul3-6MOwX>G46Rk$w}}_xuH=43-k)I=6?R zHPgN8Df{y~P_TFBO6V{kA>Oeg{WJ6~QTp=@2xITKMaLpg3_K6LQ?tMAmn7RuUoz5@ zy(uFRk)G^4n%wsp+6x$$KaH~IYrxM)U{QE7Q2ttw<#ql+D9>W3;s&iR%5z!v8p2|f zGw=f(CwQ=py4#J#3Fwrk7s}BL7KLXl%9VZ&4zH&Kpx z;CU#4We z8`;>wha;f}1FY%6nm&LtIYx_v)W^6o0UxZ23GDF2fDU zn~a`RldCvkuE$A4JSvRK(!eYoy#-u!^Z-`l@3}Cf#5p?gA9Hk)H~GJ#qvfqnCr5kf z=oH)0sdTi*_H-KlaY4L_lHL;O7l4e*5O{GX@de3!feCWhg<{g|N+2`oHjy=-WTggo zMtK0Rv12eCkuC2yOLOSxS3#D8Rat31{mE|z%z9BK-8TV1?mZMxo=GpW&#MHX$e&1NkBdDMqL;)J?Ajtn>BTnA`&3w8>s7f z{W&6huCc(g2?*h3@Oamw)T@C!Lya5o4MZkjW5;+r3BDnO0DT^LQwlsOr& z<< zUS$495M$k(Y;j4FRbAU8%&7_2qMW@7v%GnQZzaki=Mboj-UcglSMbgV-A$|z8N{B1 z2@@BKo-D6}myAE6k$fg41KrMj0m6)YQzj|@gh*8MB{M%b0@SD=E|dUODX1BcaU+`T zyAhQAm@)7Hh=O(j@|QqLKT4U615l%a?om*cf?fn6?8WnWEf~pjh!QQ_DQ~{;55&9)MB%%KTWHyNY(rDgtbT|v9@Z1CRK>9>@@4;z2 zaK;mmFpzC626Ny$=Zf&R00dsJ3&Q&_D0zP=xi3)MoPBT9+!v7hHgc!+vbjgw1#D#t z%4x8S=SmO^;v9|N4q?GUL*7mlm46Ba<6#X+x1?!kKkEi*=q(hy{UBf(-Px$o|3RWh z&^swEkO=5e^h-iJ3H?~t{ghB8>$pbWN9a}75&8|Gh^{+E=-+i6-m{|Ri_r43aV=*6 z@3!2Fkkj%cLQczH1LSd9c3ZuQR8FgHgq&7)0utV7Xmu0~=JfYpN#*qS2|`Y*9};p} zJr1b5Rs+ePa$4<6$Z53@knk=-tMWq?r`1bH<+M7PkkjgNLQbn+2h?4w@qKM2kJD-! zAmQDJR(~T$nfC2YQcc#-Pe~Pg5LBKUHO}MIqDsEqxsFa8OiC}K^f`KwQTiTby~|2M z9~0shSQ0X^)-pcRb!miVvyK6JE+G6RJ%zZ2K}97Z+Kfb2iNPkTg~fZvIK)kz5Z=q6 z$hDyLTnwRushcGTRuiN)o<2@#gH!rfq=Uh1!t)7nELnf-B--L#M{MKCv4BXb!;e0x zbRL*vYpj8t5o0;bRB#OQL>p{4Smp^#8S=>$W)7}-@~A$uOOGi~#}wzh zjy~}a-$yOys2w5nPtH*%A%t@jf3aE#iqs*I99!nZ&Qph^Ni z1%O{_3eoqwsQN1*IT;c1q+;oVC&c{{*|M=9a|Jxpj0!*JfC17wSuKQLL3`)3L6Myu zRl~QOQc&aZd$L&(WRx0@c;tFh_tMyru!_ixZ-QbDES1PF5{(~t zf?I(|;zyOqLALp*$0W%*kfh*;JPzVtrFHFp?9lMOkcDo=+4K7&VPV^H%8viwiwfJ0 zKHAavdiDfp<&n>H&)8&Zz`6&A)eonW!t)p|(qslq#){z2aq@h}gHKpD_Yq+%)zcX)3cc^%oJS*(}2_gN$N`` zqPL-#FG3TzyNoBXh8UWpcV_=QDC95By*|%C;t7ltQ*a5!P~`T{n-YqpNk|omy}cw$ zjBg7DO)`urAqqSl?vKv*XLn=vKiuQY_C zzjvxzO%<|Z0;)^2!S{@N8H$~vEw^j5<+;(;BTMv$@N-nq^^6a?b7cq6lU}iw9G|z@ zNaT1t&sNuV!zGXtW+3*Cw{EMEr_9@@0G0XlKDqnGb1U!O02%#aov!1U7Wl`aPP)fV zJQtx)-Nc{MaF^WSy(nBBPBL#baC>R${X-# zqMJst;$5TD2);^T8i~swZuBW-b9E5s$zf_+lKtyJzkW5jqO+6mPaEi@r=sSxUhCo! zJZXt%kInv_=7$8^dycE)+@|C3i#V>+0Q?-c#Sb~A{TP2`LL0>DKjOB|-pY%OM%^tn zyxghS6F(K3Dn2+PBS9Nudi(YC?dzId{BCx^bllyn6=1LAWX#A(=uG6M0<4go)q$sL zOQzeBw|gP%7h@=HT8opade(XA(X}m~+m>HNiluU9T#SuJs*`Js*lw%r*QJ{Zov3Y* zL|Y`sCq)XwDkD~yHV&t{)Xt*=4(Tl;YhN9|So?Zi&27c;>X1{qz1pP!zvCJ!-gWo@LyjgnvK2@C zM3a!<%1Sq|y0!IJmhyE@^+{+9pUT*SU8;*XR9%yCr{}FSIdApG%c}Iaw%xQs@{Fzq z57C@l^Jlu2&ms=%92Hny<{~v*4}bf&iGNibyJ~Qh$Udh@RV_hj5T-G z*6woFyUG@wqR`bI&WjsgxWP!7Y}{yUF!I*IA932dQPw+kN=W4|v#Z0ruAlJF!njEW zQK^H$>J8Cd`V((NccjFxlAvLH1_0v!k7}xW04~GfK&~=PXUw{B5rT_xZ>Lu40ge!R zRU?=031H;SkTz?;8Dl}^E6*4or7KtAM}2Ba#yw~NOC;DWv8(rzT<;~TxJ!w5VycS1 zwCW7+F$%y>0|WHW2Q_+}Yz@O)1Hpga~@C zV_e^twyD15!lI@~-o|szO>j*(2TwJ4ho0z~FiDv(Io^aR%7l1aCG8O7qqtd_nZdPa ztVxtZL!FJR#yYIY6yIqfsD~3BfHi!)19IXVfG*_5w#EsCD|z<`3n+TXc|y7fEBZuZ z4sbo0Iq-~J=Qrd`&7>z8uCmV4$u>M$#AF)Tf|_Pb6`uH92K){RLj(x9sFWY60 z^pXqH1ZQ!ZrnfD}N;F6mU~|lBL8UG}$ESEcMChF|C6t_aEex)f8)&n4Z@F+qx02lH z43jnzr0a58l`c(VL9P=>?`>a?RI8SPAvz+oq zOifyGZe%#+=~U4}->;v;sJu%79FeHr`4`jRJ(=6NB2ml# zz7k2onB^7eK6iB$Z^wjqJ0`~4F)7wY%8tpM?U)iv1DD0yF|G4pikr-S}M&f1jxTl>D#b5x=U}zh#N9Uz4rt^>0Sv>wD3@ z5~Y7D5no>oi>Z43yMg%nr3eL8uRouUuYanCuIERXd+|y~|0(^ahjqRFWHG+J8d*Te z*I)9**I&^`*XwWL;_ENW*Y)}nEM4Ch1&=rn4p#E@mpeDW&zYJCSEc8M{+dpI7@|p3 zeZdf2uV2c=*Z*dyuGcSnbUoYhi2Px?UgKl8Y1Dg?Iy=Cf(e9?@m(2-Jm=zvAWJF=y zripro)7s^AOTzNRk20%kYHNpyNTeCSMUf_P>Fg<&PMUb>jKb-ci%VxsnNeu(!-*;i zo;Yk&SnX~Z9=xn#am`q{2_nkTWy>q8YR4|Cs;sD64Hz3p4sNWkijEy#IPBtK!-o}- zz9G7Fti9n{hq z^@~iNB9>G&Mbs9dk!4La%c`Qw>I<fh^D!VwWsA{xZ9s`{wV`@cHK)vnM;b#q;`sb+ay z1V7_LUn7wwn3}3a>T7G^Icz03W!B7?4y~xDZLSi_q7}`JRoF_lvF7?J@NvUcwfm|n zDz{2(!>UNrD(twrBvM(?R3WBZHajwL_RQ&#nUl)J#Oc!_rBmikDV;P^!n0;im_28f zEJm9f8qh^iHgm$IlOhu@zpQLZxvZFZMP&9BvcxFq)C5|B#i5w98?4fY8@|d;bfSlH z6)P%gl*c;NNp+fLqo-C5yhC-#N6r?{7QOd%@VKz1r@MIWaG*jY|*tBp1<>mM7Yal zQ%zlDMFpgyNzkex-_%ejz}^VzM!AL5*sY*obV0GALqk1w%k}R@I|bRPgsL_5A5UbsX0U1wmSU zMJ0Md(umrOkvq=T@wcP4G`l%~YTr$@cQHVCe0iNTtSm=YRRD?Df(kVr>jLuG_NP}0FJ9vE2Pg>Aa%@@AP};_IsTb{gX(a|FX)t)%aRe3It}TXbpBtCkc|b&9GU!*+7?B36u9I6qgLckz%x0)y+tqb0 zcOgMrp4?1STb5gvs@^(Ar#eov@C62LW6cVrwPtL?D_|3-|R?pt(Y@;9*rk^fz&iHGHd3n$O!nRCVK5^QQc4x zEtF?03UohbPM8-N9;wCzQCcQ>OCr@=GprgeY35wk$r_DIYpR>XOxlFAxtJiytC>O| zQa3sqtyW@l^Dam@qZ3)ra|qkod(L7KSyo?LwJK~UQfS3o z4x2@qDi%AnatUUWXpTr(?edDIVHY|?2vN*8bH1ip5&UTJB>qfc++ZYoMA%+z^WKf? z_>z=x$!4P@DIjLPkmL!M@KJ`QDFzJ|`7tz=U1;=1l&6!k^$W=PF=%?lwKcm-Tlg$h z{;17uYiSo6>;&<-a`aB2-O1rS694oDq@XEXZ*2C^LiNvk=Q#8o2U(xj&S+Ep2JKAS3EO(^ z0zdEEOHvALe|w72nZj6I{sJ2ID^{1fm_BzGOVjZ{f%o~RizU*OfaY|uL>g@O@VRpI z)^@J%;$xC>^d@;OO?)hoM(@Dq(!|FSY4l!xE=^ZC_+95IW0F3m9K8b}QT=fx7+xy0VH@l4wZ+x^j7L%MdE;fxDS^Ay^^gOHfq;nI}aat?r|PSO<5 z?mTwx4&IY+%JK7B$!{6Ax~)=6ZIfA&l4i$t8T3hWavA%qx7T!Orgx#y+j6=zrCn(B z{+@2%CwJ-lR_Fuu(08qmD@XfEZ!a1f6P~H=VAFJZUsA|&VrPaVQ~lF)dVAAYd9z({ zGT+b+dLz|XI#0|X*YX|?sEzpI=vKJ`we9sjuif>vyL`c~^z~+CklpRvLmIsknoAQu z&PlU1c=~)n8ogcH>E!5r-&~sbaZWjUPdS$+K3|YVZ%*gZbd{qwzH@0@IkY|H=neHi zZx}>bo<=ZmwFpTm&RR>XnplQjj{Sx zyCErKobBmNBr(@H_VcLNmGfP9ahZva)A_vlbn_T#^d?iTp7DJljoz%vrE&X0n~vkv1{kJ zB%R&@?M&lEx1;x7`@DAa-fm~wj<$>5Mb7PWS3l`3>AIuQ`szLJV&hHOMTVPDxn2fvw{c1N592kJe$NqWkE>(izPosS8+`ixhpYQyXRhkZ!`DQ)KPT!v!z^C7v#PQvIdcMcNr#H2TwL@i$9q3om>HRYxU$1pb(Q#>G z>P{NHGe@kfncc{G1n+Q)!Q;wWp+(8{2W7nvni5H)=d)Fgox{MBMsHf;`og6dVAJT0 zS4vWL8;TUtIEYaHPmsrM`Mwp^}strR#&6xfTn1N+szGYNG9^cQlHlQ%;d|5EXa-Nq8Oj z^}Dam^|Zw<)a!R&T=#7DY%%BF;azXkCO`pO(UQb2_qNpO4e;vsV&E;??3ua6TyIRZ zIa5S8eAEHo06SY2bk>RR2-M$TzbE585@G%R46!k@&3C8&o7P|$OlU?c}lREzyGWEN;?)ntK zo7Tx;bdY}DX(4uqRz+o(~c=0E{cF9=Hrp z#X?-@5#tJBk-~$rr*NmmE6I$-k{Wjl63y!%g(l|+RpjL&9Oj0#J1rK*DLgMF8qb1k zX|dey#L??&;45)Z1D3CmWvd>S236$c1{~%pW2eOeU!8*d-(tH*+*aZjSiI2t#?`_i z`cak_TD&}k!(6f1uvj1s&6Om#o7t&|p99jk%Hri^93b{sENJ3nO?L6j&@|c?i(H zVH-r>ofeD36=(otk*ca%VO@ywEF7>)B`&K~@djMh%A&9?!elLAQvN`Y@vpk2?hR)F=60(O0@0<3owuXH;KT>9y^^n8y40>cBictk#Ld}GzTm0Wll7pN%Y*MjAo` zF1DV-<$x?IQ$2}>pjpz%lc@qdB)AtxvPKmb_w9{H0O|!C)>=_Akq81()%j9CMox^B z#{klv7(P0NVrsR%sHM7pj^`yv8$wrJY|GjD3Cj^hKpExfPDdnZNmXHT*TrfCXS>zBg#57X>g+x zN5=tn;BW$lfb7H-)>3G>LTQdoL3dg#Q+vcLFI#c=R*7N#c3LdT)NqAW0A*-RD5SMV z@d{vQFz9vwm)CFvSBZ4IoLGrqF3{>?&KLx%Q53s;2gvRx*CHV;N_=pW*eLqTl%nG& z21SnJ|2$z`-7Cez~bc-78g1V z0m}x4;{cYIMJz6|HsEqI4tD8wTpw3xUVeuPIk##*Tvb{x4d+aJ3 zd{a^gi~Hi-ivu>|MdqAE){7|aS6E({Wa#QNw2;YG7FfItVeu;K5?sm@mKP2O<0@f2 z4NvtUBf51z%Dq^gE36Mu9>{Wqu--&jy0A`I9F?^=U=dz6;qY$|w~Ahv?N~RHi1lIv z5Ejd`aloCtEQqOMc`2)|ws@haz*d}MUgef?5)Levx5z6cix_RmZq{t|bW*?2~ zODw};)aYTBm#MNe(+$chEN^8UraWBsvIzEdxZcGw9I+YK`&ot~zDyPo)+%so#aI^X z<3i=`zfkf#Ri?sl*KKqc%P+I8!g>XlcUfFy@j{NkO1Nh|%q^_v0KUOm#KViYzQrn2#%eWrgI;^{Yv;%R;RAk1(c%oK>7{eU09x)l<;#;vo69*!e$gD4!Ls4oM^);t%3 z)d9+5fnhel6yedp6%?~xT->upbBp0trX+av=`ynzq1Bi=}a@LNhT+N7zKj zEhQ+j%0RlMm?11j915l|3LzQLnwn@wU<5M-sta%cFRqF0JJqZv?*faL6*yvVx(IKQ z)xtUh(ksAn4cQ`MR7`9BBe>P#ZJwX^QiC{$566i&7Q)YaI+hTYa6b-l0p12_C;3?= zt8YSKE9vgU>24OjgVVh%Jctul^!`7?*<5h@^%C39#UGc>{xEFV2Z!);!O4ZO|8CU1 z#d<$MEedf{hst7pSaI59XCYBEub zWFE3Gn+1mG0vw8n+1cNOlguQ3f`t48AHyO1Jabh0d6Hw#&vOc8@s!H~$05g?zZfSD zW+Ce&5eZoDCjm#Dqm=LyB#WOspQ|tloX*Gsd&Ca;*`rQ2_#En`WUIxgjs@3rdLs9K z4C8vF)3|ow;pd5K2ESeq$p?N;xNuA#Vf80C9b>CjP0;*gq5h@=xraDbiy>@MG)A zm_HN$>ao&XA-&?iPTCrW6~>Us0akI~(Wt<4KnETR7~kSMa6MrCM|tZ2=x3fD;lXM{ z!HPz~%qtpxSQX@%{FEhFFCuLi9D?P9`cOX%-)2!98# z{w{~`qk#1v`_KOAZ(~@`{t;F*s(<>s7}m3Y`WqO+?4SPLg)sZ4zilDR{^{>n2(y3s zn-#+BpZ-3DF#D&!MIp@o>2FR5vw!*<62k1?CHA)>g!2LGZ$AigPsOL~?>q?q1hD=- zg7D7(>pyJ|{qCRjvE z^QY~xJ4wBBW{V-wLL%$0qOnd0} zzJzHH{f?I~?V;c05~e-$yII1thkgf3I2ZlX?^FpF0@m+O3G@4trc^A+&=11dSo0 zS2YUPHUF@lFKl%EOWpAEeTlArwVQgr-O%-KbyLqpqpp9in|iJkbp6NO)N_S!s(OW2 zXZDv8`2;Dw#w2Eg<$zk|qtz2$EY?PWn4+P@j~`dvKh z?*Xj886$izV7-hW{l5{m|I)Dj;J@&$-^r8ymw@$mV0{3;16Y3}!1@mW>-JcG0d>GK|p=?Mfh^m z>v!pd=K*HCa2-Lo2C)7Hfb#e+IqP@(tX~J1{=LN3XA5Ai7ap+rzXf<5%D1E4bgakj z2h7aCzcd)Kk6OZo31(OQHWkZz6(+p1ky= zpr988K~LhL6uz>eb=0pxZ=VB+_)eWRM~F+mN2mTu@cQC<>%(3X<9k|=&tg4=$Nvm^eSKB% z+3*Eq-3LJb{6U=X{OmxUK?^hIi$Cw8dmkD9d&s)pDFYA!ViTpN_D~4OdVf0Z*85YI zgR~WkLQ1_0RA9P4WooPFFxIDaa!2f-ZzPGMkD?Z+7l#-L?NSWFI@CceDVmy%c9Nv% zTLLp4!z8k~%o;>w8Q53?N(#hS05{oI^h(IG=(4PBtm9a(GBlHI#GY{Q!ql;DJduZ1 z4qZmuG0Z}{5`EHa@i=-SlIP~O&_S@h5=S2Ov-Si6Exrdg0#KnOg@?jJdu$@6wuZ_m z%r*wZ2~>w+3C2kuq2NNsE$833h~QCKEmSSq!cjcg0l{KQbulecUjazy$uQ2dWeY)v z5+^$WF;i}B)XcUjQ3x(DNt=x%?x#4kc2gOAOQj?#h!{gk}YJjYAM-9KS1quQ{Kaj2H3 zLMrfZdJ@4E4Tvns+(_?IFwwsX`^mRhACPDwTa zdfL+_kaoZabM68X*$pBDrJPO@#~v5XxuG~7J%8ZR!R`vd8z)`V+;Pf_L%CN^3;Pp1 z3O4Hzx@BOZ!J{rAr3k0PmK$1={}>Sf!c7xpsSFpSFTT8XxXg0IAH!~e{0gaS69(6iA)u*eTUfCr9NoOI`eg8`eWXP-8MIX1&QrUH;~ni z@^N;zp<@g|NdDS_{bu+F=?=2D`|C#0;GxrT@1hQ0eH4;7?xG4P)vn{}oDQY~*j=<$ z`Kz(Z6S{-;Kd}3bM}uope^1cBy88Q!0luD5t9&l_*-HCR`*whbBk_ZSOR9SXS?g5o z?-+9pPbkr(x?MDAow^C!JbKNO?UGK>9%R~Se7kS(%Ob(8Na~p1xe|q>!+qQfs;HE& zi4SNB$E|%dW-quksk$!(yH7vtFYl;FwPP8CZC?JwXAZ=NhqjpK$Xt62gHsx=l_9<} YI>7a!CiTa=prPHpBV&H45lXfD2beGvi~s-t literal 0 HcmV?d00001 diff --git a/fw/hello-world/prebuilt/hello.elf b/fw/hello-world/prebuilt/hello.elf index 5f9677b5bdb29265d0250f17870ffff2c986d015..416242266bdf2f932188900192ae481d1a8ac09a 100755 GIT binary patch literal 66276 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 YI>7a!CiTa=prPHpBV&H45lXfD2beGvi~s-t literal 64360 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 diff --git a/scc b/scc index a6cdc7a..13d2138 160000 --- a/scc +++ b/scc @@ -1 +1 @@ -Subproject commit a6cdc7aeadb5024829042213b331b14bd718abb1 +Subproject commit 13d2138e7e0b390cf9fd503c81d03e790b150b1a diff --git a/src/vp/system.cpp b/src/vp/system.cpp index ab0069b..6229636 100644 --- a/src/vp/system.cpp +++ b/src/vp/system.cpp @@ -23,11 +23,11 @@ system::system(sc_core::sc_module_name nm) core_complex.dbus(ahb_router.target[1]); ahb_router.initiator.at(0)(qspi.xip_sck); - ahb_router.set_target_range(0, 0xE0000000, 16_MB); + ahb_router.set_target_range(0, 0x20000000, 16_MB); ahb_router.initiator.at(1)(mem_ram.target); - ahb_router.set_target_range(1, 0xC0000000, 128_kB); + ahb_router.set_target_range(1, 0x00000000, 128_kB); ahb_router.initiator.at(2)(apbBridge.target[0]); - ahb_router.set_target_range(2, 0xF0000000, 256_MB); + ahb_router.set_target_range(2, 0x10000000, 256_MB); size_t i = 0; for(const auto& e : PipelinedMemoryBusToApbBridge_map) {