Go Down

Topic: DUE et ProgMem ou macro F(). (Read 2447 times) previous topic - next topic

Heloderma-kris

Bonjour a tous , j'ai cru comprendre que il n'etait pas possible de base sur la DUE, d'utiliser la macro F() ou de maniere general le stockage en memoire de programation (flash)?

mon anglais etant souvent rouiller je n'est peut'etre pas bien compris les message du forum !
si quelqu'un a des info ça m'interésse car pour le moment j'utilise une mega , et pour la gestion des interface visuel c'est bien pratique de pouvoir stocker le texte en flash.

Ps : si la DUE m'interese c'est pour la rapidité et l'espace mémoire plus grand donc si je ne peut pas stocké en flash je vais consomer beaucoup plus de RAM ... meme si elle est 12 fois plus grande sur une DUE!

haifger

Bonjour,
pour autant que je sache sur ARM les constantes sont stockées « automatiquement » en mémoire flash, ce qui semble correspondre à ton cas d'utilisation de PROGMEM, non ?

fdufnews



mon anglais etant souvent rouiller je n'est peut'etre pas bien compris les message du forum !


Si tu mettais le lien vers le(s) message(s) en question

Heloderma-kris


Bonjour,
pour autant que je sache sur ARM les constantes sont stockées « automatiquement » en mémoire flash, ce qui semble correspondre à ton cas d'utilisation de PROGMEM, non ?

oui c'est sa j'utilise dans mes fonction de bouton ou de texte a ecrire. mais alors c'est lors de la compile que le systeme fait la diference ?




mon anglais etant souvent rouiller je n'est peut'etre pas bien compris les message du forum !


Si tu mettais le lien vers le(s) message(s) en question


c'est dans le forum, mais j'avous qu'il y avais plusieur sujet que j'ai regader en cherchant avec "due" et "progmem"

haifger



Bonjour,
pour autant que je sache sur ARM les constantes sont stockées « automatiquement » en mémoire flash, ce qui semble correspondre à ton cas d'utilisation de PROGMEM, non ?

oui c'est sa j'utilise dans mes fonction de bouton ou de texte a ecrire. mais alors c'est lors de la compile que le systeme fait la diference ?

Oui. Mais il faudrait vérifier, je dis ça de mémoire et il y a peut-être des subtilités qui m'ont échappées...

Heloderma-kris

debut de reponse :

http://forum.arduino.cc/index.php?topic=166249.0




Faut il une autre syntaxe pour mettre la chaine en flash sur la Due ?

La DUE utilise un processeur ARM et le compilateur "Lite" de Sourcery, le principe de PROGMEM n'existe donc pas (enfin si mais pas comme sur les AVR).
Si tu veut mettre quelque chose en flash il te suffit de déclarer ta variable en "const", pour une chaine de caractères il te suffit de la laisser telle-quelle sans F().

Sinon tu peut ajouter ça en haut de programme pour "compatibilisé" tes anciens programmes :
Code: [Select]
#define F(x) x

et en français!
merci skywood!

donc j'imagine qu'au final sa devrai fonctioné et ne pas touché au 96k de memoire RAM et donc de stocké dans les 512 de flash
bon je pense que je vais m'en commander une pour tester sa me titille depuis pas mal de temp!

skywodd


merci skywood!

Je vais finir par étrangler quelqu'un à force de voir mon pseudo avec deux 'o' et un 'd' :smiley-mr-green:


donc j'imagine qu'au final sa devrai fonctionner et ne pas toucher au 96k de memoire RAM et donc de stocké dans les 512 de flash
bon je pense que je vais m'en commander une pour tester sa me titille depuis pas mal de temp!

Remarque : pense au reste, la mémoire et la fréquence CPU ne font pas tout ;)
En particulier les librairies, pour faire simple il n'y en as pas. C'est tout qui doit tout coder en code ARM si ça touche de prés ou de loin le hardware de la DUE.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Heloderma-kris


Je vais finir par étrangler quelqu'un à force de voir mon pseudo avec deux 'o' et un 'd' :smiley-mr-green:


ho shi...t mille excuse loin de moi l'idée d'ecorché ton pseudo!


Remarque : pense au reste, la mémoire et la fréquence CPU ne font pas tout ;)
En particulier les librairies, pour faire simple il n'y en as pas. C'est tout qui doit tout coder en code ARM si ça touche de prés ou de loin le hardware de la DUE.

mon utilisation et plutot en survole des vraix fonctionalitées hardware de la DUE (pour le moment pas le niveau) je me contente de faire de la regulation avec les cartes arduino et de l'affichage genre gros thermostat avec fonctionalité mais pas plus pour le moment !

Go Up