Modifications

Sauter à la navigation Sauter à la recherche
2 578 octets ajoutés ,  5 septembre 2013 à 10:13
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{Arduino-Memoire-NAV}}
 
{{Arduino-Memoire-NAV}}
 +
 +
== Introduction ==
 +
{{bloc-etroit|text=Cette partie s'attarde sur l'optimisation du programme.
 +
 +
Lorsque vous compilez votre sketch/croquis, l'IDE d'Arduino vous informe sur la taille de votre programme (la taille de l'image). Si vous atteignez ou dépassez l'espace disponible alors quelque-unes de ses optimisations peuvent vous aider à redescendre sous la limite.
 +
 +
Cet article n'est pas un "traité" définitif des méthodes d'optimisation - il existe une très vaste littérature sur le sujets.
 +
 +
Ce qui est présenté, ce sont juste quelques astuces simples qui aide pour obtenir des premiers résultats facilement. }}
 +
 +
{{ADFImage|Arduino-Memoire-01.jpg|640px}}
 +
 +
== Enlever le code inutile ==
 +
Le "code mort" (appelé "Dead Code" en anglais) est une portion de codes compilée, téléversée/téléchargée en mémoire FLASH '''mais jamais utilisé''' par le programme!
 +
 +
Si votre projet est un condensé de plusieurs sources différentes alors il y a des chances pour qu'il y ait des tronçons de code qui ne sont pas utilisés (voir ci-dessous). Les éliminer permet de récupérer de l'espace de stockage.
 +
 +
* '''Libraires inutilisées''' - Est-ce que tous les #include de librairies sont vraiment nécessaire? Sont-elles vraiment utilisées?
 +
* '''Fonctions inutilisées''' - Toutes les fonctions sont-elles vraiment appelées?
 +
* '''Variables inutilisées''' - Toutes les variables sont-elles vraiment utilisées?
 +
* '''Codes non utilisés''' - (dit ''Unreachable Code'' en anglais) Y a t'il des test dont la condition ne sont jamais vraie? Auquel cas le code dans le "if ... " est inutile.
 +
 +
=== Truc & astuce ===
 +
Si vous n'êtes pas certain de l'utilité d'un #include, d'une fonction ou d'une variable alors mettez le en commentaire.
 +
 +
Si votre programme continue à compiler, c'est que le code n'était pas nécessaire.
 +
 +
== Consolider les codes répétitifs ==
 +
 +
Si vous avez une séquence d'instruction qui se répète plusieurs fois dans votre programme (même 2 fois) alors l'usage d'une fonction est tout à fait indiqué pour éviter la duplication du code.
 +
 +
== Eliminer le Bootloader ==
 +
Si l'espace encore nécessaire est vraiment petit, vous pouvez considérer l'élimination du BootLoader (le petit programme activé sur Arduino qui permet de télécharger les sketch/croquis Arduino depuis Arduino IDE).
 +
 +
En éliminant le bootloader, vous pouvez récupérer 2 ou 4 Kb de mémoire Flash (la taille dépend du bootloader utilisé sur la carte).
 +
 +
L'inconvénient de cette méthode, c'est que vous devrez utiliser un programmeur ISP à la place de votre câble USB.
    
{{Arduino-Memoire-TRAILER}}
 
{{Arduino-Memoire-TRAILER}}
29 918

modifications

Menu de navigation