MT/main.tex

217 lines
8.4 KiB
TeX

\documentclass[a4paper,11pt,hidelinks]{report}
% {{{ Packages
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[pdftex]{graphicx}
\usepackage{multirow}
\usepackage{color}
\usepackage[pdftex,
pdfauthor={Felix Martin},
colorlinks=false]{hyperref}
\usepackage{units}
\usepackage{csquotes}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{ntheorem}
\newtheorem{hyp}{Hypothesis}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\usepackage[font={small}]{caption}
% }}}
% {{{ Glossary
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{osek}{name=OSEK/VDX, description={Offene Systeme und deren
Schnittstellen für die Elektronik in Kraftfahrzeugen}}
\newglossaryentry{osekos}{name={OSEK OS}, description={OSEK Operating System}}
\newglossaryentry{orti}{name=ORTI, description={OSEK Run Time Interface}}
\newglossaryentry{os}{name=OS, description={Operating System}}
\newglossaryentry{ta}{name=TA, description={Timing-Architects Embedded Systems GmbH}}
\newglossaryentry{ecu}{name=ECU, description={Engine Control Unit}}
\newglossaryentry{autosar}{name=AUTOSAR, description={AUTomotive Open System ARchitecture}}
\newglossaryentry{autosaros}{name={AUTOSAR OS}, description={AUTOSAR Operating System}}
\newglossaryentry{api}{name=API, description={Application Programming Interface}}
\newglossaryentry{io}{name=I/O, description={Input/Output}}
\newglossaryentry{mcal}{name=MCAL, description={Microcontroller Abstraction Layer}}
\newglossaryentry{isr}{name=ISR, description={Interrupt Service Routine}}
\newglossaryentry{osekcc}{name=CC, description={OSEK Conformance Class}}
\newglossaryentry{mta}{name=MTA, description={Multiple Task Activation}}
\newglossaryentry{vfb}{name=VFB, description={Virtual Function Bus}}
\newglossaryentry{id}{name=ID, description={Identifier}}
\newglossaryentry{oil}{name=OIL, description={OSEK Implementation Language}}
\newglossaryentry{koil}{name=KOIL, description={Kernel Object Interface Language}}
\newglossaryentry{pob}{name=POB, description={Processor Observation Block}}
\newglossaryentry{bob}{name=BOB, description={Bus Observation Block}}
\newglossaryentry{etm}{name=ETM, description={Embedded Trace Macrocell}}
\newglossaryentry{dma}{name=DMA, description={Direct Memory Access}}
\newglossaryentry{agbt}{name=AGBT, description={Aurora Gigabit Interface}}
\newglossaryentry{imds}{name=IMDS, description={Infineon Multicore Debug Solution}}
\newglossaryentry{jtag}{name=JTAG, description={Joint Test Action Group}}
\newglossaryentry{daq}{name=DAQ, description={Data AcQuisition}}
\newglossaryentry{elf}{name=ELF, description={Executable and Linkable Format}}
\newglossaryentry{btf}{name=BTF, description={Best Trace Format}}
\newglossaryentry{oem}{name=OEM, description={Original equipment manufacturer}}
\newglossaryentry{rte}{name=RTE, description={Real Time Evaluation}}
\newglossaryentry{ipa}{name=IPA, description={Inter-Process Activation}}
\newglossaryentry{ee}{name=EE, description={ERIKA Enterprise Operating System}}
\newglossaryentry{rpc}{name=RPC, description={Remote Procedure Call}}
% }}}
% {{{ Get nice chapter titles
\usepackage{titlesec}
\titleformat{\chapter}[hang]{\bf\huge}{\thechapter}{2pc}{}
% }}}
% {{{ Package for adding todo comments to pdf
\usepackage[colorinlistoftodos]{todonotes}
\newcommand\todoin[2][]{\todo[inline, caption={2do}, #1]{
\begin{minipage}
{\textwidth-4pt}#2
\end{minipage}}
}
% }}}
% {{{ Listing Configuration
\usepackage{listings}
\usepackage{listing}
\usepackage{float}
\floatstyle{plaintop}
\newfloat{code}{tb}{lop}[chapter]
\floatname{code}{Code}
\lstset{%
basicstyle=\footnotesize, % the size of the fonts that are used for the code
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
breaklines=true, % sets automatic line breaking
captionpos=b, % sets the caption-position to bottom
escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
extendedchars=true, % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
language=C, % the language of the code
numbers=left,
keywords={},
frame=leftline,
numbersep=10pt, % how far the line-numbers are from the code
numberstyle=\tiny,
showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
showstringspaces=false, % underline spaces within strings only
showtabs=false, % show tabs within strings adding particular underscores
stepnumber=5, % the step between two line-numbers. If it's 1, each line will be numbered
tabsize=2, % sets default tabsize to 2 spaces
% aboveskip=20pt, % increase space between text and top of listing
% belowskip=20pt, % increase space between bottom of listing and text
}
% }}}
% {{{ Set page heading design
\input{./config/pageheading.tex}
% }}}
% {{{ Provide meta info
\author{Felix Martin}
\title{Recording of an Operating System Aware Hardware Trace}
\date{\today}
% }}}
\begin{document}
% {{{ Title
\input{./config/title.tex}
%empty page - only needed for twoside
%\clearpage\mbox{}\thispagestyle{empty}\clearpage
% }}}
% {{{ Abstract and List of contents
\setcounter{page}{1}
\pagestyle{fancy}
\pagenumbering{roman}
\newpage
\input{./content/abstract.tex}
\addcontentsline{toc}{section}{Abstract}
\newpage
\tableofcontents
\addcontentsline{toc}{section}{Contents}
\newpage
\parskip = 0pt %avoid empty lines
%empty page - only needed for twoside
%\clearpage\mbox{}\thispagestyle{empty}\clearpage
% }}}
% {{{ Content
\setcounter{page}{1}
\pagenumbering{arabic}
\input{./content/introduction.tex}
% * Show what related tools cannot do
% * AUTOSAR OS measures task execution times
% * http://www.eetimes.com/document.asp?doc_id=1278315
% * Figure out how they do it and why we are better
% * http://www.bmw-carit.com/downloads/publications/RealtimeSystemDesignUtilizingAUTOSARMethodology.pdf
% * https://en.wikipedia.org/wiki/Tracing_(software)
% * Paper von Andreas von den Typen in Muenchen vom Tuev/Frauenhofer
% * System level performance analysis for real-time automotive multicore and network architectures
% * http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5075823&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5075823
% * MultiCore Benefits & Challenges for Automotive Applications
% * http://papers.sae.org/2008-01-0989/
\input{./content/fundamentals.tex}
\input{./content/osek.tex}
\input{./content/system_trace.tex}
\input{./content/hardware_tracing.tex}
\input{./content/mapping.tex}
\chapter{Validation}
\label{chapter:validation}
\input{./content/validation_intro.tex}
\input{./content/testbench.tex}
\input{./content/tests.tex}
\input{./content/conclusion.tex}
\input{./content/future.tex}
% }}}
% {{{ Appendix
% Some work is necessary to get the appendix as we want it. At first we
% change chapter numbers to letters (Alph). Then we reset the counter. This
% confuses hyperref which is why we have to renew theHchapter.
\renewcommand\thechapter{\Alph{chapter}}
\setcounter{chapter}{0}
\renewcommand*{\theHchapter}{chX.\the\value{chapter}}
\chapter{Appendix}
\listoffigures
\addcontentsline{toc}{section}{\protect\numberline{\thesection}List of Figures}
\stepcounter{section}
\newpage
\listoftables
\addcontentsline{toc}{section}{\protect\numberline{\thesection}List of Tables}
\stepcounter{section}
\newpage
\listoflistings
\addcontentsline{toc}{section}{\protect\numberline{\thesection}List of Listings}
\stepcounter{section}
\newpage
\printglossary[title={Keywords}]
\addcontentsline{toc}{section}{\protect\numberline{\thesection}Keywords}
\stepcounter{section}
% Bibliographie
% see http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management for help
% this helps to get bibtex entries http://literatur-generator.de/
\bibliographystyle{plain}
\bibliography{./bib/main}
\addcontentsline{toc}{section}{\protect\numberline{\thesection}Bibliography}
\stepcounter{section}
% Verzichtserklärung
\newpage
\input{./content/erkl.tex}
% }}}
\end{document}