Återställa AVR fuses

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Återställa AVR fuses

Inlägg av PHermansson »

Blir lite lätt irriterad.... har arbetat mycket med Pic de senaste åren, men har nu gett mig på AVR. Främst småkretsar som ATTIny25/45 och 2313. Genom lite krångel med leverander sitter jag med tre programmerare, en AVR ISP mkII, en Usbtinyklon från Sparkfun och en till. Dessa fungerar fint, ända tills jag klantar till det med Fuses... :evil:
Har hänt ett par tre gånger nu, vem tusan har konstruerat så att man kan bricka en mcu så enkelt? Jag kör alltså med den inbyggda oscillatorn och har inte tillgång till någon HV-programmerare.

Nu har jag ett kort med en fastlödd ATTiny2313 framför mig. När jag försöker kontakta den får jag följande svar:

avrdude -p t2313 -c avrispv2 -P usb -t

avrdude: stk500v2_command(): command failed
avrdude: stk500v2_command(): unknown status 0xc9
avrdude: stk500v2_program_enable(): cannot get connection status
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

Byter jag kortet mot ett Targetkort (programmeringssockel + nollkraftshållare) med en t25 och ändrar kommandot till -p t25 så funkar det. Byter jag mcu i targetkortet till en av de andra t25'orna blir svaret som ovan. Ytterligare en ur samlingen fungerar. Mitt 2313-kort fungerade först, men efter en Fusebränning blir svaret som ovan. Jag är alltså övertygad om att hårdvaran fungerar.

Så då kan man misstänka felaktiga klockinställningar. Hittae en 555-baserad oscillator som jag kopplade till Xtal1, ingen skillnad.
Kopplade Xtal2 på min Arduino till Xtal1 på 2313, ingen skillnad.
Vad mer kan man testa? Är det värt att koppla in en 4MHz-kristall?
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Re: Återställa AVR fuses

Inlägg av eqlazer »

Vad satte du för fuses?
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Re: Återställa AVR fuses

Inlägg av björn »

Varför har du ändrat på fuses då? Är det någon särskild orsak till att du ändrar dom?

EDIT: I övrigt håller jag med om att det är extremt korkat gjort att fuses kan ställas så fel att man inte lätt kan återställa det. Vad jag minns som ännu mer retligt som nybörjare var att dom har satt att 0 = Aktiverad och 1 = inaktiverad (eller som det står i databladen For all fuses “1” means unprogrammed while “0” means programmed.).
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Återställa AVR fuses

Inlägg av sodjan »

> vem tusan har konstruerat så att man kan bricka en mcu så enkelt?

Atmel, sannolikt. :-)

Om jag har förstått rätt så finns det två huvudmetoder att "bricka" en AVR,
sätta om osc-fuses eller slå av ISP-fusen.
I det första fallet kan man lyckas fixa det med en extern klocksignal, om man
kommer på hur det var man satte upp det. I det andra fallet är det bara en HV
programmerare som kan fixa det eftersom ISP (MISO/MOSI pinnarna) är helt
avstängd.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Återställa AVR fuses

Inlägg av PHermansson »

Vad jag vet satte jag dem enligt instruktionerna. Komiskt nog är projektet en pryl kallad fuse doctor, http://www.instructables.com/id/AVR-Att ... ctor-HVSP/.
Sen kanske det var en mindre bra ide att i samma veva prova ett grafiskt gränssnitt till avrdude... Så jag vet eg inte hur de sattes.
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Re: Återställa AVR fuses

Inlägg av eqlazer »

Så lfuse 0xC2, hfuse 0xDF och efuse 0xFF är vad du tror du satt?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Återställa AVR fuses

Inlägg av sodjan »

Det finns flera rapporter om en del AVR verktyg (jag vet inte
exakt vilka) som upplevs som lite "ologiska" när det gäller vad
som är "on" resp "off" när det gäller fuses. Många bricked AVR'er
verkar bero på att man har feltolkat verkygen.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Återställa AVR fuses

Inlägg av PHermansson »

eqlazer: Jo ja är rätt säker på att det är så. Tycker altid det är lite knepigt med Fuses, även med Pic, så jag använde Hex-värdena. Då tycker man att det borde vara svårt att göra fel? Men ändå lyckades jag.
Ska kolla lite till på det, och lägga ett stadigt bud på en Dragon jag såg på Tradera. Ska man klanta sig mer med Fuses lär det löna sig att ha en HVSP-kapabel programmerare.
swirve
Inlägg: 398
Blev medlem: 13 mars 2007, 21:58:25
Ort: Norrköping

Re: Återställa AVR fuses

Inlägg av swirve »

Jag använder USBasp tillsammans med detta GUI för avrdude: http://avr8-burn-o-mat.aaabbb.de/avr8_b ... ui_en.html vilket jag tycker funkar mycket bra.
För ett tag sen kom jag på att alltid ta "read fuses" innan man ändrade på några fuses, sen dess har det aldrig blivit fel. Några gånger har jag råkat ställa in till 8Mhz intern klocka och DIV8, då har jag varit tvungen att sänka programmeringshastigheten. (på USBasp finns en liten bygling för detta). Annars har det alltid funkat med ett koppla på en extern kristall eller extern klocka.
Så för att ställa Fuse-bitar är mitt tips GUI:et ovan.
Skriv svar