Tutoriel didactique sur la mémoire Arduino, son architecture, utilisation et optimisation

Voici un lundi qui commence par un petit tuto très intéressant.
Cela fait maintenant deux ans que nous utilisons très activement des Arduino et il nous est arrivé de rencontrer des "crashs de stack".

Il faut bien avouer que la SRAM disponible pour le stockage des variables + la pile (stack) + le tas (Heap) est vraiment limitée!!!
La SRAM disponible oscille entre 2 et 8Kb suivant le modèle d'Arduino
Organisation de la mémoire Arduino
Source AdaFruit, Traduction MCHobby.
Un tutoriel MCHobby.
 

Et les choses se compliquent si l'on fait des allocations dynamiques ou des manipulations de chaine de caractères... car la mémoire n'est pas toujours vraiment libérée sur la Heap (cfr: Fragmentation de la Heap).

Fragmentation de la Heap (le tas) sur Arduino.
Aïe Aïe Aïe.... un tutoriel MCHobby.be
Difficile de reprendre sur ce billet un tutoriel de plusieurs pages.
Vous trouverez de nombreuses informations utiles et pertinentes comme:
  • Les principes d'architecture mémoire (une simple introduction).
  • L'organisation de la mémoire Arduino (Flash, EEprom, SRAM)
  • L'organisation de la SRAM pour le stockage des variables, de la Heap (tas) et de la stack (pile).
  • Comment mesurer la mémoire disponible sur un Arduino.
  • Identification des grands consommateurs de mémoire
  • Résolution de problèmes liés à la gestion de la SRAM.
  • Les optimisations
    • De la mémoire programme (Flash)
    • De la SRAM... très pertinent!
    • L'utilisation de l'EEPROM
Au terme de ce tutoriel, vous saurez:
  • Pourquoi vous éviterez les allocations dynamiques
  • Pourquoi vous utiliserez la fonction F()
  • Pourquoi vous déclarez des variables dans les fonctions plutôt que des variables globales.
  • etc
Bref, un petit tuto sympa à ne pas rater.

Tutoriel
Toujours plus de tutoriels
MCHobby investi du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible. SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.