Embedded Android Boot Camp
About this Course
|Course Type||Course Code||Duration|
|Embedded Software||BSEMB1029||4 Days|
Embedded Android Boot Camp is a one-week immersion into the Android operating system and its use on embedded hardware platforms. The training program consisting of an alternating series of lectures and hands-on exercises. This intense educational (and exciting!) program is designed to lead software engineers through the steps of bringing up embedded hardware with the Android OS, developing custom device drivers, and publishing the APIs of those custom device drivers to Android apps.
Why Attend this Course?
What Makes this Course Stand Apart?
What you will Learn?
Everyone who attends the Embedded Android Boot Camp learns a ton, including:
How to build a bootloader, the Linux kernel, and Android
How to create and debug Linux and Android device drivers for unique hardware
How to add custom system services and frameworks to Android
How to call custom C libraries from Java
How to integrate custom Android and C apps into Android
How to call C code from Java using JNI
How to implement kiosk mode
How to improve the security of your Android device
How to handle Android and Linux licensing
Tips for speeding Android ports and AOSP builds
An understanding of Android.
The public Embedded Android Boot Camp runs for 4 days and is broken up as follows:
Monday through Tuesday morning – Android/Linux Driver Development
When creating a board support package for an embedded Android device, porting the Linux-based Android kernel is a critical first step, a major element of which is the customization and development of drivers for embedded Linux. In addition to providing an overview of the Linux kernel architecture, the lectures and exercises will focus on the Linux driver model and device frameworks, on the tools and techniques needed to create and debug Linux device drivers for Android, as well as on hardware initialization and interface, interrupt support, multithreading, and synchronization.
Tuesday afternoon through Wednesday – Android Software Stack Customization
The Android operating system is designed for tablets and phones; to be useful for embedded devices, it must be heavily customized. The lectures and exercises will focus on the customization of all layers and major components of the Android architecture, including running custom packages during Android initialization, modification of the Android System server, and app integration. In addition, the exercises will teach helpful “recipes” for customization common for embedded devices, such as placing Android in “kiosk mode” and modifying the splash screen and boot animation.
Thursday – Capstone Programming Project
Teams of 2-4 attendees aim to complete an entire embedded Android coding project (from requirements through design and design review to implementation) in a single, fun, learning-packed day.
Friday (half-day) – Applied Embedded Android
Creating a successful embedded Android device requires more than simply creating an Android board support package to support new hardware. This course focuses on several important related topics, including how to properly secure the device and any intellectual property it contains, how to handle licensing of Android and the Linux kernel, how to work with Android revision control software, and how to setup an effective embedded Android development environment from scratch.
Full outlines and other details for each of the courses on which the Embedded Android Boot Camp is based are available via these links:
Android/Linux Driver Development
Android Software Stack Customization
Applied Embedded Android
What You Get
At the Embedded Android Boot Camp you will receive:
A printed copy of all lecture slides
A printed Exercise Manual with instructions for all programming exercises
A USB thumb drive containing:
Source code starting points for the exercises
Datasheets and User’s Manuals for all of the hardware and tools
Dozens of articles for in-depth “further reading” on advanced topics, and
A backup electronic copy of all lecture slides.
Source code solutions for all of the exercises including the capstone project
A certificate of course completion, and
A few other free trinkets.
Lunch is provided each of the first four days. All exercises are done using the Texas Instruments target development board.
Typical attendees have at least 2 years of C software development experience and an electrical engineering, computer science, computer engineering or similar degree. Some have been working with other embedded operating systems and want to make the switch to Android system software development; others are Android application developers who want to understand and begin learning to customize Android for new hardware. These well-tested lectures and exercises provide an easy-to-follow path through the material with deep dives on advanced best practices. And there’s plenty of even deeper information on the thumb drive to explore after you leave.