Pages: 1 ... 14 15 [16] 17 18 ... 36   Go Down
Author Topic: Topic permanente di programmazione newbie  (Read 31040 times)
0 Members and 1 Guest are viewing this topic.
Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12553
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

AGGIORNAMENTI
Al solito buone e cattive notizie, purtroppo la ricerca vuole i suoi morti, ma sono davvero sconvolto smiley-cry smiley-eek-blue

Nelle varie prove, ma non so come e perché, sono riuscito a cancellare la signature di un 2313 smiley-sad-blue
In pratica vedo e riesco a programmare i fuse e perfino a cancellare (ovviamente ha funzionato solo una volta) il micro ma la signature è FFFFFF; se cerco di inserire uno sketch tramite ISP naturalmente mi dà errore di signature.
La prima volta che ho programmato questo 2313 un'anomalia sul programmatore ISP l'avevo notata, una delle tre spie collegate ai segnali MISO, MOSI, SCK era debolmente accesa ed in effetti ho dovuto tentare un paio di volte prima di riuscire a inviare il blink ma poi è andato correttamente; solo che a quel punto l'HV ha iniziato a darmi errore di signature; l'ho bypassato via firmware, eludendo i controlli e ho riscontrato questa lettura FFFFFF, ciò nonostante, ripeto, riesco ancora a programmare i fuse. Secondo Voi è possibile cancellare la signature?

La buona notizia è che sono riuscito a completare finalmente il firmware, ora il chip_erase funziona correttamente anche in modalità HVSP e nell'unica prova fatta, ho visto che va anche in HVP13, quindi vorrei tentare di aggiungere il lock bit, mi sembra abbastanza semplice.

Ma prima devo capire che cavolo è successo, solo che ora mi trovo un 4313 e vorrei provare un piccolo imbroglio sul core tiny, mi basta cambiare la signature al 2313 e raddoppiargli la ram. Dove la trovo la signature? è nei file del core tiny o devo mettere mano ad AVRDUDE.CONF?

EDIT: ho provato a cambiare in AVRDUDE.CONF la signature (tecnica adottata con successo per il 328 noP) in FF FF FF ma niente da fare. Il messaggio " use -F to override this check." significa che posso bypassare il controllo, ma come devo usarlo questo parametro, forse si riferisce alla riga di comando?
« Last Edit: March 14, 2012, 04:54:28 pm by menniti » Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 129
Posts: 9456
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Secondo Voi è possibile cancellare la signature?

Non credo sia possibile farlo in nessuno modo normale, però non so se negli AVR questa informazione è scritta sotto forma di celle ROM, quindi non alterabili in nessun modo, oppure in una zona protetta della flash e pertanto potrebbe essere possibile alterare la signature con un qualche procedimento.
Per avere la certezza che hai cancellato la signature prova a leggerlo con l'AVR Dragon, se con questo ti risulta sempre 0xFFFFFF vuol dire che l'hai cancellata sul serio.
Al limite se non hai ne tempo ne modo di fare questo test spediscimi il micro con la prioritaria e te lo analizzo io.



Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si, è possibile che per qualche ragione (falsi contatti o altra roba simile), durante la programmazione icsp venga cancellata la signature, ma questo non dovrebbe impedirti di riscriverla con la programmazione HV.
Guarda qui, anche il video http://translate.google.it/translate?hl=it&sl=pl&u=http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp/&ei=koRhT8PIOYSgOvLNiP0H&sa=X&oi=translate&ct=result&resnum=1&ved=0CCkQ7gEwAA&prev=/search%3Fq%3Dattiny%2Bwriting%2Bsignature%2Bffffff%26hl%3Dit%26client%3Dfirefox-a%26hs%3D7SP%26rls%3Dorg.mozilla:it:official%26biw%3D1024%26bih%3D412%26prmd%3Dimvns
Penso che sia già presente il supporto per i 4313 nel core tiny , ricordo una vecchia discussione sul forum internazionale...
eccola:
http://arduino.cc/forum/index.php/topic,51984.60.html
spero che aiuti smiley
« Last Edit: March 15, 2012, 01:01:49 am by BrainBooster » Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 129
Posts: 9456
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si, è possibile che per qualche ragione (falsi contatti o altra roba simile), durante la programmazione icsp venga cancellata la signature, ma questo non dovrebbe impedirti di riscriverla con la programmazione HV.

Nei due link non ho visto nessun riferimento specifico alla signature, quello polacco illustra un apparato simile a quello che sta realizzando Menniti, il fatto che nel video appare la signature 0xFFFFFF è normale perché è quello che leggi se il micro è brickato e accedi tramite ISP, dopo averlo resettato tramite HV ritorna leggibile da ISP.
Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

astro ma il "coso" costruito dal polacco non credo che faccia icsp, ma solo HVPP e HVSP, quindi l'output che si vede nel video è letto con una di quelle due modalità no?
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 129
Posts: 9456
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

quindi l'output che si vede nel video è letto con una di quelle due modalità no?

Colpa della traduzione di google, sono andato a leggere il testo originale in Inglese, i link è sempre meglio metterli al sito originale e non tramite traduttore proprio per evitare le cavolate che questo combina vanificando eventuali ricerche nel testo.
In effetti in fondo ci sono due screen capture,  dove fa vedere un ATtiny 13 con signatura 0xFFFFFF, letto tramite HVSP, e brickato viene ripristinato introducendo manualmente il modello, però nella schermata successiva risulta si ripristinato, ma la signature rimane 0xFFFFFF il che crea non pochi problemi quando vai a programmarlo tramite ISP.
Dopo provo a mandare un richiesta all'assistenza tecnica di Atmel per chiedere lumi su questa cosa della signature alterabile e se c'è un modo per ripristinarla.
Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

io ho guardato in giro e credo che il problema sia causato da una cancellazione del registro di calibrazione dell'oscillatore interno e per riscriverlo bisogna applicare un clock con un quarzo esterno o altro di 1MHz.
Ma non ho ancora avuto modo di cercare per bene.
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12553
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bene ragazzi, grazie di aver preso in cura il problema. Sul datasheet non mi pare si parli di scrittura della signature, i link non li guardo perché l'inglese mi è amico tanto quanto il polacco, quindi sarebbe inutile, però sono pronto ad ogni prova possibile, datemi indicazioni e sarà fatto. Confermo che con l'ISP è impossibile lavorare con ujna signature FF FF FF, ho provato a metterla in AVRDUDE.CONF e l'IDE si incazza come una bestia, segno che controlla prima se c'è un 1E iniziale. Con lo stesso metodo invece ho programmato regolarmente il 4313, ma non riesco ad integrarlo come supporto diretto, posso farlo solo dicendo al CONF che ho un tiny2313 con una signature, flash e fuse diversi; ho provato a duplicare le righe nel conf ma evidentemente l'elenco dei micro va aggiornato in qualche altra parte (ma dove?), comunque il link di BB sul 4313 lo guardo, lì dovrei capire qualcosa in più.
Non credo sia possibile mettere un quarzo, i pin XTAL1 e 2 sono impegnati da segnali di programmazione e comunque ora non posso fare più niente sull'hw, al di là di una prova al volo; se poi il micro è comunque inutilizzabile via ISP non mi serve a niente.
@ Astro: prova a vedere, aspetta la risp di ATMEL, se c'è qualcosa che posso fare io la faccio, anche perché sarebbe spettacolare implementare un recupero del genere; se invece non c'è nulla e vuoi comunque dare un'occhiata te lo spedisco.

Ieri comunque è successo, poi ho ricostruito, che col fatto di usare alternativamente Arduino UNO+ISP per mettere lo sketch e l'HV Programmer per cancellarlo, ad un certo punto ho notato che Win impiegava oltre un minuto per riconoscere l'USB di turno, e siccome deve fare un secondo riconoscimento di conferma mi è capitato di fare operazioni nelle fasi intermedie; dopo il fattaccio ho riavviato (e mi è uscito un errore di sistema di scrittura, stranissimo) e per tutta la sera ho rifatto i giochi col 4313 (non volevo aver costruito uno spara-micro), le USB sono andate benissimo, addirittura manco le ho scollegate a volte, senza avere più problemi.

Oggi pomeriggio implemento il lock bit, intanto datemi tutte le info possibili riguardo il recupero del 2313 e l'implementazione del 4313. Grazie!
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Menniti quando dicevo "un quarzo o altro" in verità volevo dire che basta dare un clock stabile da 1 a 4mhz sul pin del clock dell'ic , poi cancellare tutto e provare a riprogrammare il fuse CLSEL.
... tel'avevo messo anche tradotto in italiano il link smiley-grin e neanche lo guardi? smiley-cry  guarda almeno il video smiley-grin
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12553
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Menniti quando dicevo "un quarzo o altro" in verità volevo dire che basta dare un clock stabile da 1 a 4mhz sul pin del clock dell'ic , poi cancellare tutto e provare a riprogrammare il fuse CLSEL.
... tel'avevo messo anche tradotto in italiano il link smiley-grin e neanche lo guardi? smiley-cry  guarda almeno il video smiley-grin
BB non prendere per il c...., mi sono fidato di quanto commentava Astro, ora al lavoro, pomeriggio mi guardo il filmino smiley-razz
Ho scaricato invece il core tiny, ma sei sicuro che si tratti di una versione modificata dell'originale? Ricordo che per diverso tempo Leo fece riferimento ad un core che dava parecchi problemi, non vorrei che si trattasse di quello smiley-sad-blue
C'è un modo per capire questa cosa secondo te? comunque pomeriggio faccio qualche prova anche con questo, mi sa che questo pomeriggio durerà fin o alle tre di stanotte smiley-sweat
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quella è una versione abbastanza antica (usala solo per il 4313), ricorda che se stai facendo esperimenti con avrdude devi anche modificare avrdude.conf per fargli riconoscere il 4313.
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 129
Posts: 9456
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho la risposta di Atmel, la signature si trova in una zona protetta della flash ed è accessibile esclusivamente tramite le varie modalità di programmazione con gli specifici comandi.
Se durante un erase della flash si verificano rilevanti spike, non mi hanno chiarito cosa intendono con rilevanti, sull'alimentazione del micro per quanto sia un evento rarissimo è possibile che venga cancellata anche la zona della flash dove si trova la signature, il motivo per cui leggi 0xffffff è proprio perché 0xff è il valore tipico di una cella flash appena cancellata.
Non esiste nessun modo per ripristinare il corretto valore della signature, il micro rimane perfettamente funzionante e utilizzabile, però potrebbero esserci problemi con alcuni software e tool hardware per la programmazione perché se leggono il valore 0xffffff lo interpretano come micro non riconosciuto o guasto e non consentono di procedere ad una programmazione forzata.
Morale della favola, non solo gli AVR è possibile brickarli sbagliando i fuse, ma è anche possibile cancellare la signature.
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12553
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

BB scusa ma dove lo vedi il problema risolto? in quel video prima mostra degli errori perché non c'è alcun micro, poi mostra la lettura di un attiny45 buono, poi mette un tiny2313 con signature FFFFFF e mostra che riesce a programmare i fusebit, e la novità dov'è? Tutto questo l'ho fatto già ieri sera; nemmeno lui è riuscito a rimettere a posto la signature, infatti se guardi attentamente lui ha tagliato la parte di verifica, ma è rimasto un fotogramma in cui c'è sempre FFFFFF, hai capito il furbo polacco? smiley-yell

riguardo il tuo ultimo post, che leggo al volo, come già detto (ma tu mi ignori e poi t'incavoli che non leggo quel che mi dici smiley-razz) AVRDUDE.CONF l'ho modificato ma non gliene f... niente, segno che il 4313 lo devo elencare da qualche altra parte; col core sono a posto, va benissimo quello del 2313, l'ho provato, dovete solo insegnarmi come aggiungere un micro all'elenco, ripeto che farlo nel solo AVRDUDE.CONF non basta.

@Astro: ok, grazie, ho spiegato prima i casini che sono successi quindi è tutto giustificato, sono tranquillo perché non è dipeso dal programmatore ma dal casino tra le usb, inoltre un suo problema doveva averlo perché come ho scritto ieri sera appena l'ho messo nell'ISP si è accesa debolmente una delle spie collegate ai MISO, MOSI, SCLK, quindi c'era qualcosa che non andava. Come immaginavo e avevo letto non c'è modo di ripristinarlo, e per usarlo si può solo programmarlo in modalità HV, cosa che ancora non ho fatto, lo conservo per "usi futuri" smiley GRAZIE!
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

smiley-grin quella del frame non l'avevo vista...
ma quando parli di inserire nell'elenco, a cosa ti riferisci?
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 129
Posts: 9456
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nemmeno lui è riuscito a rimettere a posto la signature, infatti se guardi attentamente lui ha tagliato la parte di verifica, ma è rimasto un fotogramma in cui c'è sempre FFFFFF, hai capito il furbo polacco? smiley-yell

Se guardi in fondo all'articolo, ci sono pure due immagini molto eloquenti dice chiaramente che la signature non viene ripristinata, semplicemente che riesce a riprogrammare i fuse in HV rendendo il micro nuovamente utilizzabile, prima era brickato.

Quote
Come immaginavo e avevo letto non c'è modo di ripristinarlo, e per usarlo si può solo programmarlo in modalità HV, cosa che ancora non ho fatto, lo conservo per "usi futuri" smiley GRAZIE!

Forse mi sono spiegato male, il micro puoi riprogrammarlo come ti pare, ISP incluso, solo che non tutti i software, e/o programmatori hardware, lo permettono perché quando leggono 0xffffff sulla signature non consentono di continuare.
Logged

Pages: 1 ... 14 15 [16] 17 18 ... 36   Go Up
Jump to: