Linux Embedded

Le blog des technologies libres et embarquées

Archives du mot-clé android

GPIO sur AOSP

Introduction Nous avons déjà évoqué l’architecture d’AOSP et les modifications possibles lors de précédents articles. Android présente de nombreux avantages, à commencer par la relative facilité de développer une application en Java. Un inconvénient d’AOSP est qu’il ne supporte pas les interfaces tels que I2C, GPIO, SPI. Nous allons voir dans cet article comment il est possible d’utiliser un port GPIO sous Android.

Investigation Android Temps Réel

Le thème abordé dans cet article a fait l’objet d’un stage de six mois réalisé à Open Wide Ingénierie. Ce stage s’est déroulé en trois phases qui ont consisté essentiellement en : l’installation du système d’exploitation Android utilisant un noyau temps réel, l’étude du comportement temps réel du système, la réalisation d’une application « temps réel » pour Android. Dans cet article,…

Meetup Linux Embarqué et Android à Toulouse

Linux Embarqué et Android sont des sujets dont nous parlons régulièrement sur ce blog. Quoi donc de plus normal que de vous faire part de la création, sur Toulouse, des Meetups Linux Embarqué et Android. L’idée des Meetups est de créer une communauté locale et d’échanger autour de sujets qui nous tiennent à cœur. Les deux premières rencontres sont dès…

Customisation d’AOSP

Introduction La distribution AOSP fournit une version standard d’Android pour un certain nombre de plate-formes (NEXUS, émulateur, Pandaboard, …). De même, de nombreux « forks » d’AOSP sont proposés par les fabricants de matériel afin de fournir un BSP Android adapté. Il est fréquent d’avoir à adapter ce BSP aux contraintes du produit et cette tâche peut aller de la simple « customisation »…

Introduction à la HAL Android

Introduction Lors d’un précédent article, nous avons évoqué l’utilisation systématique de JNI lors de l’accès aux « couches basses » d’Android depuis une application Java. Le framework Android étant majoritairement écrit en Java, ce principe est également utilisé pour les services système (Wi-Fi, Bluethooth, téléphonie, …) et l’on parle alors de HAL pour Hardware Abstraction Layer. La HAL est donc une couche…

Modification du noyau Linux AOSP

Introduction Dans les précédents articles, nous avons vu comment produire une image AOSP utilisable dans l’émulateur Android. Nous avons également décrit les principales fonctions de l’outil ADB (Android Debug Bridge) indispensable au développement Android « système ». Dans cet article nous allons décrire la procédure de mise à jour du noyau Linux utilisé par l’émulateur Android. En effet, le noyau utilisé jusqu’à…

Compilation de code (legacy) C/C++ pour Android

Introduction La majorité des applications Android utilisent le langage de programmation Java. Ce langage très répandu a été créé en 1982 par James Gosling dans les laboratoires de SUN Microsystems (désormais ORACLE depuis 2009). Java a de nombreux avantages, en particulier sa large diffusion, sa syntaxe relativement simple et le fait qu’il utilise nativement une approche « objet ». De nombreux projets…

Utiliser ADB

Introduction Dans le précédent article, nous avons décrit la mise en place d’un environnement de compilation afin de produire une image AOSP (Android Open Source Project) utilisable dans l’émulateur Android. Après un premier test d’utilisation, il est temps désormais de présenter ADB (Android Debug Bridge), un outil indispensable au développement Android en général, et système en particulier.

Utilisation de JNI sous Android

Introduction Dans le précédent article nous avons créé un module minimal « Hello World » afin de tester le nouveau noyau compilé pour Android/AOSP. Cette exemple n’est cependant pas réellement conforme à la réalité puisque dans le cas général on utilise plus souvent un pilote (ou driver) qu’un module. Les caractéristiques d’un pilote sont assez simples à décrire : Un pilote est avant…

Introduction à AOSP

Introduction Le modèle de développement d’Android est très éloigné de celui d’un projet open source classique car Google développe le projet « behind the doors ». Il n’y a quasiment aucun dialogue avec les développeurs officiels contrairement à d’autres projets majeurs comme le noyau Linux, Yocto ou Buildroot. Il y a donc très peu de chances d’influencer réellement les choix techniques de Google par des…