Sida 1 av 2

HVPP: ATMEGA88 och Dragon

Postat: 13 oktober 2007, 10:39:51
av JJ
Jag har några mega88 som blivit programmerade en gång men som sedan inte går att kontakta. Det nedladdade programmet fortsätter att gå så helt döda är de inte.

Den första frågan är: hur är det möjligt? Kan jag oavsiktligt modifierat fuse/lock bits?

Jag har använt ett modifierat demo-exempel (LED+uart+adc) från winavr, AVR Studio och Dragon (även JTAGICE mkII). Allt standard.

Jag har läst om High Voltage Parallell Programmming men inte riktigt fattat. Är det korrekt att om man löder dit c:a 20 sladdar på sin Dragon så kan man återställa en processor fulltsändigt?

Postat: 13 oktober 2007, 10:48:48
av thepirateboy
Det är inte så att du aktiverat debug-wire? Det är iaf det vanligaste felet.

Vad får du för felmeddelande när du ska programmera?

För att avaktivera debug-wire måste starta en "debuggning" med Dragon, sedan välja Debug och längst ner finns ett alterntiv för att disabla debug-wire.

Postat: 13 oktober 2007, 11:13:18
av JJ
Jag kör via debugwire...tror jag är meninge iallfall.

När jag stoppat in en sprillans ny mega88 (på mitt target-kort) och kört igång så har studion sagt att den inte kan köra dw och att den vill koppla på dw mha SPI. OK svarar jag och strax säger studion att allt är klart och att jag skall powercycla och att jag kan ta bort övriga SPI-kablar. (Jag låter allt sitta kvar.) Sedan vet jag inte riktigt vad som händer men utan att jag gör något får jag "Target disconnect" eller något sådant. Programmet är nedflashat. Sedan fungerar varken dw eller SPI.

Hur menar du att det är ett fel att enabla dw.

Postat: 13 oktober 2007, 11:28:47
av Micke_s
Starta ett av dina program, börja debugga.
Och långt ner i debug menyn så har du en som öppnar massa inställningar. Där finns ett alternativ som heter disable debugwire.

Postat: 13 oktober 2007, 11:29:57
av thepirateboy
Atmega88 använder reset-pinnen som debug-wire. Så om du enablar debug-wire kan du inte längre programmera den på vanligt vis. Kolla även längst upp på sid 262 i databladet.

Debug-wire använder du bara om du vill debugga i "real-time". Enablar man den så måste man också komma ihåg att disabla den för normal operation. Det enda sättet jag vet att disabla den är just att starta en debug-session, och sedan i Debug-menyn så finns ett alternativ för att disabla den. Detta är lite smålurigt innan man får kläm på det.

Kommer du inte in i debugmode se till att du har senaste AVR-studio.

HVP har jag ingen koll på, det är möjligt att du kan programmera om den genom att sätta kretsen (om den är hålmonterad) direkt på Dragon.

Postat: 14 oktober 2007, 09:38:30
av JJ
Micke_s skrev:Starta ett av dina program, börja debugga.
Och långt ner i debug menyn så har du en som öppnar massa inställningar. Där finns ett alternativ som heter disable debugwire.
Vi måste prata förbi varandra...

Jag hade varit mycket nöjd om jag hade kunnat debugga. Jag får ingen kontakt med uP. Och jag vill gärna köra dw eller vad som helst som funkar. Och det kan väl inte vara ett "fel" att ha dw enablat? (Desutom hittar jag inte inställningen du skriver om.)

Postat: 14 oktober 2007, 13:37:30
av Micke_s
Inställningarna dyker bara upp om du lyckas debugga.

Postat: 14 oktober 2007, 13:47:38
av JJ
Och det är ju just debugga som jag inte kan. Det är det som är mitt problem.

Postat: 14 oktober 2007, 17:43:11
av thepirateboy
Ett sätt att ta reda på vad som är problemet är att sätta kretsen direkt på programmeraren. Vilka kablar som ska anslutas hittar du under Help-Tools-Dragon-Device Connection-SCKT3200A2. Fungerar det att debugga med kretsen monterad på programmeraren har du nåt fel i din egen koppling.

Bild

Postat: 15 oktober 2007, 08:26:20
av ucadv
jjj>>

när du väl har slagit på dW så måste du ha 10K pull-up på reset, gemensam jord och gemensam matning för att kunna debugga.



thepirateboy>>
har du lödat fast processorn direkt på dragon???

Postat: 15 oktober 2007, 08:47:15
av thepirateboy
Nej, den är bara nerstucken i kortet, den kanske ser lödd ut. Det optimala är väl en dyr ic-hållare med hävarm.

Postat: 15 oktober 2007, 11:04:40
av Micke_s
Komplementerar ucadv påstående: Pull up måste vara lika med eller större än 10k för dW ska fungera tillfredsställt.

Postat: 15 oktober 2007, 18:39:29
av JJ
ucadv skrev:jjj>>
när du väl har slagit på dW så måste du ha 10K pull-up på reset, gemensam jord och gemensam matning för att kunna debugga.
Gemensam jord har jag

Gemensam matning har jag inte. Borde jag ha det? Varför?

Pull-up har jag inte. mega88-manualen säger:
Pull-up resistors on the dW/(RESET) line must not be smaller than 10kΩ. The pull-up resistor
is not required for debugWIRE functionality.
Finns det annan info på ngt annat stället? (Errata, Dragon-manual, erfarenhet...?)

Micke_s: som ovan.

Postat: 15 oktober 2007, 23:04:47
av Micke_s
AVR-dragon har buffrar som du ska mata med vcc från målsystemet.
Vref tror jag pinnen heter.

Postat: 16 oktober 2007, 06:50:58
av JJ
Som jag har fattat det skall en av pinnarna på ISP-headern kopplas till targets VCC för att Dragon behöver veta VCC på target. Däremot går väl ingen strömmatning den vägen, om det var det vi pratade om?