Combien de fois puis-je télécharger un programme ou un croquis sur ma carte Arduino Uno Clone?


12

Je suis sur le point de travailler sur mon tout premier projet utilisant Arduino (je suis sur le point d'en acheter un la semaine prochaine), et l'un de nos professeurs dit que nous ne pouvons télécharger un programme ou un croquis sur une carte Arduino Uno que 8 fois environ. . Il a également ajouté que si nous utilisons une version clone, cela ne peut durer que 2 téléchargements de croquis. Est-ce vrai ou bluffe-t-il? Merci d'avance.


2
J'ai flashé des croquis sur un Nano particulier plusieurs fois par heure pendant que je construis et teste et je suis moi-même curieux de cela au cours des derniers jours. Je savais que ce serait au moins dans les 100 fois, mais je ne savais pas combien. Merci d'avoir posé la question.
raddevus

9
Il est temps de remettre en question la crédibilité de ce professeur. Le programme sera flashé dans la mémoire flash interne de l'ATMega328P, et le flash survivra à quelques milliers de cycles d'écriture. Encore plus pour l'EEPROM. STMicro cite "10K à 100K cycles" ( st.com/resource/en/application_note/cd00165693.pdf )
Maximilian Gerhardt

Connexes: SPIFFS sur les niveaux d'usure de 8266, donc si vous économisez 3 Ko avec 3 Mo gratuits, vous pouvez économiser 1024 X avant le premier écrasement (en théorie, 512 X en moyenne sans chevauchement de blocs), ce qui signifie des millions d'économies.
dandavis

4
@jsotola à moins que Google ne vous montre que cette question a déjà été répondue sur SE, veuillez ne pas dire aux utilisateurs de Google (source: FAQ)
Cephalopod

1
Ceci est l'équivalent ASE des fausses nouvelles.
copper.hat

Réponses:


24

Il parle de charabia complet et absolu. Pour citer la fiche technique ATMega328P :

  • Segments de mémoire non volatile à haute endurance
    • Mémoire de programme flash auto-programmable de 32 Ko
    • EEPROM de 1 Ko
    • SRAM interne de 2 Ko
    • Cycles d'écriture / effacement: 10000 Flash / 100000 EEPROM
    • Conservation des données: 20 ans à 85 ° C / 100 ans à 25 ° C (1)
    • Section de code de démarrage en option avec bits de verrouillage indépendants
      • Programmation dans le système par programme de démarrage sur puce
      • Véritable opération de lecture pendant l'écriture
    • Verrouillage de programmation pour la sécurité des logiciels

Vous avez donc au moins 10 000 utilisations avant qu'il ne commence à devenir floconneux.


3
Je dirais qu'il a au moins 10 000 utilisations.
Edgar Bonet

3
Le fonctionnement de la mémoire flash, car elle vieillit, il faut plus de temps pour effacer une page. Le nombre de 10 000 correspond au nombre minimal prévu d'opérations d'effacement sur une page avant que le temps nécessaire à l'effacement ne commence à dépasser un seuil prédéfini (spécifié par le fabricant). Alors oui, vous vous attendriez à obtenir plus que ce nombre (c'est le minimum garanti), ou cela prendrait un peu plus de temps pour effacer les pages.
Majenko

2
En pratique, je réutilisais un Arduino Uno et apportais constamment de petits ajustements au code. Le téléchargement à nouveau prend suffisamment de temps pour que cela ne vaille même pas la peine d'être inquiété. Vous êtes beaucoup plus susceptible de bousiller la carte d'une autre manière si vous soudez ou pliez des fils. De plus, lorsque vous faites de l'Arduino ... les cartes sont si folles et bon marché (en particulier si vous pouvez passer à une MiniPro 5V) que la principale chose à laquelle vous devez vous soucier est de faire juste attention lorsque vous soudez les capteurs / IO. La carte est extrêmement fiable et vous pouvez simplement la remplacer à moindre coût si vous avez des doutes sur la carte.
Rob

1
chaque fois que vous parlez de "stockage" de stockage, gardez à l'esprit que c'est généralement ceci: 1) Vous devez exploser "de manière stressante" des zones entières pleines de zéros, puis écrire celles-là. 2) Le stockage à l'état solide possède généralement des algorithmes complexes de nivellement de l'usure pour minimiser l'impact de cela. 3) C'est un Arduino pas cher. 4) Le langage est un sous-ensemble de C ++, vous pouvez donc simuler un framework de test pour tester complètement avant qu'il ne frappe le matériel; pour limiter la poussée inutile de code non testé dans le matériel.
Rob

1
voici un exemple simple de se moquer de la carte afin que vous puissiez simplement le tester unitaire localement sous Linux (compilé avec GCC), plutôt que de pousser constamment sur le matériel pour le tester. L'idée de base est de créer un framework qui ressemble à autant d'appels Arduino que vous effectuez réellement à partir de votre code: github.com/rfielding/octaveRounder/tree/master/test
Rob
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.