Pages: 1 [2] 3 4 ... 9   Go Down
Author Topic: MEGA 2560: affrontiamo l'errore "first mismatch at byte 0x1e000 0xff != 0x0d"  (Read 3911 times)
0 Members and 1 Guest are viewing this topic.
Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Giusto per togliere ogni dubbio allego uno screen capture di AvrStudio 4, videata del disassembler, dove si vede chiaramente che il bootloader della 2560 viene allocato a partire da 0x1f000, le prime istruzioni sono la tipica jump table creata dal compilatore.
Il primo byte della word che viene letta in 0xf1000 è proprio "0x0D" (formato Little Endian).



* BL.jpg (338.75 KB, 1555x983 - viewed 36 times.)
Logged

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

--pausa-- smiley-sweat
Quindi questa è la conferma assoluta che l'errore è proprio nel fatto che "chi" verifica usa un indirizzo di partenza errato, se riusciamo a sapere dov'è scritto questo valore si risolve il problema, sarebbe cosa molto buona  smiley smiley smiley ma io non ho idea.
@ Leo: in base alla traduzione di quel topic quei fuse impostano correttmente l'atmega2560 per i 4k di spazio per il bl a partire da 1F000, ma quelli della mega sono identici, quindi non capisco il suggerimento smiley-roll sul lock abbiamo già chiarito che non c'entra visto che non è certo lui che imposta l'indirizzo di partenza della verifica  smiley-sad
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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Dopo il primo appunto di Astro ho specificato che l'errore è chiaro che sia in verifica: in rete tutti confermano che nonostante quell'errore il bootloader venga scritto. Ma non posso aiutare nei test, non ho la Mega.
Logged


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

tutti confermano che nonostante quell'errore il bootloader venga scritto. Ma non posso aiutare nei test, non ho la Mega.

Ho dato un'occhiata veloce al makefile del bootloader e vedo un gran casino, dato che AvrDude gli address li legge dal file .hex ho l'impressione che siano dei problemi nell'interpretazione da parte di AvrDude, ma non da parte di AvrStudio.
Da notare che il formato Intel HEX usato per gli AVR prevede un indirizzamento a 16 bit però è possibile introdurre dei comandi per lo spiazzamento del adress fino a 32 bit, infatti la prima riga del .hex del bootloader è proprio uno di questo comandi.
Toccherebbe provare a ricompilare il bootloder con AvrStudio, senza usare il makefile fornito, e vedere se il problema scompare.
Logged

Cagliari, Italy
Online Online
Tesla Member
***
Karma: 109
Posts: 6973
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

E allora perché compare ogni tanto e non sempre.
Ci sono stati pochi casi segnalati su una miriade di MEGA vendute.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

0
Online Online
Faraday Member
**
Karma: 45
Posts: 5780
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non mi risulta un problema di saltuarietà, a michele il problema è fisso, wd anche gli altri che ricordo non lamentano randomizzazioni.
Il fatto che non ci siano molte lamentele dipende secondo me dal fatto che trovare gente che mette mani al bootloader del 2560 è raro, perché non se ne comprano vergini ed aggiornare il bl sulla mega non è indispensabile a molti.
Invece il bootloader sul 328p si mette spesso visto l acquisto di nuovi 328p o sugli standalone.

Domani faccio un po di prove, così aggiorno anche il mio bl.

Mike hai provato anche con un programmatore diverso da ArduinoISP ? Potrebbe essere un bug proprio dello sketch.
Domani provo entrambe le cose.
« Last Edit: November 18, 2013, 05:12:41 pm by Testato » Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Marche
Offline Offline
Edison Member
*
Karma: 33
Posts: 2261
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

....
Mike hai provato anche con un programmatore diverso da ArduinoISP ? Potrebbe essere un bug proprio dello sketch.
Domani provo entrambe le cose.

Tra un pò dalla scatola del suo avr dragon si sentiranno i tamburi in stile jumanji....  smiley-wink
 
Logged

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

BUD: quanto hai ragione! Quel dragon impacchettato mi fa una pena che non hai idea, d'altra parte i test di Astro dimostrano che probabilmente funzionerebbe, ma allora si perderebbe lo scopo del Topic.

Paolo e Test: concordo completamente con Test, l'ultima volta ho proprio fatto notare come "chiunque" tentasse l'operazione avesse lo stesso errore, la Rivista usa questo micro per il progetto TiDiGino, ieri mi hanno mandato il video esplicativo dell'operazione di caricamento del bootloader della MEGA, è per il loro stessi tecnici, alla fine si vede chiaramente l'errore e loro spiegano che è assolutamente normale; a me l'ha fatto in tutte le prove, quindi non c'è nulla di saltuario. E comunque la facilità con cui lo programmo poi via seriale mi mostra che tutto sta funzionando benissimo. Però aspetto con ansia i test di Test smiley-grin, ogni ulteriore elemento è utile. A Paolo chiedo, vista la sua rapidità in questo tipo di ricerche, e visto il mio attuale imbordellimento, se riesce a trovare il tempo di localizzare gli ultimi tre Topic in cui si tratta din questo problema; riletti alla luce di quanto sappiamo ora ci darebbero elementi utili (Grazie!)

Quote
Toccherebbe provare a ricompilare il bootloder con AvrStudio, senza usare il makefile fornito, e vedere se il problema scompare
Astro, a te tra qualche giorno dovrebbe costare "poco" fare questa prova; per il lavoro che sto realizzando sarebbe elegante poter far sparire questo inutile messaggio. Grazie anche a te.
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

Cagliari, Italy
Online Online
Tesla Member
***
Karma: 109
Posts: 6973
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A Paolo chiedo, vista la sua rapidità in questo tipo di ricerche, e visto il mio attuale imbordellimento, se riesce a trovare il tempo di localizzare gli ultimi tre Topic in cui si tratta din questo problema; riletti alla luce di quanto sappiamo ora ci darebbero elementi utili (Grazie!)

Obbedisco.  smiley-mr-green
--> http://forum.arduino.cc/index.php?topic=190554.msg1410643#msg1410643
--> http://forum.arduino.cc/index.php?topic=182466.0
--> http://forum.arduino.cc/index.php?topic=172938.msg1286716#msg1286716
--> http://forum.arduino.cc/index.php?topic=111561.msg839442#msg839442
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

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

Astro, a te tra qualche giorno dovrebbe costare "poco" fare questa prova; per il lavoro che sto realizzando sarebbe elegante poter far sparire questo inutile messaggio. Grazie anche a te.

Penso di poterlo fare durante il weekend, ritengo molto probabile che ricompilando con AvrStudio il problema scompaia.
Credo che alla base del problema ci sia una difficoltà di interpretazioni degli address del file .hex da utilizzare da parte di Avrdude, oppure da parte dello stesso software Arduino ISP, però questo significa anche possibili problemi nel software caricato sul micro.
Potrebbe essere interessante vedere un dump della flash, lo puoi fare con il dragon, dopo aver programmato il 2560 tramite ISP in modo da poter verificare se quanto scritto è realmente dove si deve trovare ed è quanto atteso.
Logged

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

@ Paolo: grazie! ora cerco di studiare e rileggere tutto, poi posto una valutazione globale.

@ Astro: grazie anche a te! il problema (mio) del Dragon è che non l'ho mai tolto dalla confezione, solo una volta per vedere se c'era smiley-mr-green e purtroppo in questo periodo davvero non avrei tempo né testa per metterlo al lavoro. Però, visto che in questa vita prima o poi dovremo incontrarci smiley-wink si potrebbe trovare il tempo per gaurdarlo assieme, avere le prime indicazioni d'uso mi aiuterebbe  a "partire".

@ BUD: tu il Dragon l'hai fatto lavorare in un niente e so che lo usi ormai a tempo pieno; non è che per purissimo caso hai approntato una mini-guida d'uso facile facile in modo che in un paio d'ore possa riuscire a fare i primi lavori ISP? smiley-mr-green
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

Marche
Offline Offline
Edison Member
*
Karma: 33
Posts: 2261
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Premetto un pò di cose:
non ho un atmega2560 per verificare la procedura;
non uso la programmazione icsp ma high voltage;
non lo faccio da atmel studio ma direttamente con avrdude da terminale in kubuntu.

Ho dovuto installare atmel studio 6 soltanto per aggiornare il firmware del programmatore (Tools - AVR Tools firmware upgrade);  insieme al software ti installa anche il driver USB (getting started).

Dopo l'installazione dal menu Tools scegli Device Programming.
Qui puoi impostare tutti i parametri relativi al microcontrollore e al tipo di programmazione che intendi effettuare, nel tuo caso Avr Dragon, ATmega2560 e ISP.
Per verificare i collegamenti puoi far leggere il device signature con l'apposito pulsante, se corrispondono ti fa impostare la frequenza di clock per la trasmissione dei dati altrimenti ti restituisce un errore e non ti fa proseguire.



Nella finestra Memories puoi finalmente cancellare, scrivere e verificare la memoria flash del microcontrollore semplicemente impostando il percorso relativo al file hex del bootloader (o altro).



Manca soltanto di impostare i fuse e i lock bits nelle apposite sezioni.





OT: ringrazio l'engine del forum o il server che durante la pubblicazione di questo reply mi ha restituito un Bad Gateway e ho dovuto riscriverlo in fretta  smiley-mad smiley-zipper
Logged

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

Grazie mille BUD, in verità pensavo davvero che tu avessi fatto qualcosina all'inizio dell'uso del Dragon, non ti avrei chiesto di perdere tanto tempo, comunque sia.... a buon rendere smiley.
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

Marche
Offline Offline
Edison Member
*
Karma: 33
Posts: 2261
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non ti preoccupare, come vedi non è difficile usarlo.
Lo sbattimento più grande è stato installare atmel studio smiley
Logged

0
Online Online
Faraday Member
**
Karma: 45
Posts: 5780
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il problema e' piu' grave di quanto sembri  smiley
Testato su Win7-64
IDE 1.5.4
Prog. UsbAsp

1- caricando il bootloader ricevo l'errore
Code:
first mismatch at byte 0x1e000 0xff != 0x0d
2- caricando uno sketch via ICSP esso viene caricato in flash, senza errori riportati da avrdude, ma la mega non parte, anche resettandola.

Quindi oltre all'errore di verifica c'e' un punto molto piu' grave: "La Mega non puo' essere programmata via ICSP"  smiley-eek-blue
« Last Edit: November 19, 2013, 03:37:47 pm by Testato » Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Pages: 1 [2] 3 4 ... 9   Go Up
Jump to: