Vous êtes sur la page 1sur 6

Séquence N°3

Auto-compilation

Rôles :
- Gestionnaire : Jordan
- Animateur : Thomas
- Scribe : Emré
- Secrétaire : Romain

1) Prendre connaissance du sujet et clarifier


 1.1) Mots-Clés :

- Documentation ATMEL
- GCC/Compilateur GCC
- Fichier Makefile
- Uat/Release
-
 

1.2) Contexte :
Il nous faut récupérer les infos des capteurs, pour cela nous allons utiliser un langage haut-
niveau et comprendre le fonctionnement de l’automate. Afin de l’automatiser.
 
 
2) Analyse des besoins :
2.1) Problèmes :

- Comment réaliser un système automatisé qui transforme le code en haut-niveau


binaire ?
2.2) Contraintes :
- Découper le code / Réaliser plusieurs fichiers
- Récupérer des infos depuis le module externe
- Utiliser avr gcc
Utiliser uniquement un script pour le téléversement / Plus d’IDE
2.3) Livrable :

Rendre un script qui permet d’automatiser le téléversement du programme.

3) Généralisation :
- Automatiser un téléversement sans IDE (script)  

4) Pistes de solutions :
- Faire plusieurs scripts (un par « objectif »)
- Utiliser un langage haut-niveau
- Nous allons utiliser le langage C
- Comprendre le fonctionnement d’un automate

5) Elaborer le plan d’action :


1) Définir les mots clés :

2) Corbeille d’exercices :

3) Analyse des ressources :

4) Etudier le fonctionnement du compilateur

5) Créer le ou les script/s

6) Téléverser à l’aide du terminal

7) Validation des hypothèses

8) Conclusion

1)Définir les mots clés :

 GCC/Compilateur GCC  : Un  compilateur  est un logiciel permettant de transformer un


programme source (écrit dans un  langage de programmation) dans un autre langage de
programmation cible
 Le rôle d’un compilateur est de traduire un texte en quelque chose qu’un micro-processeur
ou, dans notre cas, un micro-contrôleur puisse comprendre et exécuter.
 L’usage habituel d’un compilateur est de rendre exécutable un programme rédigé dans un
langage de programmation source (comme le C) vers un programme exécutable par
un  processeur
 FichierMakefil e: Un make file est un fichier utilisé par le programme make pour arriver àun
but, ce but étant lui-même dépendant d'autres buts, et ce de manière récursive.Make est
principalement utilisé pour créer de gros programmes, oùla cible principale est un exécutable.
 •Uat/Release: Un test de validation est un type de test informatique qui permet de vérifier si
toutes les exigences client, décrites dans le document de spécification du logiciel, sont
respectées

Analyse des ressources :

 Un  compilateur  est un programme informatique qui transforme un code source écrit dans
un  langage de programmation  (le langage source) en un autre langage informatique (le
langage cible).
 L’usage habituel d’un compilateur est de rendre exécutable un programme rédigé dans un
langage de programmation source (comme le C) vers un programme exécutable par
un  processeur  et un système d’exploitation spécifiques. La figure  1  indique le principe de
fonctionnement.
 Le rôle d’un compilateur est de traduire un texte en quelque chose qu’un micro-processeur
ou, dans notre cas, un micro-contrôleur puisse comprendre et exécuter
 GCC utilisé par l’IDE Arduino

Cette figure indique les différents états (Idée, Algorithme, Programme source puis binaire,
Exécutable, en mémoire puis en cours de fonctionnement) vers l’exécution d’un programme et,
au-dessus les différents acteurs impliqués dans cette création (le designer, le programmeur et
l’utilisateur).

Le compilateur a pour objectifs de rendre exécutable le programme source :


 En le transformant vers le langage binaire d’un processeur donné (Intel, ARM, etc.) ;
 En l’optimisant pour une version particulière d’un processeur ;
 En liant les binaires avec le système d’exploitation de la machine (Windows, Linux,
Android, etc.)
  L’ensemble des instructions qu’un micro-contrôleur est capable d’exécuter s’appelle
le  langage machine ou encore le jeu d’instructions.
 un ’cross-compiler’ il est capable de générer du code pour la machine sur laquelle il
est exécuté, mais aussi pour beaucoup d’autres plateformes, y compris les processeurs
Atmel qui équipent nos Arduino.
 A noter une petite différence entre

. Avec les guillemets, le compilateur cherchera le fichier inclus parmi les sources du
projet et des librairies référencées. Avec les ’<>’, il va d’abord chercher dans les
fichiers de Atmel et du compilateur, et s’il ne trouve pas il va se tourner vers le projet
compilé et ses références. L’include de Arduino.h par exemple doit se faire avec ’<>’
parce que ce fichier fait partie du noyau Wiring de GCC, pas de votre croquis.
 (L’inverse de #define est #undef)

Le rôle du compilateur n’est pas seulement un travail de traduction de texte, c’est


aussi et surtout un outil qui va essayer de comprendre le code demandé, et d’y
ajouter des optimisations autant que possible.
Linkeur  :
Le Linkeur, éditeur de liens dans notre belle langue, est chargé de recoller tous ces morceaux, ces
fichiers objets, et de fabriquer un résultat unique à exécuter, ou dans le cas de l’Atmel, à transmettre
au micro-contrôleur.

Livrable  :
Nous avons ainsi un script permettant l’automatisation du processuce de compilation et de
téléversement d’un programme Arduino Cependant ils manquent les étapes d’automatisation du
numéro de série, la mise en debug, uat ou release.

Validation des hypothèses :


-Faire plusieurs scripts (un par « objectif »)

-Utiliser un langage haut-niveau

-Nous allons utiliser le langage C

-Comprendre le fonctionnement d’un automate

Vous aimerez peut-être aussi