Plus de mémoire pour le programme sur Arduino

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,
admettons que je souhaitais créer un PDA à base d'arduino uno (ce n'est absolument pas le cas, mais c'est ce qui illustre le mieux mon problème), il manquerait alors de l'espace pour stocker mon programme (entre les librairies, fonctions et autres).
J'ai un peu chercher sur internet, il semble que je pourrais les stockers sur une carte micro sd, bien que les tutoriels portent plus sur le stockage d'images.
En restant sur l'idée d'un PDA, pourrais-je stocker le fichier qui appelle les librairies et codes arduino sur le microcontrôleur, et le reste sur une carte micro sd?
Merci d'avance!

Cette réponse a aidé l'auteur du sujet

Oui, il faut simplement prévoir tout ça dans le fonctionnement de ton algorithme pour que ce soit optimisé.

En revanche pour le code exécutable il doit pouvoir rentrer dans la mémoire du microcontrôleur. Ou alors ton microcontrôleur doit être capable d'exécuter du code dans une mémoire externe.

+1 -0
Auteur du sujet

D'accord merci!
Est-ce que je peux par contre "inclure" (comme include en php) un fichier de code de la carte sd (mais qui tient dans le micro contolleur) et le désinclure ensuite? Ce qui me permettrait d'avoir plusieurs fichiers, trop gros pour tenir dans le micro controlleur, mais, utilisé un par un, entrerait
Encore merci!

Non (ou pas de manière simple)

Ton programme étant compilé, il faut que tout le code soit disponible lors de la compilation. Tout le code va être compiler en code machine et donner un fichier unique qui sera mis en mémoire.
Tu ne peux donc pas avoir un bout de code à droite et un autre à gauche.

Si tu as un problème de taille pour ton programme, c'est qu'il est soit trop gros car très mal écrit donc pas du tout optimisé (malgré les améliorations que peut faire le compilateur) soit tu lui met des données qui pourraient être stockées d'une autre manière (sur une carte SD, par exemple), comme une image ou un très gros tableau de données.

+0 -0
Auteur du sujet

A oui effectivement je n'avais pas pensé à ça… (ayant l'habitude des langages hauts niveaux).
Encore merci!
EDIT: Je cite par contre, du site de la gamebuino (console de jeu basée sur un atmega328, programmé en arduino):

You can download all the games' .HEX files at once here: Download ZIP GitHub. Then simply put the .HEX > > > files on your micro SD card and enjoy!

Édité par mattis25

Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte