[Résolu] Occupation mémoire Arduino Nano Std vs Every

Bonjour !

Je suis surpris de constater, pour un même programme, des occupations mémoire différentes sur les versions Arduino Nano Standard et Every.

Ainsi, le même code utilise sur l'espace de stockage de programmes:

  • 17838 octets sur le Nano standard (maximum 30720 octets).
  • 20516 octets sur le Nano Every (maximum 49152 octets)

Et Les variables globales utilisent :

  • 1520 octets sur le Nano standard (maximum 2048 octets).
  • 714 octets sur le Nano Every (maximum 6144 octets).

Avez-vous une explication ?

Merci pour votre aide.

Simplement qu'ils portent différents processeurs.

Oui, mais encore ?

Je dirais que celui de la vraie nano est un avr Atmel et que celui de la fausse nano est un avr Microchip.

On peut aussi craindre que l'adaptation des bib!iotheques ait été realise avec des rustines et des rustines sur des rustines ce n'est pas optimisé

Au sujet des variables const, comme chacun le sait, celles-ci sont stockées en double dans l'ATMEGA328 (en FLASH et en RAM).
Dans l'ATMEGA4809 les const sont stockées classiquement en FLASH, directement accessibles, sans recopie en RAM.
Il suffit de consulter le fichier MAP pour le constater. Une zone .rodata est présente dans le MAP ATMEGA4809, alors qu'elle est absente dans le MAP ATMEGA328.

Merci pour vos explications !

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.