[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