[FE training-materials-updates] android: Add hardware introduction
Maxime Ripard
maxime.ripard at free-electrons.com
Tue Jul 22 11:42:42 CEST 2014
Repository : git://git.free-electrons.com/training-materials.git
On branch : master
Link : http://git.free-electrons.com/training-materials/commit/?id=8e1889ccdb230a3f21d66462c6daf273f2e8d6d3
>---------------------------------------------------------------
commit 8e1889ccdb230a3f21d66462c6daf273f2e8d6d3
Author: Maxime Ripard <maxime.ripard at free-electrons.com>
Date: Mon Jul 21 16:44:47 2014 +0200
android: Add hardware introduction
Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
>---------------------------------------------------------------
8e1889ccdb230a3f21d66462c6daf273f2e8d6d3
Makefile | 1 +
.../android-introduction-hardware.tex | 146 ++++++++++++++++++++
slides/android-introduction-hardware/maid-oven.jpg | Bin 0 -> 266079 bytes
slides/android-introduction-hardware/nook.jpg | Bin 0 -> 111359 bytes
.../nordicktrack-treadmill.jpg | Bin 0 -> 74072 bytes
slides/android-introduction-hardware/odroid.jpg | Bin 0 -> 32477 bytes
6 files changed, 147 insertions(+)
diff --git a/Makefile b/Makefile
index c6eb915..a5929cd 100644
--- a/Makefile
+++ b/Makefile
@@ -132,6 +132,7 @@ ANDROID_SLIDES = \
android-introduction-features \
android-introduction-history \
android-introduction-architecture \
+ android-introduction-hardware \
android-introduction-lab \
android-source-title \
android-source-obtaining \
diff --git a/slides/android-introduction-hardware/android-introduction-hardware.tex b/slides/android-introduction-hardware/android-introduction-hardware.tex
new file mode 100644
index 0000000..54fafe5
--- /dev/null
+++ b/slides/android-introduction-hardware/android-introduction-hardware.tex
@@ -0,0 +1,146 @@
+\subsection{Hardware Requirements for Android}
+
+\begin{frame}
+ \frametitle{Android Hardware Requirements}
+ \begin{itemize}
+ \item Google produces a document updated every new Android version
+ called the Compatibility Definition Document (\emph{CDD}).
+ \item This document provides all the informations you need on the
+ expectations Google have about what should be an Android device
+ \item It details both the hardware and the global behaviour of the
+ system.
+ \item While nothing forces you to follow that document if you don't
+ care about the Google applications, it usually gives a good idea
+ of the current hardware requirements.
+ \item We'll be detailing the requirements for KitKat
+ \item \url{http://source.android.com/compatibility/android-cdd.pdf}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{SoC requirements}
+ \begin{itemize}
+ \item Since Android in itself is quite huge, the hardware required
+ is quite powerful.
+ \item Unlike Linux, Android officially supports only a few
+ architectures
+ \begin{itemize}
+ \item ARM v7a (basically, all the SoCs based on the Cortex-A CPUs)
+ \item x86
+ \item MIPS
+ \end{itemize}
+ \item You also need to have a powerful enough GPU with OpenGL ES
+ support. Latest versions of Android require the 3D hardware
+ acceleration
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Storage and RAM needed}
+ \begin{itemize}
+ \item The required RAM size is also quite huge, 340MB are required
+ for the kernel and userspace memory
+ \item Required storage is quite huge as well. An image of the system
+ is around 200-300MB, and you must have 350MB of data space for the
+ user plus 1GB of shared storage for the applications.
+ \item This is the minimum, and Google actually strongly suggest to
+ have at least 2GB dedicated to the applications in order to be
+ able to upgrade to a later version
+ \item Google recommends to use block devices for storage and not
+ flash devices.
+ \item The shared space has to be accessible from a host computer by
+ some way, like NFS, USB Mass Storage, MTP, etc.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{External Peripherals 1/2}
+ \begin{itemize}
+ \item No form of communication supported is mandatory, but you need
+ at least one form of data networking with a throughput of at least
+ 200 kbit per second.
+ \item You will also need obviously a rather large screen with a
+ pointer device, presumably a touchscreen.
+ \item Screens supported must have a screen size of at least 2.5
+ inches, with a minimal resolution of 426x320, with a ratio between
+ 4:3 and 16:9 and with a color depth of at least 16bits.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{External Peripherals 2/2}
+ \begin{itemize}
+ \item Sensors are not mandatory, but depending of the class of
+ sensors, they are:
+ \begin{itemize}
+ \item Recommended
+ \begin{itemize}
+ \item Accelerometer
+ \item Magnetometer
+ \item GPS
+ \item Gyroscope
+ \end{itemize}
+ \item Optional
+ \begin{itemize}
+ \item Barometer
+ \item Photometer
+ \item Proximity Sensor
+ \end{itemize}
+ \item Optional but discouraged
+ \begin{itemize}
+ \item Thermometer
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Unusual Android Devices: Nook E-Book Reader}
+ \begin{center}
+ \includegraphics[width=\textwidth,height=0.7\textheight,keepaspectratio]{slides/android-introduction-hardware/nook.jpg}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Unusual Android Devices: Portable Console}
+ \begin{center}
+ \includegraphics[width=\textwidth,height=0.7\textheight,keepaspectratio]{slides/android-introduction-hardware/odroid.jpg}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Unusual Android Devices: Microwave Oven}
+ \begin{center}
+ \includegraphics[width=\textwidth,height=0.7\textheight,keepaspectratio]{slides/android-introduction-hardware/maid-oven.jpg}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Unusual Android Devices: Treadmill}
+ \begin{center}
+ \includegraphics[width=\textwidth,height=0.7\textheight,keepaspectratio]{slides/android-introduction-hardware/nordicktrack-treadmill.jpg}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{When to choose Android}
+ \begin{itemize}
+ \item All of the requirements listed above are only if you want to
+ be eligible to the Android Play Store
+ \item If you don't want to get the store, you can obviously ignore
+ these
+ \item However, Android really makes sense in a system that has at
+ least:
+ \begin{itemize}
+ \item A large screen
+ \item A powerful SoC, with several CPUs, plenty of RAM and storage
+ space (around 2GB) and a decent GPU
+ \end{itemize}
+ \item This is not an advisable choice when you want to build a
+ headless system, or a cheap system with limited resources
+ \item In this case, a regular Linux system is definitely more
+ appropriate. It will save you engineering costs, reduce the price
+ of your hardware, and bring the same set of features you could
+ expect from a headless Android
+ \end{itemize}
+\end{frame}
diff --git a/slides/android-introduction-hardware/maid-oven.jpg b/slides/android-introduction-hardware/maid-oven.jpg
new file mode 100644
index 0000000..a390a4a
Binary files /dev/null and b/slides/android-introduction-hardware/maid-oven.jpg differ
diff --git a/slides/android-introduction-hardware/nook.jpg b/slides/android-introduction-hardware/nook.jpg
new file mode 100644
index 0000000..e4a9aae
Binary files /dev/null and b/slides/android-introduction-hardware/nook.jpg differ
diff --git a/slides/android-introduction-hardware/nordicktrack-treadmill.jpg b/slides/android-introduction-hardware/nordicktrack-treadmill.jpg
new file mode 100644
index 0000000..2b761ff
Binary files /dev/null and b/slides/android-introduction-hardware/nordicktrack-treadmill.jpg differ
diff --git a/slides/android-introduction-hardware/odroid.jpg b/slides/android-introduction-hardware/odroid.jpg
new file mode 100644
index 0000000..cdd2067
Binary files /dev/null and b/slides/android-introduction-hardware/odroid.jpg differ
More information about the training-materials-updates
mailing list