Arduino Forum upgrade scheduled for Monday, October 20th, 11am-4pm (CEST). Sorry for the inconvenience!
Pages: [1]   Go Down
Author Topic: Zones mémoires...  (Read 697 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 31
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour et très bonne année à tous,

comment peut-on connaître les zones mémoires occupées lorsque l'on programme un Arduino? J'ai vu qu'il y a une librairie pour écrire dans l'Eeprom interne, maintenant en ce qui concerne le partage entre la mémoire Flash et la RAM, je ne sais pas trop. Je suppose que si l'on procède à une allocation statique cela va en Flash et si c'est une allocation dynamique cela va en RAM... Donc ce que l'on alloue avec alloc() et libère avec free() vas en RAM et que les allocations du type:
int myArray[10]={9,3,2,4,3,2,7,8,9,11};
vont en Flash... quelqu'un peut-il me le confirmer, ou m'expliquer comment cela se passe en vrai? J'aimerai contrôler une tête d'impression matricielle et donc stocker les maps de mes caractères en Flash et composer les lignes à écrire en RAM.
Denis
Logged

FR
Offline Offline
Full Member
***
Karma: 0
Posts: 105
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tout va en RAM si tu ne précises pas explicitement que ça doit etre stocké autre part.
Si tu parles US essaye ca : http://www.arduino.cc/en/Reference/PROGMEM

Nicolas
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 31
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Génial! Merci beaucoup Nicolas, c'est vraiment ce dont j'avais besoin et j'étais tombé totalement à côté... Entre temps j'ai trouvé un morceau de code intéressant pour vérifier la disponibilité de la ram, je vais expérimenter tout cela de suite. Pour mon applie, il se peu que ce soit un peu juste, j'ai aussi regardé du côté des modifications des Arduinos utilisant des Atmega16 ou 32. Quelqu'un a-t-il déjà essayé? Il a une boite allemande qui vend des Atmega à des prix intéressants, notamment des Atmega644-20PU pour moins de 7 euros.


Logged

FR
Offline Offline
Full Member
***
Karma: 0
Posts: 105
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est pas mal de boulot de porter le code de l'arduino sur un autre microprocesseur...(c'est faisable mais pas très intéressant).
Tu as déja dépassé les capacités du 168 en flash ou en ram ?
Une bonne solution peut etre de réécrire le code ou de s'interfacer avec de la ram externe (meme si j'ai pas trouvé grand monde ayant déja fait ca).

Nicolas
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 31
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

c'est pour l'instant en Flash (pour stocker mes différentes polices de caractères), pour la Ram, je vais voir avec en pratique. L'idée est que je reçois mes lignes à imprimer en ASCII étendu et je calcule des lignes de points à transmettre à la tête d'impression. Je stocke ces lignes en Ram que j'ai composées en lisant les paramètres depuis la flash. L'idée est que si je peux stocker, toutes les lignes, c'est mieux car quand on reprend le calcul après plusieurs lignes la tête d'impression refroidit, donc ca peu se voir. Si le calcul est assez rapide une solution serait de faire un calcul après chaque ligne entre chaque pas du moteur qui fait avancer le papier.
Pour ce qui est d'utiliser un autre Atmega, j'ai vu que quelques personnes s'y étaient attaquées, il y a des modifs proposées pour un Atmega16 et un Atmega32, qui devraient êtres compatibles pour un Atmage644 (en PDIP), mais, c'est vrais que à mon niveau je vais essayer avec moins de polices pour voir déjà ce que cela donne.
Denis
Logged

Pages: [1]   Go Up
Arduino Forum upgrade scheduled for Monday, October 20th, 11am-4pm (CEST). Sorry for the inconvenience!
Jump to: