Antes de tudo, estou trabalhando com um kit Folger Tech Prusa i3, se isso faz alguma diferença. Também acredito que o Arduino é um Mega 2560.
Eu sei em algum lugar na minha cabeça que a ROM eletricamente programável, como o que deve estar na placa Arduino, armazenando o firmware, diminui um pouco, toda vez que você escreve nele. No momento, estou tentando calibrar outro problema de impressão e acho que preciso modificar o firmware novamente, o que já fiz várias vezes. Então, estou começando a me preocupar com quantas vezes posso fazer isso.
Bem, depois que me lembrei do acrônimo "EEPROM", e depois de pesquisar um pouco, me deparei com isso, o Arduino - EEPROM , que diz que ele pode lidar com ciclos de 100 mil, então acho que estou na resposta, mas o problema é que eu não tenho certeza se um ciclo está carregando um arquivo inteiro? Não seria um único bloco de dados? E se sim, quantos ciclos o arquivo Marlin médio consumiria?
Eu também encontrei isso:
mas ficaria muito surpreso se eu carregasse mais de 2000 vezes
no Mega2560 emparelhado? não detectado, falha no DFU , indicando que a resposta pode ser tão baixa quanto 2000.
Além disso, isso:
Modos de falha
Existem duas limitações de informações armazenadas; resistência e retenção de dados.
Durante a reescrita, o óxido de porta nos transistores de porta flutuante acumula gradualmente elétrons presos. O campo elétrico dos elétrons presos aumenta os elétrons no portão flutuante, abaixando a janela entre as voltagens limiares para zeros versus zeros. Após um número suficiente de ciclos de reescrita, a diferença se torna pequena demais para ser reconhecida, a célula fica presa no estado programado e ocorre uma falha de resistência. Os fabricantes geralmente especificam o número máximo de reescritas sendo 1 milhão ou mais. [5]
Durante o armazenamento, os elétrons injetados no portão flutuante podem deslizar pelo isolador, especialmente a temperaturas elevadas, e causar perda de carga, revertendo a célula para o estado apagado. Os fabricantes geralmente garantem a retenção de dados de 10 anos ou mais. [6]
da Wikipedia: EEPROM - Modos de falha , indicando que a resposta pode estar na casa dos milhões.
Neste ponto, estou me perguntando se um especialista pode ver isso e aliviar minha angústia ...
Respostas:
A EEPROM não é onde o próprio programa está armazenado, o que é relevante para sua pergunta é o flash. O flash no ATmega2560 é classificado para 10.000 ciclos (ou seja, você pode reprogramar pelo menos 10.000 vezes).
fonte
O AVR possui SRAM para variáveis (o que geralmente é chamado de RAM), possui EEPROM para variáveis não voláteis e pisca para o código executável. (Arquitetura de Harvard!)
Para re-piscar o firmware, nem as taxas de gravação SRAM nem EEPROM são importantes, mas as taxas de Flash são importantes. As taxas de gravação em flash estão na faixa de 100 mil a um milhão, portanto isso não deve ser um problema.
O artigo que você vinculou também afirma que ele não reescreve mais de 2000 e, portanto, deve ficar bem. Eu só posso concordar. Alguns milhares de re-flashes não são problema. Quando você se aproximar dos 100 mil, pode começar a se preocupar.
Os bits do Flash podem ser gravados apenas de 1 a 0. A exclusão do flash grava todos os bits em 1. A exclusão pode ser feita apenas em uma página flash (o tamanho depende do dispositivo, mas geralmente um múltiplo de 512).
fonte