2013-03-09 14 views
6

SOLUZIONE: Vedere risposta qui sottostato della connessione AVRISPmkII: Stato sconosciuto 0x00

Bene .. Ho cercato sul web in molti angoli .. ma non sono riuscito a trovare una soluzione al mio problema. L'ultima volta che ho usato il mio AVRISP2 ha funzionato bene. Ora ho il seguente messaggio quando si tenta di scrivere il mio programma sulla UC:

avrdude: stk500v2_command(): command failed 
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Unknown status 0x00 
avrdude: initialization failed, rc=-1 
     Double check connections and try again, or use -F to override 
     this check. 

Ho trovato molti messaggi su internet, ma non c'erano soluzioni. Qualcuno sa quale potrebbe essere il problema?

Ho già controllato i pin, ho aggiornato il firmware dell'ISP (funziona blinkdemo).

Grazie per eventuali suggerimenti ..

+0

Sei sicuro che il baud rate sia corretto? –

+0

Il problema non è che non riesca a raggiungere l'Atmel che in realtà voglio programmare .. il problema è l'Atmel sull'ISP. È possibile scrivere il firmware sul chip ma non si ottiene alcuna risposta da esso quando vuole programmare il mio controller attuale. – displayname

risposta

4

Ci sono voluti alcuni miei amici e mi ha un sacco di tempo, ma dopo ore di ricerca, provando e "debugging" siamo stati in grado di risolvere il problema. Spero che questo aiuti altre persone che hanno avuto lo stesso problema a risolverlo.

Il problema era che l'ISP, nel mio caso l'USB-Prog 3.3, era che parlava troppo veloce al mio Atmega8 che funzionava solo a 1 MHz di velocità. Quindi ci sono due possibili soluzioni:

  • rallentare la velocità del provider di servizi Internet
  • accelerare la velocità del ATmega8

Ho letto da qualche parte, che l'ISP non deve essere più veloce di 1/4 della velocità del microcontrollore sottostante.

Le seguenti linee salvato la mia giornata:

Imposta l'ATmega8 a 8 MHz e lo dà a 64ms spin up quella frequenza.

avrdude -p atmega8 -P usb -c avrispv2 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m -B 22 

Ecco un estratto della pagina di manuale avrdude:

`-B BITCLOCK' 
     Specify the bit clock period for the JTAG interface or the ISP 
     clock (JTAG ICE only). The value is a floating-point number in 
     microseconds. The default value of the JTAG ICE results in about 
     1 microsecond bit clock period, suitable for target MCUs running 
     at 4 MHz clock and above. Unlike certain parameters in the 
     STK500, the JTAG ICE resets all its parameters to default values 
     when the programming software signs off from the ICE, so for MCUs 
     running at lower clock speeds, this parameter must be specified on 
     the command-line. 

Inoltre voglio raccomandare AVR fusibile Calculator per Android - sembra essere uno strumento molto utile per i microcontrollori-programmatori.

+0

Forse contrassegna la risposta come "accettata" in modo che tutti sappiano che il problema è stato risolto? – angelatlarge

+0

Ho intenzione di farlo ma devo aspettare 2 giorni fino a quando posso contrassegnare la mia risposta come risolta .. – displayname

+0

Sono andato nello stesso problema avrdude -p atmega1284p -P usb -c avrisp2 -U lfuse: w: 0x62 : m -U hfuse: w: 0xd9: m -B 12 questo awnswer non ha risolto il problema da eventuali puntatori? –

0

Prima di tutto, consiglierei di controllare il microcontrollore stesso. Ho lo stesso messaggio di errore e ho scoperto che il mio Atmega è stato danneggiato. Lo scambio per il nuovo ha risolto il problema.

0

Un altro problema (comune?) Potrebbe essere un cristallo mancante quando si prova a lampeggiare direttamente su una breadboard. L'ho dimenticato già due volte e ho ricevuto anche questo messaggio di errore. Quindi, oltre a collegare i pin ISP, assicuratevi anche di connettere un condensatore più cristallo ai pin XTAL1 e XTAL2 dell'ATmega se è configurato per utilizzare un oscillatore esterno (consultare la scheda tecnica di ATmega).

Problemi correlati