Quantas vezes posso carregar um programa ou esboço no meu Clone do Arduino Uno?

12

Estou prestes a trabalhar no meu primeiro projeto usando o arduino (estou prestes a comprar um na próxima semana), e um dos nossos professores diz que só podemos fazer upload de um programa ou esboço em um Arduino Uno Board por aproximadamente 8 vezes . Ele também acrescentou que, se estivermos usando uma versão clone, ela poderá durar apenas dois uploads de esboço. Isso é verdade ou ele está blefando? Agradeço antecipadamente.

A. Raymundo
fonte
2
Venho exibindo esboços para um Nano específico várias vezes por hora enquanto construo e testo e fiquei curioso sobre isso nos últimos dias. Eu sabia que seria pelo menos nas centenas de vezes, mas não tinha certeza de quantas. Obrigado por perguntar.
raddevus
9
Hora de questionar a credibilidade desse professor. O programa será inserido na memória flash interna do ATMega328P e o flash sobreviverá a alguns milhares de ciclos de gravação. Ainda mais para a EEPROM. O STMicro cita "ciclos de 10 a 100 mil " ( st.com/resource/en/application_note/cd00165693.pdf )
Maximilian Gerhardt
Relacionados: SPIFFS nos níveis de desgaste 8266, portanto, se você estiver economizando 3 KB com 3 MB grátis, poderá economizar 1024X antes da primeira substituição (em teoria, 512X em média sem sobreposição de bloco), o que significa milhões de salvamentos.
dandavis
4
@jsotola a menos que o Google mostra-lhe esta pergunta já foi respondida em SE, por favor, não diga que os usuários do Google (fonte: FAQ)
Cefalópode
1
Este é o equivalente da ASE às notícias falsas.
copper.hat

Respostas:

24

Ele está falando bobagens completas e absolutas. Para citar a folha de dados do ATMega328P :

  • Segmentos de memória não volátil de alta resistência
    • 32KBytes de memória flash programável no sistema no sistema
    • 1KBytes EEPROM
    • SRAM interna de 2 KB
    • Ciclos de gravação / exclusão: 10.000 Flash / 100.000 EEPROM
    • Retenção de dados: 20 anos a 85 ° C / 100 anos a 25 ° C (1)
    • Seção de código de inicialização opcional com bit de bloqueio independente
      • Programação no sistema pelo programa de inicialização no chip
      • Operação verdadeira de leitura durante a gravação
    • Bloqueio de programação para segurança de software

Portanto, você tem pelo menos 10.000 usos antes de começar a ficar desagradável.

Majenko
fonte
3
Eu diria que ele tem pelo menos 10 mil usos.
Edgar Bonet
3
A maneira como a memória Flash funciona, à medida que envelhece, leva mais tempo para que uma página seja apagada. Os 10.000 é o número mínimo esperado de operações de exclusão em uma página antes que o tempo gasto para apagar possa exceder um limite predefinido (especificado pelo fabricante). Então, sim, você esperaria obter mais do que esse número (é o mínimo garantido) ou demorará um pouco mais para apagar as páginas.
Majenko
2
Na prática, eu estava reutilizando um Arduino Uno e constantemente fazendo pequenos ajustes no código. Carregar novamente leva tempo suficiente para que não valha a pena se preocupar. É muito mais provável que você enrole a placa de alguma outra maneira se estiver soldando ou dobrando os fios. Além disso, ao fazer o Arduino ... as placas são tão baratas (principalmente se você pode passar para um MiniPro 5V) que a principal coisa com a qual você precisa se preocupar é ter cuidado ao soldar o sensor / IO. A placa é extremamente confiável e você pode substituí-la de forma barata se tiver alguma dúvida sobre a placa.
19418 Rob
1
sempre que houver uma conversa sobre o desgaste do armazenamento, lembre-se de que geralmente é o seguinte: 1) Você precisa "estressar" explodir áreas inteiras cheias de zeros e depois escrever as que estão sobre ele. 2) O armazenamento em estado sólido geralmente possui algoritmos complexos de nível de desgaste para minimizar o impacto disso. 3) É um Arduino barato. 4) A linguagem é um subconjunto do C ++, para que você possa zombar de uma estrutura de teste para testar completamente antes que ela atinja o hardware; limitar a inserção desnecessária de código não testado no hardware.
Rob
1
Aqui está um exemplo simples de zombar do quadro, para que você possa testá-lo localmente no Linux (compilado com o GCC), em vez de pressionar constantemente o hardware para testar. A idéia básica é fazer um quadro que se parece tanto das chamadas Arduino como você realmente fazer do seu código: github.com/rfielding/octaveRounder/tree/master/test
Rob