From 61e465116638f20bfe125daffc3ec782a625f2fb Mon Sep 17 00:00:00 2001 From: Jakob Gruber Date: Thu, 25 Oct 2012 11:38:01 +0200 Subject: [PATCH] doc: Add simavr manual This is an excerpt of the bachelor's thesis "qsimavr: Graphical Simulation of an AVR Processor and Periphery" by Jakob Gruber. The full thesis is available at https://github.com/schuay/bachelors_thesis. --- doc/manual/Makefile | 15 + doc/manual/acronyms.tex | 58 ++ doc/manual/images/gtkwave.png | Bin 0 -> 10497 bytes doc/manual/introduction.tex | 7 + doc/manual/manual.pdf | Bin 0 -> 264474 bytes doc/manual/manual.tex | 141 ++++ doc/manual/setupguide.tex | 98 +++ doc/manual/simavr.tex | 1244 +++++++++++++++++++++++++++++++++ 8 files changed, 1563 insertions(+) create mode 100644 doc/manual/Makefile create mode 100644 doc/manual/acronyms.tex create mode 100644 doc/manual/images/gtkwave.png create mode 100644 doc/manual/introduction.tex create mode 100644 doc/manual/manual.pdf create mode 100644 doc/manual/manual.tex create mode 100644 doc/manual/setupguide.tex create mode 100644 doc/manual/simavr.tex diff --git a/doc/manual/Makefile b/doc/manual/Makefile new file mode 100644 index 0000000..1851275 --- /dev/null +++ b/doc/manual/Makefile @@ -0,0 +1,15 @@ +PROJECT = manual + +#------------------------------------------------------------------------------ +protocol: +#------------------------------------------------------------------------------ + pdflatex $(PROJECT) + pdflatex $(PROJECT) + + +#------------------------------------------------------------------------------ +clean: +#------------------------------------------------------------------------------ + rm -f *.aux $(PROJECT).bbl $(PROJECT).blg $(PROJECT).log $(PROJECT).dvi \ + $(PROJECT).toc $(PROJECT).ps $(PROJECT).out + diff --git a/doc/manual/acronyms.tex b/doc/manual/acronyms.tex new file mode 100644 index 0000000..cfd4a01 --- /dev/null +++ b/doc/manual/acronyms.tex @@ -0,0 +1,58 @@ +%% +%% Acronym definitions +%% + +\usepackage{acronym} + +\newacro{ADC}{Analog-Digital Converter} +\newacro{AP}{Address Pointer} +\newacro{AVR}{Alf and Vegard's Risc processor} +\newacro{BCD}{Binary Coded Decimal} +\newacro{CPU}{Central Processing Unit} +\newacro{CS1}{Chip Select 1} +\newacro{CS2}{Chip Select 2} +\newacro{CRC}{Cyclic Redundancy Check} +\newacro{DDR}{Data Direction Register} +\newacro{EEPROM}{Electrically Erasable Programmable Read-Only Memory} +\newacro{ELF}{Executable and Linkable Format} +\newacro{E}{Enable} +\newacro{FIFO}{First In, First Out} +\newacro{GDB}{GNU Debugger} +\newacro{GLCD}{Graphical Liquid Crystal Display} +\newacro{GPL}{GNU General Public License} +\newacro{GUI}{Graphical User Interface} +\newacro{IDE}{Integrated Development Environment} +\newacro{ID}{Identifier} +\newacro{IOCTL}{Input/Output Control} +\newacro{IO}{Input/Output} +\newacro{IRQ}{Interrupt Request} +\newacro{ISR}{Interrupt Service Routine} +\newacro{JTAG}{Joint Test Action Group} +\newacro{LCD}{Liquid Crystal Display} +\newacro{LED}{Light-Emitting Diode} +\newacro{LSB}{Least Significant Byte} +\newacro{MCU}{Microcontroller} +\newacro{MDI}{Multi Document Interface} +\newacro{MHz}{Megahertz} +\newacro{MISO}{Master In, Slave Out} +\newacro{MOSI}{Master Out, Slave In} +\newacro{MSB}{Most Significant Byte} +\newacro{NIH}{Not Invented Here} +\newacro{OpenGL}{Open Graphics Library} +\newacro{PC}{Program Counter} +\newacro{RAM}{Random-Access Memory} +\newacro{RST}{Reset} +\newacro{RS}{Register Select} +\newacro{RTC}{Real-Time Clock} +\newacro{RW}{Read/Write} +\newacro{SPI}{Serial Peripheral Interface} +\newacro{SP}{Stack Pointer} +\newacro{SRAM}{Static Random-Access Memory} +\newacro{SREG}{Status Register} +\newacro{TU}{Technical University} +\newacro{TWI}{Two-Wire Interface} +\newacro{UART}{Universal Asynchronous Receiver/Transmitter} +\newacro{VCD}{Value Change Dump} +\newacro{iff}{if, and only if} +\newacro{ns}{nanoseconds} +\newacro{us}[$\mu$s]{microseconds} diff --git a/doc/manual/images/gtkwave.png b/doc/manual/images/gtkwave.png new file mode 100644 index 0000000000000000000000000000000000000000..7a0aa0142c2b53a916b36357f8744770bfc77485 GIT binary patch literal 10497 zcmd6tWl&r}xTX&d!Gi_YV8ICxbbz2igS)%y5Ez``8r&hlb$|p59^47;8X)N4E*Em| z-P&8VRr_QA>{QL1IaOzRy1(xJp7(pJ!<7}KF<+3p0000}Rz^Yv0N@9nzMG)JKYjMl znY27z5M0G&)lgAU7uJ+kpKj5dWVBrY0ITcy4VUx=ixdE;09gq!wNIG`OCDOP+n2ym z0#X1Dd>;-z8kH_C0WPj)QiKZ1B%$Jqs<2&$OY_v%{YAh zYr}2_U(L>EwJUu910cS#>#$&pARC^{OwFv?8>aq+co z+AXZJ{F_aBV?kL_22(*(vtg%Grc#`qkj^hdqxT5@ZH@#AdQepquw5iU%hg z^eG|_TUqCyL+d@5dDT^qNB`E(Fk)L%Hyuy_ zU_5BTXAA1<OjfaY1h z_C=mwgQ*x)3mmuT>qGi{TbOYE z?dHA5XYU;tQwp}^Pwvk%iu;*dJ-wGL=jtkrE~U9wv$Sx|Fczim&TvCEO@m#$b8YMw zxIj5F>z9ZKm}WST8=7H$G6nLxS-WM`^{8TD46gPd+0T|grIP)?3lqMkD|-b*u_!DU zMUfMo2Ehqk7=Ohu$Wg2&1(5(EZpLH^tVEi^;oGQ1n6>bLD??=Ov8G=%f3xFbhaR^} zf6FZ(ny=-@-*wX!!vFv-$6KfTdDG3901v^V9$RG^sO!)5DbZ+78zT?Nnkb`)4h9#%NxvwF%U`jpoL!LCUJ1l(Ig2=Ja)iJqNBLkRxOkhW_@t=83> z-nLknehxEkjZ9*8Vg5WGV_#3@0O_~+sq6LWqOpj3T$F0m3=|WyEqCAhz%uD9f0-0UW1Zm|^aElRouHu88tl{uR}>wRl=q)uhD@iG<`TlYTR`(6utuiKi- zqmq);_4Rp7&R&IVcn4ms!wT-k_mJLW&m#D5+ZDmEK+vl*lcjK?8hgqRy~MK|-tmP@ zMHCWk`c0-fZo6~AYnc6(EW6D2%Y3&8>Wu6VxZ^rN`?LEU6@o+N=mYhmd>;^1UpN3`7UxOkxMz< z;MEvH{;!r%q?aDFT)n0IkEs)MOsx(i=o6BX@r&r_u}(;BM$K##D;eMTU9UH4wmoR@3WrP3P?8m1 zr!)`N4A-1@9nHwS*9lNFZbA<}T%pAmLaU zH{Zy;{%IkanLuCnWh5e=*92lW6RzNR2VIp|OkBoMLzivwcm4n?A)~)W{u^A4dY<1V zn9izdxbjH~KynAxmeQOYV{!c^=ANHEXraZRE?_ zdtr`>S&Q$2o|1VVS3Fb@!;`cWR+Q9;;bw#rCY3F653u!#jzD|3Ii4oE7L9B8v(#7R ze3hVbTS%zAo_I|aH?2B>no1$dLX%INdeFXOWtPreN6o_p>EDa{6bbv!bFS7BwL})V z=|~6HIWT!jc1^yffe#x6D_AlsiyYEJa@m46`kXDAO6VWJQaj~+t|QR~U=MFZ_>Q5) zOc|P~Nz}JW?4@O;ERgxI&pZ*0NC1cBb=YVQ4DST2|H2t=!tLPnq}x{mFtQ@KaxcCd zk27MhBxOqx@F;-vEI-z5aal6KR=E&PSBa;4&O4@hFDhfT_=Jvdz8A?#I#W+oK6WRF zjh8ayjB3$wR##gnyJ&B!()xlq=xSYvo>?z|sA!H9pe!gE_ky{`^~GxmT8K1CdL6nz zl91lcv7(FhgZ;4e;+;I0r@xV1bxD$4l#Q)#u%bAAmj9fGd%v8>w3w0IFV5T1N)%X1 zgxhtrCZvSy9mL7PlVg(}MYu#DN}z-;C(;|5MH;5(jN)eKp6?s$c-Uh!<~QW})5gut z3Z{~{O+TY_7r*b^6&;`=PP=sHo{7`Pp}dwWO@P|6iwK_IviqT5-BDHua@4v`pIGC- zcTX?(*M*;heTN$`7?ujL^&!)wQLG0yyq_Y&MeFLm*H8Pvo-|Tir5l7H@Q@?Q=^C04 z?l)MHJmGQIcqN>}%Z&c4n6gqFCeRZ^HrnnSyh)P+pCeKUxAF|N&&qGgguRZrHj;ez z{!Z%Y-|(8UD#6(9re6lg)63FDG_B+If2dbV7%Uj)t3)o#L<2;*YQVeZiRZhu>v=r# z7KoAOK0!vBMJ*7Cm*HA|Qgsq4D`P#;CS0^Gkuj#1xgD;tqK6xQ=t}zf*`Xy$%GYmQ z!H@Bb*O*P3Gs3m3>T|;JU(Qk6x{sYnt03pmTyJ5URtm$zeWl6wml?|XmziF~{d8Z` zSdxgMcmE#!MY8e11A}lQyDiM%fiVcwY^tBNlv&oWfDI4uijMWpf~uO=yKiH6kYinD2hsv(#^EqCt>*7xGu6v-ZL+4lV94*K_>ktKsl<7cZyK@0mOCsLdFq+J+sU8Z;fMD@K_Mf4lQ8+j^}kpj z)s^}5Yan=wWCX{cL40VNIym+RWK?V4An5QQLOAv4xZT&cvqc|LIi#{!BI{(Ntbr2VkvdeIhVa!lC!kcsaD z8$n{Yc?6%VnToaoHBtIl%PpvNH-Bj_F;wqoMgghiA%#UfQz(k)Tk8H=Xf8+uH)S6j z3MzidWANv#kD>cwywDdl{X)1UO||o}F5ioB9aSAX>VNoVecSjlu}RuI>WdswxQFkD)->`@Cx3!3TiTj?G!|M) zLwo94i@xz1U+(5WqJv0&TAF}vdk?55QnGsw;r!)Q1l)E*_F^}(?+5o*_Rc^5))dpd z#PZp|Jy&goTT+^d7ZATBQDirGaDJOjYlrg|#>a1Gb%69M=kbS?+;MLx4ayH`cT@mi z%TxmSJ|xaHl6p8~f&2vDuWS}e)}r3HT7L<3C5eOZ8vOJ<9eYo^JeAIr67kvOYcpC0 z{jS#%fBV&AYYq$^(C*rlezl*(IMJZ_g4$IkvW#Kjd!T4_RCo((6pQsh6K=Bk0Dz`DJ?qr$CQ(+Kr#9yu`ThO)kAtsV(P=L` za{AZv!`hc=TrB4|onx?pdtc+}D2a5A^G)WM9>5Nlj6o%lK~T$KHGgGdQr4c3yJn!SYL@ zp4XgUXtG4=drq`kZmO+FGmKHOcoIUZz2$6-k+^Q3@3HJtYNFBy*;v~KPF$DJD_(Ww zRP~MO({b!tN2FtyJceQ4&9&}N*MH|^+Cul1(qTWr$6j+bM8Z|^YBT> z##)$^8W0X%+*!H}9O5=)eo%JTu9*1hm~}Mg41V7^+9|Yjw>%%Hem;TDX1mmdwElTd zw{i$oV3ov&cfiu6y$V{{bDRFko6p?MYplmGB?{61Y=e^Zx^sJLPSPGkBkbh9vv4L@ z7=xYG1+9cXPnqJ{J1|pA(p0|g(H7t0ZGpTR)Mf#5uk`E-$*9Sp=rX?%RN~x(wvC0}*-0 zp>;tGgsyb+h+6LDI_(qwFoq9q&Nz%Lt^E#}0;zJ63l3^@$iG7>j{0$HzMunVe`R@g zY+s1(zkj`nT7a;+M!8?=9+1p#*op|GEif7^$MV!Dm2_Dwa{hpn3=P`cQ9vX=8U$0= z{6?@=u+{)41TwoP9Lm}<*BF+(!UIFY&Ay$K51k;3O)cSReAn_+n6tRt$^P&}WB$e@ zoo&Lgte*_!eWO-ynV*;}UwB~;9y+Y;K~Y7c1E}IrCAe^bKGC>7QI!NVfDikyMLT5^ z!d8{tj0_W6)6P1ef@9NVb3RP%qgvM z*w@3=wvZo$^lk?S9tXeO1KxmQpESJHG}$qC>VnCdvHTR_oVjyXQ@_v$~z>rX@K6%|H71cKzfO zyM<)np`X6dm##$hZbDz7#eY_4wUdhM%eSXn5J#zRqXssa76W&@7w~{TtPY(M0FLg5 z1tTPp3-9^Jf40A|NIBX}t^*f_d|E<(`f0JQ)hQnB-|3dW_AS^?_o(i4pCsV^8D-@c zH98TIVqdq`ocSw0X|v|b?|BZ&aN8N78zbnVlFo`})d$o%#vEOH-%kfTt3oz}6|#Rr zdDCfYu%kruGvdKd04AyJegk$JHwK4tieJ96;O;3dGJMBk1x2{^BDYxhJ=q>3Y$oLO z74(_ylAs8dTqmK&_sYWK6|GyWF|TQqf?i z3mJFs(!tkB{Ed>sx181lv3cS>zKQuf3NUw?r=cu~b?zW_cU|_xKsD%gF8ESYNDsKp zEcVn3xQ#vGni`~R)0g)oo5o%_yKcx-VA+Zwbv<; zvv#~0!)#lOOD+a%-o7ACHtGU#J&2q^WB#|?u-<;(%uEBC6f_lwm67#ug2;woBy$?# zl=HW24-O?&O!Y@d#-1A9iw99$#zF65vz+-v*mgS5KQ3jcr0>~f#y&^RLe<&Eaz#7T zPP5U@v+)pJlRIfIv85T$^~z}oYWW_|5Nf`Ni5(jsG5Zn@BqT%zq<#fa>aQUIcfa;T}!)cJIh zDMP4$UCr|GA5niz>{G-_r~DFXAhC;6yJP_q%?aG$FA1X@jnU0*b=hf7`;Fj1pPjM6 zR?$y#$nh#)YId{Ke$T+b#NhhG79huN#yN;x7(K-#5*q6VGe z1pyFeeGjzvET{e+CG-C)|GMp^4E_XqY*;J?8UUEiD6*VJBP$EG6qhs*j^fg{?qL9Q zrK*!ugPZP=URUQ3w^Kb68x8g7hD18(ry=;UxB6o|l+XJuy(HTpE?UpTLXiFL&#&@R zZhTyXkQPb=h0U&Y#IQ0%4R|%5`za4!c#MmG) ztYnhD9!dzkjTqgR5#W zd}AavYo*$4i~%pkmcj^C{E7+hUu^1km8zV$K|oTrmhZe;VE|BV2{WjYPY$yJ{^F;I z{%>1na~uHRHL(x}9Dt)KtmV3+u5#?-NP+~!XWus)de%z0+w?ydmT`xZ4{&_BDEp+2 zTt@5b61&alx0R}{B2Vk(bGq1sx?qss-PZXI_QX{@vU5$f{@-6bM0kc$ zTnYrZre!-B7B{0u;HuhM^4gmKnufz&;!(@rEo4I8C|+}O7c0Kh?`?T5*6=}^uz>7~ zy+`+`YoGL!Z#GydgLq8RV8cb7pFCZ|mQ|OzN9J~&NMUxH3Uw>@aVGBlQFdj_ zI!mOOQT8V`)mhe2nBBYa#3io_?y~~~!lzzytMsZ19o7b$9ZDg2p(Y62KP;`&?OLen7CK1z`oqDi4qOl8JX>Aj^j$&DD8xeie^ddHu+!R zmcZcW4f9*k$3ogS)!>1pA1(B_`na)!CI4;8_BqI2ewESi!E#a|q@=tPn>f}WcNz~x z)M}Hx&{U$#QT1FiQzUc_Z0Pv5Dl(>8p)Kj)62oqflh-F{q&NdZRXdc@MYV{C#^G+- z9+EHMpwCt^)XzFzTc~mNj@fKqT2>+U-+I|h7ih^%y;`0>i75-$DHu?xgGH9@@6A~tdo9RtYG+Z?mh-+^M^U|}7 zM#MH{eWbTD$u!hc)_MI!&J+8kBS>b{ae(a!fz>&CudtWrh<1%vNNBM&WH^y|0dH-TL#1zk~ICPm&SHsTirL!!lYz_*wX= z*Fsz#=AFNnbz)iAVZiyLKmr+*=0(o?k%3%geMfzMuuE|#{T{gz7UHLK4yDx>(&;4d zqOxQONk5n3081hat+R*Y{RX7n!NidaVqquC^+x`~@$~XFtRUmmtxpvx5RZF`6v96; zDRPb0Jgh&5Up&Qja(L&W|BEkfsLT#&41wB=^oxxd&ol7#p}fx6`cir3WU9UG@=5hf z6%sDrnkesO=RfB8+?n2Vk{gICR{R*m!qdAq7kxwB_XP_;jJF1nNEX#mJq1oC&EZ)> zH+Bty4X*lwwYM!9X^=4>MIuo|{QNA0k@{PE4i%g3ZK*j}!1g!3?6SxxA6to9HAQ3q zo)`!-qxm9_2)qcODi!?wtE)f14lrdX;b@aWR^vIPk;Oy@GNWvI%?I+u0t!C~M^bCd z_x{sZ^kdgGIu9#{B|mb!Bk_1cj8Or?yi8`+wtDmdHwNtr`nLT$YaOoL8T~rewlWYIXp_9wkY7 z3`Q-Nf#0eKfcoYT>Z4c6AM-3HHD)r)z{rnR!+R5yg~zWk*Ue0u#)56x=v$-A(wS*` zG$#0l&vModjBITMZO#!SotCD!vq!%{_&;4?oz;9lXuB5=nHHW8RlU<|LGhZ0KF)A% zU0M%Bmh$VdDdm&R`8eC|Oylt7bSwvnU}F9FP4dqR-m@7ImX2cS{DxAY*Rbhqk`Em~ zd|z-$oP5yq!)_%*ZkTT8It>6&Q=iWQ+{G-)Y*c+eE!(WSz_O5{12{aQnPgCaSJx07 z768cXzl8zsVXMXYQ*mjd9$@#v=4<+%=wBzu5Iz{_(%3;uN-Cf>GLks0K|z-cumJUE zEOm7}Cp?)9i{){<vrVtos zj;-tmGCg--w@q);h*aH5<$UM`vQ(Yw>z_1FXBGfaK6_}txMtUe3-iDrCEW@s2~O@` zv!`^gaqxCV*{#{X20@oee&Hy=G~=MtZOgja@bIwin9MC zlk&E`k*f&*vsq7_52wife4QLf_q1WKL2@}@%2L{HxhPRwiBS|7I^>Z0OVMf9^XmKz zy(mkBAKr`N|Hraynu@KoPt{ZAJsV!t+18P{WVoCk_vI}IO^Md9L^B* z7?D@Xcw|Fi`$PXZR9aTjF5I7zf&vQ|8q0~TJc0*&*Uqb)Db2=(7GDKI9)AT0&JL{!K0=pC>R?g)RWa$B6~^*B)%GQ+ z1~^O_p&~Glxxo;T2hDEK$XW_?E>rMk;kVJ~)QF=(2A`wB6(Z<8yz=n>EY2J)4;tpC zj8V9GLxA=m;f@3b`7ra6s?+{r)RQgeM((tbD1I%uqx@ z{Pnrp!&a}Ky8Rhn&5xtju#0+}aK#h}-EwYx*ChWTZzY=I{;<9Yy)skac;VvuO)|+r zE2-ephjTdOf4uTgavCjC%7OQPrq!Ex_S+Xg-w$8F$kcJ@uO*hKTVcE*8ePOruymJn zL{mkKzF_qbABpI}*|&eZO1=7Dyh@p2-Cdi3{T_A=FVR-#Syzc~Ugty?op2MI@qW(c z)`ebPV!STlX$Q?m3FzNPMy;yC21oiWs$EVZ4zhZ6RAhGR-fR^iv^V~Z-rl7#T_O3% znv?+NFNzG%q{-0X!TF0*h3zW-;Be+DVQrt4Wgdclfm0u5uzbzK0yuG%R;(n-1_jPb zf<9v}{&LaA7a0#U)-#n)9z@y=UCI2fEmHqgr6X<`gy;r+03iNDO>gBC1bzz;r$(-WUEm zu_{U`8E3ce>pj=-I!M_2{{ALbkF<4G!8I%W^x0IH#7IBnH!&k76t>#@#Ttu8>w|{R z>cOC02OF>Pag@Lq{=f3>O@(2Bhm+d4P2bSAV3UCAa%RsWBa35|^yz~uR(P1QmzT$UVHCwX-8{ zdqSSew8{8!-={*V>$y7HV9xqzcloNYW;RB|jCBGXA!HE9vOr;7<)`m!MybsLhs=wc z?K#HxM;TQM%)%~Ze28)*EqFO<&fn~W(bN{Xby?;r(wysy-iA$jz#XuwtRPvvUv*)I z^LLmxNC>M8>)ljKOaaNX^1Y=J{oUU@!;+L1j&{7!qqM523D@4$&v~Fl`y6Xun^=Q? zuH$b^_rny4gMx`R@Fd^=@Fmm#i+z(A?^>)JUsh|ayna@m_K}P!8^V1Hqyf3>^VClX jM>!=x`oG}#K$*o7SN8jrDcsW`MnG0lQKC}ZDDXc30s}`) literal 0 HcmV?d00001 diff --git a/doc/manual/introduction.tex b/doc/manual/introduction.tex new file mode 100644 index 0000000..031d595 --- /dev/null +++ b/doc/manual/introduction.tex @@ -0,0 +1,7 @@ +\chapter{Introduction} + +This manual is an excerpt of the bachelor's thesis ``\emph{qsimavr: Graphical +Simulation of an AVR Processor and Periphery}'' by Jakob Gruber. The full thesis is available at \url{https://github.com/schuay/bachelors_thesis}. + +Chapter \ref{chapter:simavr} provides a brief overview of +\simavr internals, followed by a setup guide in appendix \ref{chapter:setup}. diff --git a/doc/manual/manual.pdf b/doc/manual/manual.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1cb97b20d029e16b6c5318e74712abe8ee49b811 GIT binary patch literal 264474 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 z zlL3Llh1IB})|XT?N*l4dOgvW;^F2_^v4KgNwHES|{{MpRLIv_LclPD>Duo1N;KHt`VQa7rLi8NO{_S!FJJcST$4kgTM=WQBT0gJMcGu zeo&TpM_4t6E(5X3t))>mU`|n9N@?BoDPh`0=Dws!_-LQ)Wzcy_`vamrx~w0+Nf&gI z|CvY^VUa$}0^4;X;){hkl%??P)4m?R)d$bBHM(ER9Cu9J5$71{FpuMC>BDoK}Ywp z)D)kZD%~}8f!V%x6J`|L@mC5s>v}O&Wd%9f5nHJ}y)(%E+14RUP5Ggzv$qb=}L;cX9$b;2U zaaouR^uXPrq@9S7xc^L`tq0wIJl6}YACQ%X^~IFS??>AYf8POkWggi2LwX@f$VlN6 zb1%FF8%DAPAiW3xqhbhtc?MkcO(jgc3fMS*E~I`7pT9`(dDQr6qV%{f`}1qTRJ5<8 zC1Vt$FJ@)D`So1e6i=c=7op^l6aLFK>=aM@0KE@Jr9jl3VA%X3`|HTy6i@O12~jAv z<41U+)8dQuYCKDWCGgKM^G`EWMIhPq6d;SW!O~VBeG$V%(Z8P9f)Y8VtnGEMCa{Z@ zRpvjVj{8-@dn(z2oYEmJd)L4%VUC~nsU|=f>0F%lHd`zI%JAcWncqU=L$oL_tt@Ix z`(z$LUg@pt7-Nl4L0dy53litRn#*WUtFy5GuBr;s;NVywoJfPTq$?{eDauO=xA<4& zg30fmM2PTFMLEK-Io#r6@*~#VmM#)q*|^&5y-o7K+lzQ{q8_xN`ak%v$3PuYMj!8U zh`Blh{mgv?le4)n=kFI1qeVZvfB%SabkcWla(iE4Ag}^iS($+dl$7Ff5(xhXEilgv literal 0 HcmV?d00001 diff --git a/doc/manual/manual.tex b/doc/manual/manual.tex new file mode 100644 index 0000000..6b6e6d2 --- /dev/null +++ b/doc/manual/manual.tex @@ -0,0 +1,141 @@ +\documentclass[12pt,a4paper,oneside]{scrreprt} + +\usepackage{graphicx} % includegraphics-command +\usepackage{fancyheadings} +\usepackage[pdfborder={0 0 0}]{hyperref} +\usepackage[english,germanb]{babel} +\usepackage[latin1]{inputenc} % Support direct writing of German Umlauts +\usepackage{dcolumn} % Decimal column formatting +\usepackage[usenames,dvipsnames]{color} +\usepackage{listings} +\usepackage{acronym} +\usepackage{fancyvrb} % Verbatim environment with samepage option +\usepackage{xspace} % Better handling of spaces after custom commands +\usepackage{chngcntr} % Footnote counter settings +\usepackage[super]{nth} % 9th formatting +\usepackage{booktabs} + +\counterwithout{footnote}{chapter} % Do not reset footnote counter between chapters + + +%% +%% -------------------------listings configuration---------------------- +%% + +\definecolor{Brown}{cmyk}{0,0.81,1,0.60} +\definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40} +\definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0} +\definecolor{gray}{gray}{0.5} + +\lstset{ + language=C, % Code langugage + basicstyle=\ttfamily, % Code font, Examples: + % \footnotesize, \ttfamily + keywordstyle=\color{OliveGreen}, % Keywords font ('*' = uppercase) + commentstyle=\color{gray}, % Comments font + captionpos=b, % Caption-position = bottom + breaklines=true, % Automatic line breaking? + breakatwhitespace=false, % Automatic breaks only at + % whitespace? + showspaces=false, % Dont make spaces visible + showtabs=false, % Dont make tabs visible + morekeywords={__attribute__}, % Specific keywords +} + +%% +%% -------------------------Custom commands----------------------------- +%% + +\newcommand{\simavr}{\emph{simavr}\xspace} +\newcommand{\qsimavr}{\emph{qsimavr}\xspace} + +%% +%% --------------------------------------------------------------------- +%% + +\sloppy + +\oddsidemargin 1cm \evensidemargin 1cm \topmargin 0pt + +\headsep 50pt \textheight 21.4cm \textwidth 14.1cm +\setlength{\parskip}{5pt plus2pt minus2pt} + +\renewcommand{\floatpagefraction}{0.9} +\renewcommand{\textfraction}{0.05} +\renewcommand{\topfraction}{1.0} +\renewcommand{\bottomfraction}{1.0} + +\setcounter{totalnumber}{5} +\setcounter{bottomnumber}{5} +\setcounter{topnumber}{5} + +\setcounter{tocdepth}{2} +\addtolength{\abovecaptionskip}{-10pt} + +%% +%% --------------------------------------------------------------------- +%% + +\input{acronyms.tex} + +%% +%% --------------------------------------------------------------------- +%% + +\title{simavr Manual} +\author{Jakob Gruber \\ + jakob.gruber@gmail.com} + +%% +%% --------------------------------------------------------------------- +%% + +\begin{document} + + \pagestyle{empty} + \maketitle + \cleardoublepage + + \pagestyle{plain} + \pagenumbering{roman} + \setlength{\parskip}{5pt plus2pt minus2pt} + + \setcounter{page}{1} + + \selectlanguage{english} + + \setlength{\parskip}{1mm} + \linespread{0.0} + + \tableofcontents + \linespread{1} + \clearpage + \cleardoublepage + \setlength{\parskip}{5pt plus2pt minus2pt} + + \pagestyle{fancy} + \renewcommand{\chaptermark}[1]{\markboth{\thechapter\ #1}{}} + \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}{}} + \addtolength{\headheight}{2pt} + + \acresetall + + \pagenumbering{arabic} + \setcounter{page} {1} + + \cleardoublepage + \include{introduction} + \cleardoublepage + \include{simavr} + + \appendix + + \cleardoublepage + \include{setupguide} + \cleardoublepage + +\end{document} + +%% +%% = eof ===================================================================== +%% diff --git a/doc/manual/setupguide.tex b/doc/manual/setupguide.tex new file mode 100644 index 0000000..194297d --- /dev/null +++ b/doc/manual/setupguide.tex @@ -0,0 +1,98 @@ +\chapter{Setup Guide} \label{chapter:setup} + +This section provides instructions on how to retrieve, compile and install +\simavr on the GNU/Linux operating system. + +\section{\simavr} \label{section:setup_simavr} + +\subsection{Getting the source code} + +The official home of \simavr is \url{https://github.com/buserror-uk/simavr}. +Stable releases are published as git repository tags (direct downloads are +available at \url{https://github.com/buserror-uk/simavr/tags}). To clone a local +copy of the repository, run + +\begin{verbatim} +git clone git://github.com/buserror-uk/simavr.git +\end{verbatim} + +\subsection{Software Dependencies} + +\emph{elfutils} is the only hard dependency at run-time. The name of this +package may differ from distro to distro. For example, in Ubuntu the required +package is called \emph{libelf-dev}. + +At compile-time, \simavr additionally requires \emph{avr-libc} to complete its +built-in AVR core definitions. It is assumed that further standard +utilities (\emph{git}, \emph{gcc} or \emph{clang}, \emph{make}, etc \ldots) are +already present. + +\simavr has been tested with the following software versions: + +\begin{itemize} +\item Arch Linux x86\_64 and i686 +\item elfutils 0.154 +\item avr-libc 1.8.0 +\item gcc 4.7.1 +\item make 3.82 +\end{itemize} + +Furthermore, the board\_usb example depends on libusb\_vhci and vhci\_hcd. For +further details, see \emph{examples/board\_usb/README}. Note however that these +are not required for a fully working \simavr build. + +\subsection{Compilation and Installation} + +\simavr's build system relies on standard makefiles. The simplest compilation +boils down to the usual + +\begin{verbatim} +make +make install +\end{verbatim} + +As usual, there are several variables to allow configuration of the build +procedure. The most important ones are described in the following section: + +\begin{itemize} +\item AVR\_ROOT + +The path to the system's \emph{avr-libc} installation. + +While the default value +should be correct for many systems, it may need to be set manually if the +message 'WARNING \ldots did not compile, check your avr-gcc +toolchain' appears during the build. For example, if iomxx0\_1.h is located at +/usr/avr/include/avr/iomxx0\_1.h, AVR\_ROOT must be set to /usr/avr. + +\item CFLAGS + +The standard compiler flags variable. + +It may be useful to modify CFLAGS for easier debugging (in which case +optimizations should be disabled and debugging information enabled: -O0 -g). +Additionally adding -DCONFIG\_SIMAVR\_TRACE=1 enables extra verbose output and +extended execution tracing. +\end{itemize} + +These variables may be set either directly in Makefile.common, or alternatively +can be passed to the make invocation (make AVR\_ROOT=/usr/avr DESTDIR=/usr +install). + +Installation is managed through the usual +\begin{verbatim} +make install +\end{verbatim} + +The DESTDIR variable can be used in association with the PREFIX variable to create a \simavr package. DESTDIR=/dest/dir +PREFIX=/usr installs to /dest/dir but keeps the package configured to the standard prefix +(/usr). + +For development, we built and installed \simavr with the following procedure: + +\begin{verbatim} +make clean +make AVR_ROOT=/usr/avr CFLAGS="-O0 -Wall -Wextra -g -fPIC \ + -std=gnu99 -Wno-sign-compare -Wno-unused-parameter" +make DESTDIR="/usr" install +\end{verbatim} diff --git a/doc/manual/simavr.tex b/doc/manual/simavr.tex new file mode 100644 index 0000000..4d15901 --- /dev/null +++ b/doc/manual/simavr.tex @@ -0,0 +1,1244 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{\simavr Internals} \label{chapter:simavr} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\simavr is a small cross-platform \ac{AVR} simulator written with simplicity, efficiency and +hackability in mind\footnote{ +% +For some more technical principles, \simavr also tries to avoid heap allocation +at runtime and often relies on C99's struct set initialization. +% +}. It is supported on Linux and OS X, but should run on any +platform with avr-libc support. + +In the following sections, we will take a tour through \simavr internals\footnote{ +Most, if not all of the code examined in this chapter is taken directly from \simavr.}. +We will begin by examining short (but complete) demonstration application. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{\simavr Example Walkthrough} \label{section:simavr_example_walkthrough} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The following program is taken from the board\_i2ctest \simavr example. Minor +modifications have been made to focus on the essential section. Error handling +is mostly omitted in favor of readability. + +\begin{lstlisting} +#include +#include +#include +#include + +#include "sim_avr.h" +#include "avr_twi.h" +#include "sim_elf.h" +#include "sim_gdb.h" +#include "sim_vcd_file.h" +#include "i2c_eeprom.h" +\end{lstlisting} + +The actual simulation of the external \ac{EEPROM} component is located in +i2c\_eeprom.h. We will take a look at the implementation later on. + +\begin{lstlisting} +avr_t * avr = NULL; +avr_vcd_t vcd_file; + +i2c_eeprom_t ee; +\end{lstlisting} + +\lstinline|avr| is the main data structure. It encapsulates the entire state of the +core simulation, including register, \ac{SRAM} and flash contents, the \ac{CPU} state, the +current cycle count, callbacks for various tasks, pending interrupts, and more. + +\lstinline|vcd_file| represents the file target for the \ac{VCD} module. It +is used to dump the level changes of desired pins (or \acp{IRQ} in general) into a +file which can be subsequently viewed using utilities such as \emph{gtkwave}. + +\lstinline|ee| contains the internal state of the simulated external \ac{EEPROM}. + +\begin{lstlisting} +int main(int argc, char *argv[]) +{ + elf_firmware_t f; + elf_read_firmware("atmega1280_i2ctest.axf", &f); +\end{lstlisting} + +The firmware is loaded from the specified file. Note that exactly the same file +can be executed on the \ac{AVR} hardware without changes. \ac{MCU} and frequency +information have been embedded into the binary and are therefore available in +\lstinline|elf_firmware_t|. + +\begin{lstlisting} + avr = avr_make_mcu_by_name(f.mmcu); + avr_init(avr); + avr_load_firmware(avr, &f); +\end{lstlisting} + +The \lstinline|avr_t| instance is then constructed from the core file of the +specified \ac{MCU} and initialized. \lstinline|avr_load_firmware| copies the +firmware into program memory. + +\begin{lstlisting} + i2c_eeprom_init(avr, &ee, 0xa0, 0xfe, NULL, 1024); + i2c_eeprom_attach(avr, &ee, AVR_IOCTL_TWI_GETIRQ(0)); +\end{lstlisting} + +\lstinline|AVR_IOCTL_TWI_GETIRQ| is a macro to retrieve the internal \ac{IRQ} of the \ac{TWI} +simulation. \acp{IRQ} are the main method of communication between \simavr and +external components and are also used liberally throughout \simavr internals. +Similar macros exist for other important \ac{AVR} parts such as the \ac{ADC}, \ac{IO} ports, +timers, etc. + +\begin{lstlisting} + avr->gdb_port = 1234; + avr->state = cpu_Stopped; + avr_gdb_init(avr); +\end{lstlisting} + +This section sets up \simavr's \ac{GDB} infrastructure to listen on port 1234. The +\ac{CPU} is stopped to allow \ac{GDB} to attach before execution begins. + +\begin{lstlisting} + avr_vcd_init(avr, "gtkwave_output.vcd", &vcd_file, 100000 /* usec */); + avr_vcd_add_signal( + &vcd_file, + avr_io_getirq(avr, AVR_IOCTL_TWI_GETIRQ(0), TWI_IRQ_STATUS), + 8 /* bits */, + "TWSR"); +\end{lstlisting} + +Next, a value change dump output is configured to track changes to the +\lstinline|TWI_IRQ_STATUS| \ac{IRQ}. The file may then be viewed using the \emph{gtkwave} +application. + +\begin{lstlisting} + int state = cpu_Running; + while ((state != cpu_Done) && (state != cpu_Crashed)) + state = avr_run(avr); + + return 0; +} +\end{lstlisting} + +Finally, we have reached the simple main loop. Each iteration executes one +instruction, handles any pending interrupts and cycle timers, and sleeps if +possible. As soon as execution completes or crashes, simulation stops and we +exit the program. + +We will now examine the relevant parts of the \lstinline|i2c_eeprom| implementation. +Details have been omitted and only communication with the \lstinline|avr_t| instance are +shown. + +\begin{lstlisting} +static const char * _ee_irq_names[2] = { + [TWI_IRQ_MISO] = "8>eeprom.out", + [TWI_IRQ_MOSI] = "32irq = avr_alloc_irq(&avr->irq_pool, 0, 2, _ee_irq_names); + avr_irq_register_notify(p->irq + TWI_IRQ_MOSI, i2c_eeprom_in_hook, p); + + /* [...] */ +} +\end{lstlisting} + +First, the \ac{EEPROM} allocates its own private \acp{IRQ}. The \ac{EEPROM} implementation +does not know or care to which \simavr \acp{IRQ} they will be attached. It then +attaches a callback function (\lstinline|i2c_eeprom_in_hook|) to the \ac{MOSI} \ac{IRQ}. This +function will be called whenever a value is written to the \ac{IRQ}. The pointer to +the \ac{EEPROM} state p is passed to each of these callback function calls. + +\begin{lstlisting} +void +i2c_eeprom_attach( + struct avr_t * avr, + i2c_eeprom_t * p, + uint32_t i2c_irq_base ) +{ + avr_connect_irq( + p->irq + TWI_IRQ_MISO, + avr_io_getirq(avr, i2c_irq_base, TWI_IRQ_MISO)); + avr_connect_irq( + avr_io_getirq(avr, i2c_irq_base, TWI_IRQ_MOSI), + p->irq + TWI_IRQ_MOSI ); +} +\end{lstlisting} + +The private \acp{IRQ} are then attached to \simavr's internal \acp{IRQ}. This is called +chaining - all messages raised are forwarded to all chained \acp{IRQ}. + +\begin{lstlisting} +static void +i2c_eeprom_in_hook( + struct avr_irq_t * irq, + uint32_t value, + void * param) +{ + i2c_eeprom_t * p = (i2c_eeprom_t*)param; + + /* [...] */ + + avr_raise_irq(p->irq + TWI_IRQ_MISO, + avr_twi_irq_msg(TWI_COND_ACK, p->selected, 1)); + + /* [...] */ +} +\end{lstlisting} + +Finally, we've reached the \ac{IRQ} callback function. It is responsible for +simulating communications between \simavr (acting as the \ac{TWI} master) and the +\ac{EEPROM} (as the \ac{TWI} slave). The \ac{EEPROM} state which was previously passed to +\lstinline|avr_irq_register_notify| is contained in the \lstinline|param| variable and cast back to +an \lstinline|i2c_eeprom_t| pointer for further use. + +Outgoing messages are sent by raising the internal \ac{IRQ}. This message is then +forwarded to all chained \acp{IRQ}. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{The Main Loop} \label{section:mainloop} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +We will now take a closer look at the main loop implementation. Each call to +\lstinline|avr_run| triggers the function stored in the run member of the \lstinline|avr_t| structure +(\lstinline|avr->run|\footnote{Whenever \lstinline|avr| is mentioned in a code +section, it is assumed to be the main \lstinline|avr_t| struct.}). +The two standard implementations are \lstinline|avr_callback_run_raw| and +\lstinline|avr_callback_run_gdb|, located in sim\_avr.c. The essence of both function is +identical; since \lstinline|avr_callback_run_gdb| contains additional logic for \ac{GDB} +handling (network protocol, stepping), we will examine it further and point out +any differences to the the raw version. Several comments and irrelevant code +sections have been removed. + +\begin{lstlisting} +void avr_callback_run_gdb(avr_t * avr) +{ + avr_gdb_processor(avr, avr->state == cpu_Stopped); + + if (avr->state == cpu_Stopped) + return ; + + int step = avr->state == cpu_Step; + if (step) + avr->state = cpu_Running; +\end{lstlisting} + +This initial section is \ac{GDB} specific. \lstinline|avr_gdb_processor| is responsible for +handling \ac{GDB} network communication. It also checks if execution has reached a +breakpoint or the end of a step and stops the \ac{CPU} if it did. + +If \ac{GDB} has transmitted a step command, we need to save the state during the +main section of the loop (the \ac{CPU} ``runs'' for one instruction) and restore to +the \lstinline|StepDone| state at on completion. + +In total, there are eight different states the \ac{CPU} can enter: + +\begin{lstlisting} +enum { + cpu_Limbo = 0, + cpu_Stopped, + cpu_Running, + cpu_Sleeping, + cpu_Step, + cpu_StepDone, + cpu_Done, + cpu_Crashed, +}; +\end{lstlisting} + +A CPU is \lstinline|Running| during normal execution. \lstinline|Stopped| occurs for example +when hitting a \ac{GDB} breakpoint. \lstinline|Sleeping| is entered whenever the \lstinline|SLEEP| +instruction is processed. As mentioned, \lstinline|Step| and \lstinline|StepDone| +are related to the \ac{GDB} stepping process. Execution can terminate either with \lstinline|Done| +or \lstinline|Crashed| on error. Upon initialization, the \ac{CPU} is in the \lstinline|Limbo| state. + +\begin{lstlisting} + avr_flashaddr_t new_pc = avr->pc; + + if (avr->state == cpu_Running) { + new_pc = avr_run_one(avr); + } +\end{lstlisting} + +We have now reached the actual execution of the current instruction. If the \ac{CPU} +is currently running, \lstinline|avr_run_one| decodes the instruction located in flash memory +(\lstinline|avr->flash|) and triggers all necessary actions. This can include setting the \ac{CPU} +state (SLEEP), updating the status register \ac{SREG}, writing or reading from memory +locations, altering the \ac{PC}, etc \ldots + +Finally, the cycle counter (\lstinline|avr->cycle|) is updated and the new +program counter is returned. + +\begin{lstlisting} + if (avr->sreg[S_I] && !avr->i_shadow) + avr->interrupts.pending_wait++; + avr->i_shadow = avr->sreg[S_I]; +\end{lstlisting} + +This section ensures that interrupts are not triggered immediately when +enabling the interrupt flag in the status register, but with an (additional) +delay of one instruction. + +\begin{lstlisting} + avr_cycle_count_t sleep = avr_cycle_timer_process(avr); + avr->pc = new_pc; +\end{lstlisting} + +Next, all due cycle timers are processed. Cycle timers are one of the +most important and heavily used mechanisms in \simavr. A timer allows scheduling +execution of a callback function once a specific count of execution cycles have +passed, thus simulating events which occur after a specific amount of time has +passed. For example, the \lstinline|avr_timer| module uses cycle timers to schedule timer +interrupts. + +The returned estimated sleep time is set to the next pending event cycle (or a +hardcoded limit of 1000 cycles if none exist). + +\begin{lstlisting} + if (avr->state == cpu_Sleeping) { + if (!avr->sreg[S_I]) { + avr->state = cpu_Done; + return; + } + avr->sleep(avr, sleep); + avr->cycle += 1 + sleep; + } +\end{lstlisting} + +If the \ac{CPU} is currently sleeping, the time spent is simulated using the callback +stored in \lstinline|avr->sleep|. In \ac{GDB} mode, the time is used to listen for +\ac{GDB} commands, while the raw version simply calls usleep. + +It is worth noting that +we have improved the timing behavior by accumulating requested sleep cycles until +a minimum of 200 usec has been reached. usleep cannot handle lower sleep times +accurately, which caused an unrealistic execution slowdown. + +A special case occurs when the \ac{CPU} is sleeping while interrupts are turned off. +In this scenario, there is way of ever waking up. Therefore, execution is halted +gracefully. + +\begin{lstlisting} + if (avr->state == cpu_Running || avr->state == cpu_Sleeping) + avr_service_interrupts(avr); +\end{lstlisting} + +Finally, any immediately pending interrupts are handled. The highest priority +interrupt (this depends solely on the interrupt vector address) is removed from +the pending queue, interrupts are disabled in the status register, and the +program counter is set to the interrupt vector. + +If the \ac{CPU} is sleeping, interrupts can be raised by cycle timers. + +\begin{lstlisting} + if (step) + avr->state = cpu_StepDone; +} +\end{lstlisting} + +Wrapping up, if the current loop iteration was a \ac{GDB} step, the state is set +such that the next iteration will inform \ac{GDB} and halt the \ac{CPU}. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Initialization} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{\lstinline|avr_t| Initialization} \label{subsection:avr_t_initialization} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The \lstinline|avr_t| struct requires some initialization before it is +ready to be used by the main loop as discussed in section \ref{section:mainloop}. + +\lstinline|avr_make_mcu_by_name| fills in all details specific to an \ac{MCU}. This +includes settings such as memory sizes, register locations, available components, +the default \ac{CPU} frequency, etc \ldots + +The \ac{MCU} definitions are located in the \verb|simavr/cores| subdirectory of the \simavr +source tree and are compiled conditionally depending on the the local \emph{avr-libc} +support. A complete list of locally supported cores is printed by running \simavr +without any arguments. + +On successful completion, it returns a pointer to the \lstinline|avr_t| struct. + +If \ac{GDB} support is desired, \lstinline|avr->gdb_port| must be set, and +\lstinline|avr_gdb_init| must be called to create the required data structures, +set the \lstinline|avr->run| and \lstinline|avr->sleep| callbacks, and listen +on the specified port. It is also recommended to initially stop the cpu +(\lstinline|avr->state = cpu_Stopped|) to delay program execution until it +is started manually by \ac{GDB}. + +Further settings can now be applied manually (typical candidates are logging and +tracing levels). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Firmware} \label{subsection:initialization_firmware} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +We now have a fully initialized \lstinline|avr_t| struct and are ready to load +code. This is accomplished using \lstinline|avr_read_firmware|, which uses +elfutils to decode the \ac{ELF} file and read it into an \lstinline|elf_firmware_t| +struct and \lstinline|avr_load_firmware| to load its contents into the +\lstinline|avr_t| struct. + +Besides loading the program code into \lstinline|avr->flash| (and \ac{EEPROM} contents +into \lstinline|avr->eeprom|, if available), there are several useful extended +features which can be embedded directly into the \ac{ELF} file. + +The target \ac{MCU}, frequency and voltages can be specified in the \ac{ELF} file by using the +\lstinline|AVR_MCU| and \lstinline|AVR_MCU_VOLTAGES| macros provided by +\verb|avr_mcu_section.h|: + +\begin{lstlisting} +#include "avr_mcu_section.h" +AVR_MCU(16000000 /* Hz */, "atmega1280"); +AVR_MCU_VOLTAGES(3300 /* milliVolt */, 3300 /* milliVolt */, 3300 /* milliVolt */); +\end{lstlisting} + +\ac{VCD} traces can be set up automatically. The following code will create an 8-bit +trace on the UDR0 register, and a trace masked to display only the UDRE0 bit of +the UCSR0A register. + +\begin{lstlisting} +const struct avr_mmcu_vcd_trace_t _mytrace[] _MMCU_ = { + { AVR_MCU_VCD_SYMBOL("UDR0"), .what = (void*)&UDR0, }, + { AVR_MCU_VCD_SYMBOL("UDRE0"), .mask = (1 << UDRE0), .what = (void*)&UCSR0A, }, +}; +\end{lstlisting} + +Several predefined commands can be sent from the firmware to \simavr during program execution. +At the time of writing, these include starting and stopping \ac{VCD} traces, and putting +UART0 into loopback mode. An otherwise unused register must be specified +to listen for command requests. During execution, writing a command to this +register will trigger the associated action within \simavr. + +\begin{lstlisting} +AVR_MCU_SIMAVR_COMMAND(&GPIOR0); + +int main() { + /* [...] */ + GPIOR0 = SIMAVR_CMD_VCD_START_TRACE; + /* [...] */ +} +\end{lstlisting} + +Likewise, a register can be specified for use as a debugging output. All bytes +written to this register will be output to the console. + +\begin{lstlisting} +AVR_MCU_SIMAVR_CONSOLE(&GPIOR0); + +int main() { + /* [...] */ + const char *s = "Hello World\r"; + for (const char *t = s; *t; t++) + GPIOR0 = *t; + /* [...] */ +} +\end{lstlisting} + +Usually, UART0 is used for this purpose. The simplest debug output can be achieved +by binding \lstinline|stdout| to \lstinline|UART0| as described by the avr-libc +documentation \cite{libc}, and then using \lstinline|printf| and similar functions. +This alternate console output is provided in case using UART0 is not possible or desired. + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Instruction Processing} \label{section:instruction_processing} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +We have now covered \lstinline|avr_t| initialization, the main loop, and loading +firmware files. But how are instructions actually decoded and executed? Let's +take a look at \lstinline|avr_run_one|, located in sim\_core. + +The opcode is reconstructed by retrieving the two bytes located at +\lstinline|avr->flash[avr->pc]|. \lstinline|avr->pc| points to the \ac{LSB}, and +\lstinline|avr->pc + 1| to the \ac{MSB}. Thus, the full opcode is reconstructed with: + +\begin{lstlisting} +uint32_t opcode = (avr->flash[avr->pc + 1] << 8) | avr->flash[avr->pc]; +\end{lstlisting} + +As we have seen, \lstinline|avr->pc| represents the byte address in flash memory. +Therefore, the next instruction is located at \lstinline|avr->pc + 2|. This +default new program counter may still be altered in the course of processing +in case of jumps, branches, calls and larger opcodes such as STS\cite{instructionset}. + +Note also that the \ac{AVR} flash addresses are usually represented as word addresses +(\lstinline|avr->pc >> 1|). + +Similar to the program counter, the spent cycles are set to a default value of 1. + +The instruction and its operands are then extracted from the opcode and processed +in a large switch statement. The instructions themselves can be roughly categorized +into arithmetic and logic instructions, branch instructions, data transfer +instructions, bit and bit-test instructions, and \ac{MCU} control instructions. + +Processing these will involve a number of typical tasks: + +\begin{itemize} +\item Status register modifications + +The status register is stored in \lstinline|avr->sreg| as a byte array. +Most instructions alter the \ac{SREG} in some way, and convenience functions such as +\lstinline|get_compare_carry| are used to ease this task. Note that whenever the +firmware reads from \ac{SREG}, it must be reconstructed from \lstinline|avr->sreg|. + +\item Reading or writing memory + +\lstinline|_avr_set_ram| is used to write bytes to a specific address. Accessing +an \ac{SREG} will trigger a reconstruction similar to what has been discussed above. +\ac{IO} register accesses trigger any connected \ac{IO} callbacks and raise all associated +\acp{IRQ}. If a \ac{GDB} watchpoint has been hit, the \ac{CPU} is stopped and a status report +is sent to \ac{GDB}. Data watchpoint support has been added by the author. + +\item Modifying the program counter + +Jumps, skips, calls, returns and similar instructions alter the program counter. +This is achieved by simply setting \lstinline|new_pc| to an appropriate value. Care must be +taken to skip 32 bit instructions correctly. + +\item Altering \ac{MCU} state + +Instructions such as SLEEP and BREAK directly alter the state of the simulation. + +\item Stack operations + +Pushing and popping the stack involve altering the stack pointer in addition +to the actual memory access. +\end{itemize} + +Upon conclusion, \lstinline|avr->cycle| is updated with the actual instruction +duration, and the new program counter is returned. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Interrupts} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +An interrupt is an asynchronous signal which causes the the \ac{CPU} to jump to +the associated \ac{ISR} and continue execution there. In the \ac{AVR} architecture, +the interrupt priority is ordered according to its place in the interrupt +vector table. When an interrupt is serviced, interrupts are disabled globally. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Data Structures} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Let's take a look at how interrupts are represented in \simavr: + +\begin{lstlisting} +typedef struct avr_int_vector_t { + uint8_t vector; + avr_regbit_t enable; + avr_regbit_t raised; + avr_irq_t irq; + uint8_t pending : 1, + trace : 1, + raise_sticky : 1; +} avr_int_vector_t; +\end{lstlisting} + +Each interrupt vector has an \lstinline|avr_int_vector_t|. \lstinline|vector| is +actual vector address, for example \lstinline|INT0_vect|. \lstinline|enable| +and \lstinline|raised| specify the \ac{IO} register index for, respectively, the +interrupt enable flag and the interrupt raised bit (again taking \lstinline|INT0| +as an example, enable would point to the \lstinline|INT0| bit in \lstinline|EIMSK|, +and raised to \lstinline|INTF0| in \lstinline|EIFR|. \lstinline|irq| is raised to +1 when the interrupt is triggered, and to 0 when it is serviced. \lstinline|pending| equals +1 whenever the interrupt is queued for servicing, and \lstinline|trace| is used +for debugging purposes. + +Usually, raised flags are cleared automatically upon interrupt servicing. However, +this does not count for all interrupts(notably, \lstinline|TWINT|). +\lstinline|raise_sticky| was introduced by the author to handle this special case. + +Interrupt vector definitions are stored in an \lstinline|avr_int_table_t|, +\lstinline|avr->interrupts|. + +\begin{lstlisting} +typedef struct avr_int_table_t { + avr_int_vector_t * vector[64]; + uint8_t vector_count; + uint8_t pending_wait; + avr_int_vector_t * pending[64]; + uint8_t pending_w, + pending_r; +} avr_int_table_t, *avr_int_table_p; +\end{lstlisting} + +\lstinline|pending_wait| stores the number of cycles to wait before servicing +pending interrupts. This simulates the real interrupt delay that occurs between +raising and servicing, and whenever interrupts are enabled +(and previously disabled). + +\lstinline|pending| along with \lstinline|pending_w| and \lstinline|pending_r| +represents a ringbuffer of pending interrupts. Note that servicing an +interrupt removes the one with the highest priority. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Raising and Servicing Interrupts} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +When an interrupt \lstinline|vector| is raised, \lstinline|vector->pending| is +set, \lstinline|vector| is added to the \lstinline|pending| \ac{FIFO} of +\lstinline|avr->interrupts|, and a non-zero \lstinline|pending_wait| time is +ensured. If the \ac{CPU} is currently sleeping, it is woken up. + +As we've already covered in section \ref{section:mainloop}, servicing interrupts is +only attempted if the \ac{CPU} is either running or sleeping. Additionally, +interrupts must be enabled globally in \ac{SREG}, and \lstinline|pending_wait| +(which is decremented on each \lstinline|avr_service_interrupts| call) must have +reached zero. The next pending vector with highest priority is then removed from +the pending ringbuffer and serviced as follows: + +\begin{lstlisting} +if (!avr_regbit_get(avr, vector->enable) || !vector->pending) { + vector->pending = 0; +\end{lstlisting} + +If the specific interrupt is masked or has been cleared, no action occurs. + +\begin{lstlisting} +} else { + _avr_push16(avr, avr->pc >> 1); + avr->sreg[S_I] = 0; + avr->pc = vector->vector * avr->vector_size; + avr_clear_interrupt(avr, vector); +} +\end{lstlisting} + +Otherwise, the current program counter is pushed onto the stack. This illustrates +the difference between byte addresses (as used in \lstinline|avr->pc|) and +word addresses (as expected by the \ac{AVR} processor). +Interrupts are then disabled by clearing the I bit of the status register, and +the program counter is set to the \ac{ISR} vector. Finally, if +\lstinline|raise_sticky| is 0, the interrupt flag is cleared. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Cycle Timers} \label{section:cycle_timers} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Cycle timers allow scheduling an event after a certain amount of cycles have +passed. + +\begin{lstlisting} +typedef avr_cycle_count_t (*avr_cycle_timer_t)( + struct avr_t * avr, + avr_cycle_count_t when, + void * param); + +void +avr_cycle_timer_register( + struct avr_t * avr, + avr_cycle_count_t when, + avr_cycle_timer_t timer, + void * param); +\end{lstlisting} + +In \lstinline|avr_cycle_timer_register|, +\lstinline|when| is the minimum count of cycles that must pass until the +\lstinline|timer| callback is executed (\lstinline|param| and \lstinline|when| +are passed back to \lstinline|timer|\footnote{ +\qsimavr exploits \lstinline|param| to implement +callbacks to class instances by passing the \lstinline|this| pointer as +\lstinline|param|.}). + +Once dispatched, the cycle timer is removed from the list of pending timers. If +it returns a nonzero value, it is readded to occur \emph{at or after that cycle has +been reached}. It is important to realize that it therefore differs from the +\lstinline|when| argument of \lstinline|avr_cycle_timer_register|, which expects +a relative cycle count (in contrast to the absolute cycle count returned by the +callback itself)\footnote{ +% +Treating the return value of \lstinline|avr_cycle_timer_t| as an absolute value +and passing the actually scheduled cycle allows for precise handling of recurring +timers without drift. A system based on relative cycle counts could not guarantee +accuracy, because \simavr does not guarantee cycle timer execution exactly at the +scheduled point in time. +}. + +The cycle timer system is used during the main loop to determine sleep durations; +if there are any pending timers, the sleep callback may sleep until the next timer +is scheduled. Otherwise, a default value of 1000 cycles is returned. +Besides achieving a runtime behavior similar to execution on a real \ac{AVR} +processor, sleep is important for lowering \simavr \ac{CPU} usage whenever possible. + +\acp{IRQ} and interrupts caused by external events (for example, a ``touch'' event transmitted +from the simulated touchscreen component) are and can \emph{not} be taken into +account. +This means that scheduled sleep times will always be simulated to completion by +\lstinline|avr->sleep|, even if an external event causing \ac{CPU} wakeup is +triggered immediately after going to sleep. +Given a situation in which the next scheduled timer is many cycles in the future +and the \ac{CPU} is currently sleeping, the simulation will become extremely +unresponsive to external events. + +However, in real applications this situation is very unlikely, since +manual events (which cannot be scheduled through cycle timers) occur very rarely, +and most applications will have at least some cycle timers with a short period. + +It is worth remembering though, that cycle timers are the preferred and most +accurate method of scheduling interrupts in \simavr. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{\acf{GDB} Support} \label{section:gdb_support} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +A debugger is incredibly useful during program development. Simple programming mistakes +which can be discovered in minutes using \ac{GDB} can sometimes consume hours +to find without it. + +We have covered how to enable \ac{GDB} support in section +\ref{subsection:avr_t_initialization}, and when \ac{GDB} handler functions are +called during the main loop in section \ref{section:mainloop}. In the following, +we will explain further the methods \simavr employs to communicate with +\ac{GDB} and how breakpoints and data watchpoints are implemented. For +a short guide to debugging \ac{AVR} programs with \ac{GDB}, see section +\ref{section:debugging} + +\simavr has a fully featured implementation of the \ac{GDB} Remote Serial Protocol, +which allows it to communicate with \emph{avr-gdb}. A complete reference of +the protocol can be obtained from the \ac{GDB} manual \cite{gdb}. Essentially, +communication boils down to packets of the format \lstinline|$packet-data#checksum|. +The packet data itself consists of a command and its arguments. The syntax of +all commands supported by \simavr is as follows: + +\begin{Verbatim}[samepage=true] +'?' Indicate the reason the target halted. +'G XX...' Write general registers. +'g' Read general registers. +'p n' Read the value of register n. +'P n...=r...' Write register n with value r. +'m addr,length' Read length bytes of memory starting at address + addr. +'M addr,length:XX...' Write length bytes of memory starting + address addr. XX... is the data. +'c' Continue. +'s' Step. +'r' Reset the entire system. +'z type,addr,kind' Delete break and watchpoints. +'Z type,addr,kind' Insert break and watchpoints. +\end{Verbatim} + +Many of these commands expect a reply value. This could be a simple as sending +\verb|"OK"| to confirm successful execution, or it could contain the requested +data, such as the reply to the \verb|'m'| command. A single reply can chain +several data fields. For example, whenever a watchpoint is hit, the reply contains +the signal the program received (\lstinline|0x05| represents the ``trap'' signal), +the \ac{SREG}, \ac{SP}, and \ac{PC} values, the type of watchpoint which was hit +(either \verb|"awatch"|, \verb|"watch"|, or \verb|"rwatch"|), and the watchpoint +address. + +The packets themselves are received and sent over an \lstinline|AF_INET| socket listening +on the \lstinline|avr->gdb_port|. + +Both watchpoints and breakpoints are stored within an \lstinline|avr_gdb_watchpoints_t| +struct in \lstinline|avr->gdb| and are limited to 32 active instances of each. +Breakpoints are set at a particular location in flash memory. Whenever the \ac{PC} +reaches that that point, execution is halted, a status report containing a summary +of current register values is sent, and control is passed to \ac{GDB}. This +range check takes place in \lstinline|avr_gdb_processor|, which is called +first during each iteration of the \lstinline|avr_callback_run_gdb| function +as we have already discussed in section \ref{section:mainloop}. + +Watchpoints\footnote{Watchpoint support has been added by the author.} +on the other hand are used to notify the user of accesses to \ac{SRAM}. +\ac{GDB} uses a fixed offset of \lstinline|0x800000| to reference locations in +\ac{SRAM}; this offset must be masked out when receiving \ac{GDB} commands, and +added when sending watchpoint status reports. +Three types of watchpoints exist: Read watchpoints are triggered by data reads, +write watchpoints by writes, and access watchpoints by both. Handling of these +is integrated into the \lstinline|avr_core_watch_write| and +\lstinline|avr_core_watch_read| functions. Whenever applicable watchpoints exist +for a data access, execution is halted, and a status report is sent to \ac{GDB}. + +Finally, since program crashes often occur unexpectedly, \simavr helpfully +provides \ac{GDB} passive mode, which +opens a \ac{GDB} listening socket whenever an exception occurs if the \ac{GDB} +port is specified. It is therefore always a good idea to initialize \lstinline|avr->gdb_port|, even +if you have no intention of using \simavr's \ac{GDB} features! + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{\acfp{IRQ}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The \acf{IRQ}\footnote{ +% +Despite the name, \acp{IRQ} have nothing in particular to do with interrupts; +the interrupt system uses \acp{IRQ}, and \acp{IRQ} may trigger interrupts, but +they are not strictly linked to each other. Many \ac{IRQ} usages will not involve +interrupts at all.} +% +subsystem provides the message passing mechanism in \simavr. Let's begin +by examining the main \ac{IRQ} data structures: + +\begin{lstlisting} +typedef struct avr_irq_t { + struct avr_irq_pool_t * pool; + const char * name; + uint32_t irq; + uint32_t value; + uint8_t flags; + struct avr_irq_hook_t * hook; +} avr_irq_t; +\end{lstlisting} + +An \ac{IRQ} consists of an associated \ac{IRQ} pool, a name (for debugging +purposes), an \ac{ID}, its current value, flags, and a list of callback functions. +The \ac{ID} (\lstinline|irq|) is when a callback function connected to several \acp{IRQ} +needs to determine which specific \ac{IRQ} has been raised. + +The semantics of \lstinline|value| are not fixed and are specific to each \ac{IRQ}; +for example, \lstinline|ADC_IRQ_ADC0| treats \lstinline|value| as milliVolts, +while \lstinline|IOPORT_IRQ_PIN0| expects it to equal either 1 (high) or 0 (low). +\lstinline|flags| is a bitmask of several options\footnote{ +% +\lstinline|IRQ_FLAG_ALLOC| and \lstinline|IRQ_FLAG_INIT| are of internal interest +only and not mentioned further. +% +}. +\lstinline|IRQ_FLAG_NOT| flips +the polarity of the signal (raising an \ac{IRQ} with \lstinline|value| 1 results +in a \lstinline|value| of 0 and vice versa). +Setting \lstinline|IRQ_FLAG_FILTERED| instructs \simavr to ignore \ac{IRQ} +raises with unchanged values. + +\lstinline|hook| contains a linked list of chained \acp{IRQ} and +\lstinline|avr_irq_notify_t| callbacks. + +\begin{lstlisting} +typedef void (*avr_irq_notify_t)( + struct avr_irq_t * irq, + uint32_t value, + void * param); + +void +avr_irq_register_notify( + avr_irq_t * irq, + avr_irq_notify_t notify, + void * param); +\end{lstlisting} + +Callbacks are executed whenever an \ac{IRQ} is raised (and is not filtered). +Chained \acp{IRQ} are raised whenever the \ac{IRQ} they are connected to is raised. + +As briefly mentioned in section \ref{section:simavr_example_walkthrough}, module +implementations usually structure communication with the \simavr core by +allocating their own private \acp{IRQ}, which are then connected to the target +\simavr \acp{IRQ}. Callbacks are registered on private \acp{IRQ}; +likewise, only private \acp{IRQ} are raised. This +ensures maximum flexibility since \ac{IRQ} connections are defined in one single +location. Relevant functions are: + +\begin{lstlisting} +avr_irq_t * +avr_alloc_irq( + avr_irq_pool_t * pool, + uint32_t base, + uint32_t count, + const char ** names /* optional */); + +void +avr_irq_register_notify( + avr_irq_t * irq, + avr_irq_notify_t notify, + void * param); + +void +avr_connect_irq( + avr_irq_t * src, + avr_irq_t * dst); + +void +avr_raise_irq( + avr_irq_t * irq, + uint32_t value); +\end{lstlisting} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{\acf{IO}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The \lstinline|IO| module consists of two separate, yet complementary parts: on the one hand, +a systematic way of defining actions that take place when \lstinline|IO| registers +are accessed, and on the other the \lstinline|avr_io_t| infrastructure, which +provides unified access to module \acp{IRQ}, reset and deallocation callbacks, +and a \ac{IOCTL} system. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{\acf{IO} Register Callbacks} \label{subsection:io_register_callbacks} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +We will examine the \ac{IO} register callback system first. Whenever the \simavr +core reads or writes an \ac{IO} register during instruction processing (see section +\ref{section:instruction_processing}), it first checks if a callback exists for +that address. Assuming it does, a write access will result in a call to the +write callback instead of setting \lstinline|avr->data| directly: + +\begin{lstlisting} +static inline void _avr_set_r(avr_t * avr, uint8_t r, uint8_t v) +{ + /* [...] */ + uint8_t io = AVR_DATA_TO_IO(r); + if (avr->io[io].w.c) + avr->io[io].w.c(avr, r, v, avr->io[io].w.param); + else + avr->data[r] = v; + if (avr->io[io].irq) { + avr_raise_irq(avr->io[io].irq + AVR_IOMEM_IRQ_ALL, v); + for (int i = 0; i < 8; i++) + avr_raise_irq(avr->io[io].irq + i, (v >> i) & 1); + } + /* [...] */ +} +\end{lstlisting} + +This snippet contains several interesting bits; first of all, we are reminded that \ac{IO} +addresses are offset by \lstinline|0x20| (these are added by \lstinline|AVR_DATA_TO_IO|). +Next up, we see that write callbacks need to set the \lstinline|avr->data| value +themselves if necessary. Notice also that a custom parameter is passed into the callback, +like most other callback systems in \simavr. Finally, the associated \lstinline|IOMEM| \acp{IRQ} are +raised; both bitwise and the byte \ac{IRQ} \lstinline|AVR_IOMEM_IRQ_ALL|. + +Read accesses are very similar, except that (somewhat counter-intuitively), the value returned +by the callback is automatically written to \lstinline|avr->data|. + +Access callbacks plus associated \lstinline|IOMEM| \acp{IRQ} are stored +in the \lstinline|avr->io| array. \lstinline|MAX_IOs| is currently set to +\lstinline|279|, enough to handle all used \ac{IO} registers on \acp{AVR} like +the \verb|atmega1280|, which go up to an address of \lstinline|0x136|\footnote{ +\lstinline|279| $=$ \lstinline|0x136| $-$ \lstinline|0x20| $+$ \lstinline|0x01|}. + +\begin{lstlisting} +struct { + struct avr_irq_t * irq; + struct { + void * param; + avr_io_read_t c; + } r; + struct { + void * param; + avr_io_write_t c; + } w; +} io[MAX_IOs]; +\end{lstlisting} + +Callbacks are registered using the function duo of \lstinline|avr_register_io_write| +and \lstinline|avr_register_io_read|. \acp{IRQ} are created on-demand whenever +the \lstinline|avr_iomem_getirq| function is called. + +The included \simavr modules (implemented in files beginning with the \verb|avr_| prefix) +provide many practical examples of \ac{IO} callback usage; for example, +the \verb|avr_timer| module uses \ac{IO} callbacks to start the timer when +a clock source is enabled through the timer registers. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{The \lstinline|avr_io_t| Module} \label{subsection:avr_io_t} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The \lstinline|avr_io_t| infrastructure provides additional functionality to +modules, including reset and deallocation callbacks, central \ac{IRQ} handling, +and a \ac{IOCTL} function. The full struct reference is provided here for reference: + +\begin{lstlisting} +typedef struct avr_io_t { + struct avr_io_t * next; + avr_t * avr; + const char * kind; + + const char ** irq_names; + + uint32_t irq_ioctl_get; + int irq_count; + struct avr_irq_t * irq; + + void (*reset)(struct avr_io_t *io); + int (*ioctl)(struct avr_io_t *io, uint32_t ctl, void *io_param); + void (*dealloc)(struct avr_io_t *io); +} avr_io_t; +\end{lstlisting} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsubsection{Initialization in the \lstinline|avr_ioport| Module} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +For a typical way of initializing an \lstinline|avr_io_t| struct, let's look at +the \verb|avr_ioport| module. + +\begin{lstlisting} +static const char * irq_names[IOPORT_IRQ_COUNT] = { + [IOPORT_IRQ_PIN0] = "=pin0", + [IOPORT_IRQ_PIN1] = "=pin1", + /* [...] */ + [IOPORT_IRQ_PIN7] = "=pin7", + [IOPORT_IRQ_PIN_ALL] = "=all", + [IOPORT_IRQ_DIRECTION_ALL] = ">ddr", +}; + +static avr_io_t _io = { + .kind = "port", + .reset = avr_ioport_reset, + .ioctl = avr_ioport_ioctl, + .irq_names = irq_names, +}; +\end{lstlisting} + +Once again, struct set initialization is used to partially configure a module. +Passed in are the reset and \ac{IOCTL} handlers, a module name (for debugging +purposes), and a list of \ac{IRQ} names. The deallocation handler is not used +by the \verb|avr_ioport| module. + +\begin{lstlisting} +void avr_ioport_init(avr_t * avr, avr_ioport_t * p) +{ + p->io = _io; + + avr_register_io(avr, &p->io); + avr_register_vector(avr, &p->pcint); + avr_io_setirqs(&p->io, AVR_IOCTL_IOPORT_GETIRQ(p->name), IOPORT_IRQ_COUNT, NULL); + + avr_register_io_write(avr, p->r_port, avr_ioport_write, p); + avr_register_io_read(avr, p->r_pin, avr_ioport_read, p); + avr_register_io_write(avr, p->r_pin, avr_ioport_pin_write, p); + avr_register_io_write(avr, p->r_ddr, avr_ioport_ddr_write, p); +} +\end{lstlisting} + +Moving on to \lstinline|avr_ioport_init|; the private, partially initialized +\lstinline|avr_io_t| is copied to the \lstinline|avr_ioport_t|. \lstinline|io| +is the first member of the module struct to facilitate easy simple conversion +between \lstinline|avr_io_t| and \lstinline|avr_ioport_t| pointers (this is used +in the \ac{IOCTL} function). + +\lstinline|avr_register_io| adds the \ac{IO} module +to the linked list stored in the main \lstinline|avr_t| instance, which is iterated +at \ac{AVR} reset and deallocation events; it is also used by the \ac{IOCTL} and +to retrieve \acp{IRQ}. + +\lstinline|avr_io_setirqs| is then called to create the \lstinline|IOPORT| \acp{IRQ}. +The \ac{ID} generated by \lstinline|AVR_IOCTL_IOPORT_GETIRQ| is stored for subsequent +use during \ac{IRQ} retrieval. + +The remaining functions called by \lstinline|avr_ioport_init| +have been left in to convey a complete picture of \verb|avr_ioport| +initialization. \lstinline|avr_register_vector| registers the external interrupt vector, +and the \lstinline|avr_register_io_*| functions create access handlers on \ac{IO} +registers as discussed in section \ref{subsection:io_register_callbacks}. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsubsection{Implementation Overview} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\acp{IOCTL} provide a way to trigger arbitrary functionality\footnote{ +% +For example, the \lstinline|avr_ioport| +module uses the \ac{IOCTL} system to allow extracting the state of a particular port's +\lstinline|PORT|, \lstinline|PIN|, and \lstinline|DDR| registers; \lstinline|avr_eeprom| +allows getting and setting memory locations. +% +} in modules. Whenever +a \ac{IOCTL} is triggered by calling \lstinline|avr_ioctl|, the \ac{IOCTL} handler +of all modules registered in the \lstinline|avr->io_port| linked list is called +in sequence until one responds to that particular command by returning a value +other than \lstinline|-1|. This is then returned to the caller. + +The reset handler is called whenever \lstinline|avr_reset| is called, allowing +the module to do react appropriately. In \qsimavr, a major reason for registering +as a \lstinline|avr_io_t| module was to recreate cycle timers and restart \ac{VCD} +traces. + +If a module allocates resources, these can be freed during the deallocation handler. + +Finally, \lstinline|avr_io_getirq| lets a module ``publish'' its \acp{IRQ} for +use by other modules or applications built on top of \simavr. This function is +used whenever a \qsimavr component is connected to \simavr modules: + +\begin{lstlisting} +avr_connect_irq(avr_io_getirq(avr, AVR_IOCTL_IOPORT_GETIRQ(PORT), PIN), irq + IRQ_TEMP_DQ); +\end{lstlisting} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{\acf{VCD} Files} \label{section:vcd_files} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ac{VCD} is a simple file format for dumps of signal changes over time. Each file +consists of a header containing general information (most importantly, the +used timescale which is always 1ns in \simavr dumps), variable definitions +(containing the name and size of each tracked signal), and finally the value +changes themselves. The following example contains the header section, variable +definitions, and initial value changes of a three signal \ac{VCD} file generated +by \simavr: + +\begin{verbatim} +$timescale 1ns $end +$scope module logic $end +$var wire 1 ! temp.data $end +$var wire 1 # eeprom); + avr_flash_init(avr, &mcu->selfprog); + avr_extint_init(avr, &mcu->extint); + avr_watchdog_init(avr, &mcu->watchdog); + avr_ioport_init(avr, &mcu->porta); + + /* [...] */ +} +\end{lstlisting} + +A short excerpt of \verb|atmega1280|'s \lstinline|TIMER0| initialization should +throw some light on how components are configured. Notice how all register and +bit locations rely on \emph{avr-libc} definitions: + +\begin{lstlisting} +.timer0 = { + .name = '0', + .wgm = { AVR_IO_REGBIT(TCCR0A, WGM00), AVR_IO_REGBIT(TCCR0A, WGM01), AVR_IO_REGBIT(TCCR0B, WGM02) }, + .wgm_op = { + [0] = AVR_TIMER_WGM_NORMAL8(), + [2] = AVR_TIMER_WGM_CTC(), + [3] = AVR_TIMER_WGM_FASTPWM8(), + [7] = AVR_TIMER_WGM_OCPWM(), + }, + .cs = { AVR_IO_REGBIT(TCCR0B, CS00), AVR_IO_REGBIT(TCCR0B, CS01), AVR_IO_REGBIT(TCCR0B, CS02) }, + .cs_div = { 0, 0, 3 /* 8 */, 6 /* 64 */, 8 /* 256 */, 10 /* 1024 */ }, + + .r_tcnt = TCNT0, + + .overflow = { + .enable = AVR_IO_REGBIT(TIMSK0, TOIE0), + .raised = AVR_IO_REGBIT(TIFR0, TOV0), + .vector = TIMER0_OVF_vect, + }, + /* ... */ +} +\end{lstlisting} + +Adding a new \ac{MCU} definition is a simple matter of creating a new \verb|sim_*.c| +file in \verb|simavr/cores| and defining all included components with the help +of \emph{avr-libc} and a datasheet. + +This concludes our tour of the \simavr core modules. You should now have a +good idea of how \simavr internals work together and complement each +other to create an \ac{AVR} simulation which is accurate, reliable, yet simple, +efficient, and easy to extend. For an example of all of these concepts in practice, +take a look at the modules included with \simavr. A good example is the \verb|avr_eeprom| +module, which uses a combination of interrupts, an \lstinline|avr_io_t| module, +and \ac{IO} access callbacks to achieve the desired functionality. + +%% +%% = eof ===================================================================== +%% -- 2.39.5