Bsera a tutti, sto faticando a flashare un chip Winbond W25Q128FV con il BIOS di un notebook. Per programmare ho utilizzato software e hardware diversi, tuttavia nella fase di verifica post programmazione i programmi rilevano sempre discrepanze tra il buffer ed il file origine.
Il "miglior" risultato - se così si può dire - mi ha dato cinque errori indentificati dalle rispettive locazioni di memoria.
address buffer data device data
0x00B555D9 0xAE 0x8E
0x00B98EC9 0xB5 0xA5
0x00B992A9 0x20 0x30
0x00B9E540 0x00 0x80
0x00B9E5A0 0xF4 0xx74
Non sono molto preparato a riguardo e mi chiedo...ma cosa sono esattamente questi valori?...bit per locazione di memoria?
Ma soprattutto la domanda è: il file con queste differenze è compromesso al punto tale che il notebook avrà problemi oppure questi errori "potrebbero" essere irrilevanti? Mi sono messo in testa l'idea l'immagine di una pagina scritta in cui alcuni caratteri non corrispondono...però non so se il PC è così intelligente.
Mi aiutate a capire?...Grazie a chi avrò la pazienza di spiegarmi qualcosa.
Purtroppo le mie conoscenze mi impediscono di comprendere esattamente cosa non va
comparazione files.
Moderatore: Paolino
16 messaggi
• Pagina 1 di 2 • 1, 2
1
voti
I tre valori di ogni riga sono
Indirizzo di memoria per esempio 0x00B555D9
Dato che ha tentato di scrivere in programmazione es. 0xAE
Dato che invece ha letto da quello indirizzo durante la verifica 0x8E
I dati sono diversi per un solo bit
AE= 10101110
8E= 10001110
Potrebbe trattarsi di un dato irrilevante ma non conoscendo la struttura di quello che programmi puoi solo dire che la flash potrebbe essere guasta
In realtà ho un dubbio fai la cancellazione della flash prima di programmarla?
Anche se la programmazione dovrebbe farla d'ufficio tu fai un mass erase esplicito prima di programmare
Puoi allegare il file che usi per programmare?
Altro dubbio (sono sul telefono ed è già un impresa scrivere) gli indirizzi dove da errore sono nel range di memoria della flash?
Hai selezionato il componente corretto prima di programmare?
Indirizzo di memoria per esempio 0x00B555D9
Dato che ha tentato di scrivere in programmazione es. 0xAE
Dato che invece ha letto da quello indirizzo durante la verifica 0x8E
I dati sono diversi per un solo bit
AE= 10101110
8E= 10001110
Potrebbe trattarsi di un dato irrilevante ma non conoscendo la struttura di quello che programmi puoi solo dire che la flash potrebbe essere guasta
In realtà ho un dubbio fai la cancellazione della flash prima di programmarla?
Anche se la programmazione dovrebbe farla d'ufficio tu fai un mass erase esplicito prima di programmare
Puoi allegare il file che usi per programmare?
Altro dubbio (sono sul telefono ed è già un impresa scrivere) gli indirizzi dove da errore sono nel range di memoria della flash?
Hai selezionato il componente corretto prima di programmare?
-
luxinterior
3.023 2 4 8 - Expert EY
- Messaggi: 1801
- Iscritto il: 6 gen 2016, 17:48
0
voti
Grazie per la risposta che mi chiarisce almeno di cosa stiamo parlando. Quindi al valore esadecimale AE corrisponde un valore binario in cui uno dei (maledetti bit) differisce!!!!
(nell'ultimo valore 0xF4 0x74 in esadecmale manca proprio un bit
0xF4 = 11110100 - 0x74 = 1110100
)
Cerco ora di rispondere alle tue domande:
- per quanto riguarda la cancellazione, impartisco il comando erase flash da software. Ignoro se essa sia "mass erase esplicito"
I vari programmi, nel caso dei chip SPI, prevedono gia la procedura erase->blank->write.
- il file che uso per programmare immagino tu ti riferisca al file .bin ci ho provato ma non me lo fa allegare dato che compresso sono oltre 7MB; posso dare un link da dove scaricarlo?
- non sono in grado di dirti se gli indirizzi siano nel range. Tieni conto che tutti i software/hardware utilizzati identificano correttamente il chip. Alcuni mostrano delle finestre/menù più elaborati ma non sono in grado di intervenire in modo appropriato e lascio fare al software;
- la selezione del componente è corretta sia in automatico (detect da parte del softtware) sia in manuale. Aggiungo che ho provato sia con PC con OS windows sia con un PC su cui ho installato Linux/Ubuntu.
Grazie ancora!



Cerco ora di rispondere alle tue domande:
- per quanto riguarda la cancellazione, impartisco il comando erase flash da software. Ignoro se essa sia "mass erase esplicito"

- il file che uso per programmare immagino tu ti riferisca al file .bin ci ho provato ma non me lo fa allegare dato che compresso sono oltre 7MB; posso dare un link da dove scaricarlo?
- non sono in grado di dirti se gli indirizzi siano nel range. Tieni conto che tutti i software/hardware utilizzati identificano correttamente il chip. Alcuni mostrano delle finestre/menù più elaborati ma non sono in grado di intervenire in modo appropriato e lascio fare al software;
- la selezione del componente è corretta sia in automatico (detect da parte del softtware) sia in manuale. Aggiungo che ho provato sia con PC con OS windows sia con un PC su cui ho installato Linux/Ubuntu.
Grazie ancora!

1
voti
Oddio potrebbe anche essere rotta.
Prova a fare così
dai il comando di cancellazione completa e poi la rileggi. Scorri il buffer fino agli indirizzi incriminati e vedi se sono 0xFF
oppure dovresti avere il comando blank check. se ti restituisce errore prova a cancellare più volte, la flash potrebbe essere un pelino "sorda".
Ovviamente si assume che connessioni e tensioni siano tutte come da specifica. Nessun collegamento traballante incerto con fili saldati alla meno peggio. Tensioni incerte vicine ai minimi di specifica...
Il file non serve se quella che hai è un'immagine della flash non si può sapere se i bytes sono utili.
Gli indirizzi sono ok è una 128Mbit --> 16MBytes cioè 24 linee di indirizzo (ogni cifra dell'indirizzo corrisponde a 4 linee di indirzzo)
Ovviamente provare su una seconda flash non è possibile vero ?
Prova a fare così
dai il comando di cancellazione completa e poi la rileggi. Scorri il buffer fino agli indirizzi incriminati e vedi se sono 0xFF
oppure dovresti avere il comando blank check. se ti restituisce errore prova a cancellare più volte, la flash potrebbe essere un pelino "sorda".
Ovviamente si assume che connessioni e tensioni siano tutte come da specifica. Nessun collegamento traballante incerto con fili saldati alla meno peggio. Tensioni incerte vicine ai minimi di specifica...
Il file non serve se quella che hai è un'immagine della flash non si può sapere se i bytes sono utili.
Gli indirizzi sono ok è una 128Mbit --> 16MBytes cioè 24 linee di indirizzo (ogni cifra dell'indirizzo corrisponde a 4 linee di indirzzo)
Ovviamente provare su una seconda flash non è possibile vero ?
-
luxinterior
3.023 2 4 8 - Expert EY
- Messaggi: 1801
- Iscritto il: 6 gen 2016, 17:48
0
voti
Rieccomi.
do il comando ERASE che immagino che cancelli tutto anche perché il software da il warning della perdita dati.
Il BLANK CHECK non mi da errori. Nella posizone di memoria non è FF.
Ho provato con 3 notebook di cui uno con Ubuntu. Programmatori differenti (TL866IIplus, EZP2019, CH341) e software diversi. Connessioni fisiche pulite con cavo USB (provati diversi) ed adattatore per il chip.
Connettori ben saldi.
Ho tre chip su cui testare e stesso errore. Il chip, come detto, è un w25Q128FV. Ora sto testando su un package (SOIC 8) diverso da quello che ho sulla MB (WSON 8 6x5 ne ho parlato su un altro thread quando lo dissaldai).
Faccio qualche altra prova e riporto i risultati. Si può pensare ad un problema di velocità?...è opportuno non lanciare altri programmi durante la programmazione?
Grazie
do il comando ERASE che immagino che cancelli tutto anche perché il software da il warning della perdita dati.
Il BLANK CHECK non mi da errori. Nella posizone di memoria non è FF.
Ho provato con 3 notebook di cui uno con Ubuntu. Programmatori differenti (TL866IIplus, EZP2019, CH341) e software diversi. Connessioni fisiche pulite con cavo USB (provati diversi) ed adattatore per il chip.
Connettori ben saldi.
Ho tre chip su cui testare e stesso errore. Il chip, come detto, è un w25Q128FV. Ora sto testando su un package (SOIC 8) diverso da quello che ho sulla MB (WSON 8 6x5 ne ho parlato su un altro thread quando lo dissaldai).
Faccio qualche altra prova e riporto i risultati. Si può pensare ad un problema di velocità?...è opportuno non lanciare altri programmi durante la programmazione?
Grazie
0
voti
Il BLANK CHECK non mi da errori. Nella posizone di memoria non è FF.
per scurpolo chiedo: Dopo la cancellazione hai fatto il read back? Altrimenti il buffer non è allineato con la flash.
Ma il problema lo hai sempre alla stessa locazione di memoria per tutti i chip o è random ?
-
luxinterior
3.023 2 4 8 - Expert EY
- Messaggi: 1801
- Iscritto il: 6 gen 2016, 17:48
0
voti
Dunque ho fatto il blacnk check ma non ho riletto...ignoravo l'allineamento buffer/flash.
Per la seconda domanda ti rispondo in modo impreciso in quanto non ho osservato il fenomeno sottoquesto punto di vista anche perché ho provato diversi file.
Tuttavia la locazione di memoria - almeno su uno dei chip - è sempre la stessa ovvero
0x00B555D9 buffer: 0xAE device data: 0x8E.
Provando altri chip mi da sempre e comunque errori.
E' davvero strano...pur non essendo un'esperto non riesco nemmeno lontanamente a farmi un idea di cosa accada. Tre notebook...uno con linux...tre programmatori diversi ....tre chip uguali...software diversi.
Per la seconda domanda ti rispondo in modo impreciso in quanto non ho osservato il fenomeno sottoquesto punto di vista anche perché ho provato diversi file.
Tuttavia la locazione di memoria - almeno su uno dei chip - è sempre la stessa ovvero
0x00B555D9 buffer: 0xAE device data: 0x8E.
Provando altri chip mi da sempre e comunque errori.
E' davvero strano...pur non essendo un'esperto non riesco nemmeno lontanamente a farmi un idea di cosa accada. Tre notebook...uno con linux...tre programmatori diversi ....tre chip uguali...software diversi.
0
voti
Io comincerei a fare ordine UN PC UN programmatore e UN software di programmazione. Quello ceh ti è più comodo e più semplice da usare.
Prima operazione cancellazione e read back per vedere cosa succede. Poi si programmano
Le flash sono nuove (acquisto cinese?) o di recupero ?
Bisognerebbe capire se quell'indirizzo ha un sgnificato particolare, se dice quaclosa nel datasheet.
Se sono di recupero potrebbe semplicemente essere guasta e l'accanimento è inutile.
Prima operazione cancellazione e read back per vedere cosa succede. Poi si programmano
Le flash sono nuove (acquisto cinese?) o di recupero ?
Bisognerebbe capire se quell'indirizzo ha un sgnificato particolare, se dice quaclosa nel datasheet.
Se sono di recupero potrebbe semplicemente essere guasta e l'accanimento è inutile.
-
luxinterior
3.023 2 4 8 - Expert EY
- Messaggi: 1801
- Iscritto il: 6 gen 2016, 17:48
0
voti
Se cancello e rileggo verificando mi da ok.
Ho riprovato a programmare ma da sempre errore nella verifica.
Forse i chip si sono danneggiati negli smanettamenti....o sono posseduti dal maligno.
Sono stati acquistati nuovi in Cina come del resto la maggior parte della componentistica che è in giro...
Ho riprovato a programmare ma da sempre errore nella verifica.
Forse i chip si sono danneggiati negli smanettamenti....o sono posseduti dal maligno.
Sono stati acquistati nuovi in Cina come del resto la maggior parte della componentistica che è in giro...
0
voti
aarrrrrrghhhhh!
Due ipotesi
pezzi nuovi scartati dal test e riciclati
pezzi recuperati di cui non sappiamo la storia.
Avevo un dubbio visto che parlavi di package WSON che non sono proprio facili da trattare.
Per toglierti i dubbi se puoi/trovi compra un pezzo da digikey/mouser o similari ma secondo me sono flash non funzionanti.
scusa ma in cina hai preso da un broker o hai pescato nel mucchio con aliexpress/alibaba ?
Sono stati acquistati nuovi in Cina come del resto la maggior parte della componentistica che è in giro...
Due ipotesi
pezzi nuovi scartati dal test e riciclati
pezzi recuperati di cui non sappiamo la storia.
Avevo un dubbio visto che parlavi di package WSON che non sono proprio facili da trattare.
Per toglierti i dubbi se puoi/trovi compra un pezzo da digikey/mouser o similari ma secondo me sono flash non funzionanti.
scusa ma in cina hai preso da un broker o hai pescato nel mucchio con aliexpress/alibaba ?
-
luxinterior
3.023 2 4 8 - Expert EY
- Messaggi: 1801
- Iscritto il: 6 gen 2016, 17:48
16 messaggi
• Pagina 1 di 2 • 1, 2
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti