Android

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.

Cours principaux

Installer Android sur une nouvelle plate-forme est un processus complexe; il faut en premier porter le noyau Linux puis installer la plate-forme Android. Même si vous utilisez une plate-forme Android existante, le processus pour créer une image utilisable est assez complexe. Ce cours vous expliquera toutes les étapes nécessaires, de la construction du noyau et de la plate-forme à partir du code code source à l'adaptation du processus de démarrage et la création d'applications de test.

Android a été conçu pour permettre la création rapide d'interfaces utilisateur puissantes et ergonomiques pour des systèmes embarqués à ressources limitées; cependant en raison des limitations du matériel sous-jacent, les applications Android sont totalement différentes des applications standard. Ce cours explique comment elles sont structurées et comment Android permet de combiner portabilité et performances.

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.

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.

Autres cours

Ce cours couvre les différentes techniques nécessaires à l'écriture de drivers Linux (2.6 et 3.x), la gestion de bus (PCI...), le hot-plug et l'auto-configuration des périphériques ainsi que les problèmes spécifiques dus aux processeurs modernes et multi-coeurs.

This course delves into the concepts of Linux drivers interaction with power management features of the Linux kernel.

Ce cours approfondit les notions de devices/drivers génériques de Linux, les notions de hotplug, ainsi que l'écriture de drivers USB host et gadget.