Due et taille du programme surprenante...

Bonjour à tous

Je viens de recevoir ma Due ce matin au courrier.

Alors ben forcément, ni une ni deux, je teste le machin avec le premier exemple venu, en l'occurence "fade", juste modifié pour utiliser la broche 13 et donc ne pas avoir à connecter une led.

Donc ben je branche la Due, j'upload le machin, la led varie, tout va bien... et puis je regarde les messages en bas de l'interface, et là, je vois ceci :

Le croquis utilise 26 752 octets (5%) de l'espace de stockage de programmes. Le maximum est de 524 288 octets.

Je trouve que pour un truc aussi simpe, l'espace flash occupé est énorme. Dommage également qu'on ait plus la taille de ram utilisée comme c'était affiché sur les cartes précédentes.

Pris d'un doute, je ressort la méga 2560 et j'envoie le même programme dedans, ce qui me donne :

Le croquis utilise 2 150 octets (0%) de l'espace de stockage de programmes. Le maximum est de 258 048 octets.
Les variables globales utilisent 15 octets (0%) de mémoire dynamique, ce qui laisse 8 177 octets pour les variables locales. Le maximum est de 8 192 octets.

Où on a quand même une utilisation de flash bien plus raisonnable.

Je trouve la taille du programme en flash sur la due assez hallucinante compte tenu de sa simplicité. Qu'est-ce que ça va être si en plus il faut une librairie pour piloter un écran TFT, des sondes de température et autre... Moi qui avait acheté la Due car elle dispose de plus de flash, comment dire...

D'où vient cette différence énorme ? juste du passage de 8 à 32 bits ? Je comprends pas bien, car même si les instruction en 32 bits sont 4 fois plus longues, ça ne ferait pas tant.

Ou alors c'est un soucis de configuration de mon IDE arduino ? (1.5.6-r2 beta )

Si vous avez une idée ou une explication...

merci !

Salut,

Dans le détail je ne sais pas mais tu n'as qu'à faire le test avec un autre programme : je pense que la taille totale est plus du genre "Taille de base fixe + le programme" donc mettre un programme deux fois plus gros que fade ne voudra pas forcement dire qu'il prendra 50 ko, mais ~24 + 4 ko.

Après évidemment entre un AVR 8bits et un ARM 32 bits y'a de grandes différences en plus du fait que la prise en charge de la DUE sur Arduino est un gros bricolage ... Pour plus de puissance je t'aurais plus conseillé un TivaC launchpad de Texas Instrument avec Energia, ou une Teensy 3.1. Dans les deux cas tu aurais gagné sur tous les tableaux : plus puissantes et bien moins chères ...

bah le prix, vu ce que coûte la Due en copie chinoise, c'est assez imbattable ! Et puis je voulais rester sur de l'arduino car j'ai déja du mal à m'en sortir avec le language pourtant simplifié à l'extrème, alors me remettre à apprendre complètement autrechose... Et puis aussi le nombre de libs dispo pour arduino est impressionnant :slight_smile:

Je ferai des essais plus poussés pour ce qui est de la taille des programmes, comme tu me le suggères, on verra ce que ça donne.

bricofoy:
Et puis aussi le nombre de libs dispo pour arduino est impressionnant :slight_smile:

Attends-toi à quelques déceptions. Toutes les librairies n'ont pas été adaptées à la Due.