Porting, tailoring and programming Google's Android OS
The Android operating system, developped by Google and based on the Linux kernel, is used more and more frequently not only on smartphones but also for dedicated embedded devices, notably in the "Machine to Machine" market.
ac6-training proposes trainings on the porting of the operating system on your board and its tailoring to your specific needs, as well as creating embedded applications running on the Android system.
You can see detailed course descriptions of the various trainings by using the above navigation bar. You can also click on course identifiers in the following course briefs hereafter.
G1 - Android Installation
Android installation on a hardware platform
Installing Android on a new platform is a complex process; you need to port first the Linux kernel then install the Android platform. Even if using an existing Android Open Source Platform, the process to create an usable image is quite complex. This course will explain all the required steps, from building the kernel and the platform from source code to tailoring the boot process and creating test applications.
G2 - Android Programming Programming applications for the Android platform
Android was designed to allow quickly creating powerful and ergonomic interfaces for embedded, resource constrained, systems; however, due to th elimitations of the underlying hardware, Android applications are totally different from standard applications. This course will explain how they are structured and how Android allows to combine portability and performance in applications.
G3 - Android Internals Android Frameworks and HAL Implementation
Installing Android on a new platform is a complex process requiring a deep understanding of the internals of the Android frameworks and the Hardware Abstraction Layer.
This course explains how the frameworks are structured and can be adapted to a platform on which a basic Android port already exist.
G5 - Android for Industrial System Control Building friendly interfaces for industrial systems with Android
New industrial systems need sophisticated and ergonomic user interfaces. Building these with traditional GUI toolkits may be cumbersome and difficult. Android may simplify these tasks, allowing industrial application developers to benefit from the tools developped for consumer electronics devices.
D3 - Linux Drivers
Writing Linux Drivers
This course covers the various techniques needed to write Linux (2.6 and 3.x) drivers, bus management (PCI. ..), hot-plug and auto-configuration of devices as well as the specific problems due to multi-core and advanced processors.
D7 - Linux drivers hotplug and power management Writing drivers with hot-plug and power management support
This course delves into the concepts of generic devices/drivers for Linux, the management of hotplug, as well as writing drivers for USB host and gadget.
It also covers the whole issue of power management in recent versions of the 2.6 Linux kernel.
D8 - USB Linux Drivers Writing USB-2.0 and USB-3.0 host and gadget drivers on Linux
This course details the Linux driver model, the USB hotplug and power management architecture to write USB host (client) drivers as well as gadget drivers.