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 disponibles
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.
Installer Android sur une nouvelle plateforme est un processus complexe qui exige une compréhension approfondie des entrailles des frameworks Android et de la couche d'abstraction matérielle. Ce cours explique comment les frameworks sont structurés et comment ils peuvent être adaptés à une plateforme sur laquelle un portage Android de base existe déjà.
Les nouveaux systèmes industriels ont besoin d'interfaces utilisateur sophistiquées et ergonomiques. Les construire avec les boîtes à outils graphiques traditionnelles peut être lourd et difficile. Android peut simplifier ces tâches, en permettant aux développeurs d'applications industrielles de profiter des outils développés pour les appareils grand public.
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.
Ce cours approfondit les mécanismes d'interaction entre les drivers Linux et les fonctions de gestion de l'énergie du noyau Linux.
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.