master
Peter Babič 9 years ago
parent 3699ffa109
commit f2ad0d1eab
  1. 32
      bibliography.bib
  2. BIN
      figures/android_scr.png
  3. BIN
      figures/linux_block.jpg
  4. 5
      introduction.tex
  5. 87
      problemexpres.tex
  6. BIN
      sources/linux_block.odg
  7. BIN
      tukethesis.pdf
  8. 6
      tukethesis.tex

@ -28,3 +28,35 @@
year={2011},
publisher={Wiley}
}
@book{holt2014embedded,
title={Embedded Operating Systems: A Practical Approach},
author={Holt, A. and Huang, C.Y.},
isbn={9781447166030},
series={Undergraduate Topics in Computer Science},
url={https://books.google.es/books?id=M7HBBAAAQBAJ},
year={2014},
publisher={Springer London}
}
@book{jean2002microc,
title={MicroC/OS-II: The Real Time Kernel},
author={Jean J. Labrosse},
isbn={9781578201037},
lccn={2002281934},
series={Meets requirements for safety-critical systems},
url={https://books.google.es/books?id=exHUsQoEgD4C},
year={2002},
publisher={Taylor \& Francis}
}
@book{bovet2005understanding,
title={Understanding the Linux Kernel},
author={Bovet, D.P. and Cesati, M.},
isbn={9780596554910},
url={https://books.google.es/books?id=h0lltXyJ8aIC},
year={2005},
publisher={O'Reilly Media}
}

BIN
figures/android_scr.png (Stored with Git LFS)

Binary file not shown.

BIN
figures/linux_block.jpg (Stored with Git LFS)

Binary file not shown.

@ -27,4 +27,7 @@
\nomenclature{LAN}{Local area network}
\nomenclature{MAN}{Metropolitan are network}
\nomenclature{USB}{Universal serial bus}
\nomenclature{OS}{Operating system}
\nomenclature{OS}{Operating system}
\nomenclature{RTOS}{Real-time operating system}
\nomenclature{IC}{Integrated circuit}
\nomenclature{EEPROM}{Electrically Erasable Programmable Read-Only Memory}

@ -7,24 +7,87 @@ The term embedded system is quite broad, so there is no surprise that the spectr
\subsection{System-on-chip}
Today's state of chip integration allows production costs of a complex system on chip devices to be relatively low, thus making very SoCs attractive choice for embedded systems. Soc could be described as an integrated circuit (IC) that integrates all components of a computer or other electronic system into a single chip. It may contain digital, analog, mixed-signal, and often radio-frequency functions - all on a single chip substrate \citep{flynn2011computer}. SoCs are very common in the mobile electronics market because of their low power consumption.
A typical SoC consists of:
\begin{itemize}
\item a microcontroller, microprocessor or digital signal processor (DSP) core(s)
\item memory blocks including a selection of ROM, RAM, EEPROM and flash
\item timing sources including oscillators and phase-locked loops
\item peripherals including counter-timers, real-time timers and power-on reset generators
\item external interfaces, including industry standards such as USB, FireWire, Ethernet, USART, SPI
\item analog interfaces including ADCs and DACs
\item voltage regulators and power management circuits
\item a bus connecting these blocks
\end{itemize}
%\begin{minipage}{\textwidth}
A typical SoC consists of (specific block diagram can be seen on \ref{f:ar_block}):
\begin{itemize}
\item a microcontroller, microprocessor or digital signal processor (DSP) core(s)
\item memory blocks including a selection of ROM, RAM, EEPROM and Flash
\item timing sources including oscillators and phase-locked loops
\item peripherals including counter-timers, real-time timers and power-on reset generators
\item external interfaces, including industry standards such as USB, FireWire, Ethernet, USART, SPI
\item analog interfaces including ADCs and DACs
\item voltage regulators and power management circuits
\item a bus connecting these blocks
\end{itemize}
%\end{minipage}
SoCs can be implemented as an application-specific integrated circuit (ASIC) or using a field-programmable gate array (FPGA).
\subsection{Operating systems}
safd
An operating system is a computer program that supports a computer's basic functions, and provides services to other programs (or applications) that run on the computer. The applications provide the functionality that the user of the computer wants or needs. The services provided by the operating system make writing the applications faster, simpler, and more maintainable.
Over time, a lot of embedded operating systems suited for embedded systems were developed. An \textit{embedded operating system} is a type of operating system that is embedded and specifically configured for a certain hardware configuration. Hardware that uses embedded operating systems is designed to be lightweight and compact, forsaking many other functions found in non-embedded (i.e. desktop) computer systems in exchange for efficiency at resource usage \cite{holt2014embedded}. This means that they are made to do specific tasks and do them efficiently.
\begin{figure}[ht!]
\centering
\includegraphics[width=.4\textwidth,angle=0]{android_scr.png}
\caption{The Android 5 (Lollipop) screenshot - the most common operating system is among embedded ones}\label{f:android_scr}
\end{figure}
%\begin{minipage}{\textwidth}
Notable embedded OSs currently in use by consumers include:
\begin{itemize}
\item \textbf{Symbian} - used in cell phones, mainly ones made by Nokia
\item \textbf{Embedded Linux} - used in many other devices like printers, routers or smart TVs; Android \ref{f:android_scr} is a subset of embedded Linux
\item \textbf{BlackBerry OS} - for BlackBerry phones
\item \textbf{iOS} - subset of Mac OS X, used in Apple’s mobile devices
Palm OS
\item \textbf{Windows Mobile}
\end{itemize}
%\end{minipage}
\subsection{Real-time operating systems}
A real time operating system is just a special purpose operating system. The \textit{real time} part of the name does not mean that the system responds quickly, it just means that there are rigid time requirements that must be met. If these time requirements are not met, the results can become inaccurate or unreliable\citep{jean2002microc}. Embedded systems frequently posses the real time requirement.
%\begin{minipage}{\textwidth}
There are two kinds of RTOS:
\begin{description}
\item[Hard Real Time]- system delays are known or at least bounded. Said to be operating correctly if the system can return results within any time constraints.
\item[Soft Real Time]- critical tasks get priority over other tasks and will retain priority until the task is completed. This is another way of saying that real time tasks cannot be kept waiting indefinitely. Soft real time makes it easier to mix the system with other systems.
\end{description}
%\end{minipage}
\subsection{Embedded Linux}
Linux itself is a kernel, but \textit{Linux} in day to day terms rarely means so. Embedded Linux generally refers to a complete Linux distribution targeted at embedded devices. There is no Linux kernel specifically targeted at embedded devices, the same Linux kernel source code can be built for a wide range of devices, workstations, embedded systems, and desktops though it allows the configuration of a variety of optional features in the kernel itself. In the embedded development context, there can be an embedded Linux system which uses the Linux kernel and other software or an embedded Linux distribution which is a prepackaged set of applications meant for embedded systems and is accompanied by development tools to build the system\citep{hallinan2010embedded}.
With the availability of consumer embedded devices, communities of users and developers were formed around theses devices: Replacement or enhancements of the Linux distribution shipped on the device has often been made possible thanks to availability of the source code and to the communities surrounding the devices. Due to the high number of devices, standardized build systems have appeared like OpenEmbedded, Buildroot, OpenWrt, and LTIB.
\subsection{Kernel}
The \textit{kernel} is the essential center of a computer operating system, the core that provides basic services for all other parts of the operating system \cite{bovet2005understanding}. It has complete control over what happens in the system. A kernel can be contrasted with a \textit{shell}, the outermost part of an operating system that interacts with user commands. Kernel and shell are terms used more frequently in Unix or Unix-like operating systems than in IBM mainframe or Microsoft Windows systems.
\begin{figure}[ht!]
\centering
\includegraphics[width=.6\textwidth,angle=0]{linux_block.jpg}
\caption{The simplified view on the Linux system structure}\label{f:linuxbl}
\end{figure}
The simplified view on the Linux system structure can be seen on \ref{f:linuxbl}. It does not include device drivers, compilers, deamon, utilities, commands, library files and such, but should be enough for a demonstration.
\subsection{OpenWRT}
OpenWrt is an operating system (in particular, an embedded operating system) based on the Linux kernel, primarily used on embedded devices to route network traffic. The main components are the Linux kernel, util-linux, uClibc and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home routers.
OpenWrt is configured using a command-line interface (ash shell), or a web interface (LuCI). There are about 3500 optional software packages available for installation via the opkg package management system.
\newpage
\section{GL.inet board}
GL.inet Smart Router is a remake of a common TP-Link router TL-WR703N. The board changes include, but are not limited to, increased RAM and Flash memory, custom firmware and what is the most important - 5 usable GPIO pins exposed to the 2cm pin header for utility. Whole thesis is revolving around taking advantage of this fact. Basic information about the router are shown in Table \ref{t:charact}.

BIN
sources/linux_block.odg (Stored with Git LFS)

Binary file not shown.

BIN
tukethesis.pdf (Stored with Git LFS)

Binary file not shown.

@ -189,11 +189,13 @@ o~hlavných metódach, ktoré pri spracovaní záverečnej práce použil.
\listofterms % begin the 'List of Therms'
\begin{description}
\item[Ethernet] is a family of computer networking technologies for local area networks (LANs) and metropolitan area networks (MANs). it's standars is IEEE 802.3.
\item[Firmware] is "the combination of a hardware device, e.g. an integrated circuit, and computer instructions and data that reside as read only software on that device". As a result, firmware usually cannot be modified during normal operation of the device.
\item[Flash] (memory) is an electronic non-volatile computer storage medium that can be electrically erased and reprogrammed. Flash memory was developed from EEPROM (electrically erasable programmable read-only memory).
\item[Router] is a networking device that forwards data packets between computer networks. A router is connected to two or more data lines from different networks.
\item[Ethernet] is a family of computer networking technologies for local area networks (LANs) and metropolitan area networks (MANs). it's standars is IEEE 802.3.
\item[Linux] is a Unix-like and mostly POSIX-compliant computer operating system assembled under the model of free and open-source software development and distribution.
\item[Router] is a networking device that forwards data packets between computer networks. A router is connected to two or more data lines from different networks.
\item[System] is a set of interacting or interdependent components forming an integrated whole, observing properties not obtainable with individual components.
\end{description}

Loading…
Cancel
Save