Quante volte è possibile eseguire nuovamente il flashing del firmware Marlin su una scheda RAMPS 1.4 prima che degrada la ROM?


9

Prima di tutto sto lavorando con un kit Folger Tech Prusa i3, se questo fa la differenza. Inoltre credo che l'Arduino sia un Mega 2560.

So da qualche parte nella parte posteriore della mia testa che la ROM programmabile elettricamente come quella che deve essere sulla scheda Arduino che memorizza il firmware si degrada un po ', ogni volta che ci scrivi. In questo momento sto cercando di calibrare un altro problema di stampa e penso di dover modificare nuovamente il firmware, cosa che ho già fatto più volte. Quindi sto iniziando a preoccuparmi di quante volte posso farlo.

Bene, una volta che mi sono ricordato l'acronimo "EEPROM", e dopo un po 'di ricerche su Google, mi sono imbattuto in questo, Arduino - EEPROM , che dice che può gestire cicli da 100k, quindi penso di essere sulla risposta, ma il problema è che non sei sicuro se un ciclo sta caricando un intero file? Non sarebbe un singolo blip di dati? E se sì, quanti cicli consumerebbe il file Marlin medio?

Ho anche trovato questo:

ma sarei molto sorpreso se lo avessi caricato più di 2000 volte

su Mega2560 in muratura? non rilevato, DFU non riuscita , a indicare che la risposta potrebbe essere inferiore al 2000.

Inoltre, questo:

Modalità di fallimento

Esistono due limiti delle informazioni memorizzate; resistenza e conservazione dei dati.

Durante le riscritture, l'ossido di gate nei transistor a gate flottante accumula gradualmente elettroni intrappolati. Il campo elettrico degli elettroni intrappolati si aggiunge agli elettroni nella porta flottante, abbassando la finestra tra le tensioni di soglia per zero rispetto a quelli. Dopo un numero sufficiente di cicli di riscrittura, la differenza diventa troppo piccola per essere riconoscibile, la cella è bloccata nello stato programmato e si verifica un errore di resistenza. I produttori in genere specificano che il numero massimo di riscritture è pari o superiore a 1 milione. [5]

Durante l'immagazzinamento, gli elettroni iniettati nella porta flottante possono spostarsi attraverso l'isolatore, specialmente a temperature elevate, e causare la perdita di carica, riportando la cella in stato cancellato. I produttori di solito garantiscono la conservazione dei dati di almeno 10 anni. [6]

da Wikipedia: EEPROM - Modalità di errore , che indica che la risposta potrebbe essere in milioni.

A questo punto mi chiedo solo se un esperto potrebbe vederlo e alleviare la mia angoscia ...


L'AT Mega2560 ha una memoria flash interna, ma aiuta a guardare i dispositivi flash esterni per informazioni. Esistono diversi gradi di dispositivi flash esterni. Alcuni possono essere lampeggiati solo un numero molto piccolo di volte, e da queste parti può arrivare il numero 2000. Altre parti di qualità superiore possono essere sottoposte a riflash un milione di volte. Nel mio lavoro, di solito vediamo valutazioni di 10.000 per parti a basso costo e 100.000 per parti a costi più elevati. Per il flash integrato, potrebbe non esserci una tale gamma di prezzi e durata, poiché complicherebbe il canale di test e distribuzione del produttore.
cmm

Risposte:


14

La EEPROM non è dove è memorizzato il programma stesso, ciò che è rilevante per la tua domanda è il flash. Il flash nell'ATmega2560 è valutato per 10.000 cicli (ovvero è possibile riprogrammarlo almeno 10.000 volte).


Un "ciclo" per la memoria flash non è la scrittura ma la cancellazione. Quando Flash viene scritto, deve prima essere cancellato. Il processo di cancellazione sollecita il dispositivo e in molti cicli porta a diverse modalità di errore. La scrittura di dati nella parte cancellata è più favorevole. Pertanto, non importa quanto sia grande il programma. "Re-Flashing" inizia con un ciclo di cancellazione, seguito da tutti i cicli di programmazione necessari.
cmm,

1

L'AVR ha SRAM per variabili (ciò che di solito si chiama RAM), ha EEPROM per variabili non volatili e ha flash per il codice eseguibile. (Harvard Architecture!)

Per riprogrammare il firmware, né le velocità di scrittura SRAM né EEPROM sono importanti, ma le velocità di flash lo sono. Le velocità di scrittura flash sono dell'ordine di 100 mila a un milione, quindi non dovrebbe essere un problema.

L'articolo che hai collegato afferma anche che non ha riscritto più di 2000 e quindi dovrebbe andare bene. Posso solo essere d'accordo. Alcune migliaia di ripetizioni non sono un problema. Una volta che ti avvicini a 100 mila puoi iniziare a preoccuparti.

I bit flash possono essere scritti solo da 1 a 0. La cancellazione del flash scrive tutti i bit su 1. La cancellazione può essere eseguita solo su una pagina flash (le dimensioni dipendono dal dispositivo ma generalmente un multiplo di 512).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.