Pages: 1 [2]   Go Down
Author Topic: atmega8a-au come programmare con arduino?  (Read 705 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 2
Posts: 86
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho solo caricato lo sketch del programmatore HV modificandogli solo i fuse high e low

Come si fa l'erese?

Che modifiche devo fare all'ide per caricare poi il bootloader in 8MHz cosi' mi levo anche il dubbio, impiccio dell'oscillatore?

I micro mi rispondono nuovamente con invalid signature
Logged

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

Come si fa l'erese?
Se hai realizzato il circuito che hai linkato, premi il pulsante. A questo punto è lo sketch che ti erasa il microcontrollore difettoso. Devi però controllare lo sketch perché quello distribuito in quella pagina è compatibile solo con l'Atmega328. Quindi va visto se l'Atmega8 ha i pin per la programmazione parallela negli stessi pin dell'Atmega328 e poi caricare i valori dei fuse di default.
Anche la versione 2.0 di quel circuito non supporta ufficialmente l'Atmega8.
Logged


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

Leo, sei sicuro che quello sketch faccia l'erase? Ora non so però sono assolutamente certo che nel mio sketch, che pur si basava in partenza su quello, dovetti studiarmi tutta la procedura ed implementarla per fare il chip_erase. Riguardo le "compatibilità" posso confermare che vanno esclusivamente per package del micro: tutti i micro ATMEL a 28 pin sono compatibili tra loro per quanto riguarda le linee di programmazione, sia HVPP che HVSP. Unica eccezione sono i package a 20 pin, per i quali all'epoca dovetti prevedere due distinti zoccoli, per le due diverse tipologie. Invece sull'smd onestamente non ho studiato nulla, quindi non posso essere d'aiuto.
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: 313
Posts: 21657
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo, sei sicuro che quello sketch faccia l'erase?
Al 100%? No. Dovrei guardare il codice.
Logged


Offline Offline
Jr. Member
**
Karma: 2
Posts: 86
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nello sketch dell'hv non e' presente l'erase

Cmq a codesto punto mi metto l'animo in pace per ora, e visto che ne sto acquistando di nuovi vi chiedo solo se e possibile impostare l'ide per caricare il bootloader a 8mhz
Logged

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

Sì ma devi compilartelo perché nell'IDE c'è il firmware pronto solo di quello a 16 MHz.
Vai dentro la cartella /hardware/arduino/bootloader/optiboot e poi dai un "make atmega328_pro8"
A questo punto hai il file pronto per inserirlo in una board impostata ad 8 MHz dentro al file boards.txt
« Last Edit: May 23, 2013, 07:38:43 am by leo72 » Logged


0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

confermo non ci sia l'erase perche' dopo il salvataggio del mio 328P mi sono ritrovato l'ultimo programma funzionate.
questo pero' conferma anche che non sia necessario l'erase
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

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

Sì ma difatti l'erase può essere utile solo se c'è un programma che combina qualche casino, metti una gestione errata del watchdog che resetta continuamente il micro oppure qualcosa che occupa la seriale ed impedisce l'upload di uno sketch tramite seriale/bootloader. Nei casi in cui il micro è brickato per fuse errati, rimettendo questi a posto il chip "resuscita" senza doverlo erasare.
Logged


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

quindi ricordavo bene  smiley-wink il chip_erase è inoltre l'unica funzione che permette di "sproteggere" (ma ovviamente cancellandone i contenuti) un micro, perché ignora qualsiasi combinazione  del Lock Bit Byte
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: 313
Posts: 21657
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quoto cosa dice il manuale di avrdude relativamente all'erase:

Quote
Causes a chip erase to be executed.  This will reset the contents of the flash ROM and EEPROM to the
value ‘0xff’, and clear all lock bits.  Except for ATxmega devices which can use page erase, it is
basically a prerequisite command before the flash ROM can be reprogrammed again.  The only exception
would be if the new contents would exclusively cause bits to be programmed from the value ‘1’ to ‘0’.
Note that in order to reprogram EERPOM cells, no explicit prior chip erase is required since the MCU
provides an auto-erase cycle in that case before programming the cell.
Logged


0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yes,

ho voluto sottolineare l'indipendenza del discorso fuse dal discorso erase perche' la ripsosta di Pelletta potrebbe far pensare che sia obbligatorio un erase prima di un cambio fuse via HV

fai un Erase del micro prima di impostare i fuse, vero?
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

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

Sai l'erase conviene sempre farlo quando si ha a che fare con un chip brickato perché non sai mai se il blocco dipende appunto dai fuse oppure dal firmware che può fare i pasticci di cui sopra.
Logged


0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

certo, ma gestendo i test in modo sequenziale ed oculato, riprogrammando solo i fuse ad esempio la signature deve tornare leggibile, anche se il programma e' incriccato o se i lockbit sono bloccati.
Dopo aver avuto accesso alla signature si passa al prossimo step, cosi' si impara meglio imho  smiley
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Pages: 1 [2]   Go Up
Jump to: