Hallo, ich habe meinen ersten 644p im Einsatz, allerdings wird er von keinem von mir getesteten Programme erkannt. Bascom Meldet: "Could not identify chip with ID:1E960A" Ponyprog sagt: "Device missing or unknown device (-24)" Ich verwende einen Standart selbstbau 74HC244 Parallelport Programmer. Woran kann es liegen? Die Schaltung ist in Ordnung, da sie mit Pinkompatiblen M32 funktioniert.
AVRDude mit leicht modifizierter Configuration läuft hier einwandfrei mit dem chip: # ATmega644p #------------------------------------------------------------ # similar to ATmega164 part id = "m644p"; desc = "ATMEGA644p"; has_jtag = yes; # stk500_devcode = 0x82; # no STK500v1 support # avr910_devcode = 0x?; # try the ATmega16 one:^ avr910_devcode = 0x74; signature = 0x1e 0x96 0x0a; pagel = 0xd7; bs2 = 0xa0; chip_erase_delay = 9000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", "x x x x x x x x x x x x x x x x"; timeout = 200; stabdelay = 100; cmdexedelay = 25; synchloops = 32; bytedelay = 0; pollindex = 3; pollvalue = 0x53; predelay = 1; postdelay = 1; pollmethod = 0; pp_controlstack = 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; hventerstabdelay = 100; progmodedelay = 0; latchcycles = 6; togglevtg = 0; poweroffdelay = 0; resetdelayms = 0; resetdelayus = 0; hvleavestabdelay = 15; chiperasepulsewidth = 0; chiperasepolltimeout = 10; programfusepulsewidth = 0; programfusepolltimeout = 5; programlockpulsewidth = 0; programlockpolltimeout = 5; idr = 0x31; spmcr = 0x57; allowfullpagebitstream = no; memory "eeprom" paged = no; /* leave this "no" */ page_size = 8; /* for parallel programming */ size = 2048; min_write_delay = 9000; max_write_delay = 9000; readback_p1 = 0xff; readback_p2 = 0xff; read = " 1 0 1 0 0 0 0 0", " 0 0 x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write = " 1 1 0 0 0 0 0 0", " 0 0 x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; loadpage_lo = " 1 1 0 0 0 0 0 1", " 0 0 0 0 0 0 0 0", " 0 0 0 0 0 a2 a1 a0", " i i i i i i i i"; writepage = " 1 1 0 0 0 0 1 0", " 0 0 x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 0 0 0", " x x x x x x x x"; mode = 0x41; delay = 10; blocksize = 128; readsize = 256; ; memory "flash" paged = yes; size = 65536; page_size = 256; num_pages = 256; min_write_delay = 4500; max_write_delay = 4500; readback_p1 = 0xff; readback_p2 = 0xff; read_lo = " 0 0 1 0 0 0 0 0", "a15 a14 a13 a12 a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; read_hi = " 0 0 1 0 1 0 0 0", "a15 a14 a13 a12 a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; loadpage_lo = " 0 1 0 0 0 0 0 0", " 0 0 x x x x x x", " x a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; loadpage_hi = " 0 1 0 0 1 0 0 0", " 0 0 x x x x x x", " x a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; writepage = " 0 1 0 0 1 1 0 0", "a15 a14 a13 a12 a11 a10 a9 a8", " a7 x x x x x x x", " x x x x x x x x"; mode = 0x21; delay = 6; blocksize = 256; readsize = 256; ; memory "lock" size = 1; read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", "x x x x x x x x x x o o o o o o"; write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", "x x x x x x x x 1 1 i i i i i i"; min_write_delay = 9000; max_write_delay = 9000; ; memory "lfuse" size = 1; read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", "x x x x x x x x o o o o o o o o"; write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", "x x x x x x x x i i i i i i i i"; min_write_delay = 9000; max_write_delay = 9000; ; memory "hfuse" size = 1; read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", "x x x x x x x x o o o o o o o o"; write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", "x x x x x x x x i i i i i i i i"; min_write_delay = 9000; max_write_delay = 9000; ; memory "efuse" size = 1; read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", "x x x x x x x x o o o o o o o o"; write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", "x x x x x x x x 1 1 1 1 1 i i i"; min_write_delay = 9000; max_write_delay = 9000; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; memory "calibration" size = 1; read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", "0 0 0 0 0 0 0 0 o o o o o o o o"; ; ;
hm ja neuer vielleicht nicht, aber es dauert sehr lange bis neue µC unterstützt werden.... trotz alledem wird der 644p ja auch von anderen benutzt, welche Software benutzt ihr? edit: da war wohl einer schneller...
Warum modifiziert? AVRDUDE unterstützt den ATmega644P seit dem 15. Mail 2007.
Ponyprog vom 6.1.2008 kennt die P-Typen noch nicht. Hab gerade erst den feinen Unterschied zwischen dem 644 und 644P festgestellt. Verwirrenderweise besagt ein P an anderer Stelle im Namen noch, dass es DIL-40 hat. Der HV-Programmer von Elm-Chan kennt beide. Pony-Prog kann Flash und Eeprom lesen und Verify ok melden, aber die Fuses werden nicht erkannt. Auf Lancos.com ist noch keine neuere PonyProg-Version zu sehen, der Stand vom Januar ist aktuell.
Habe etwas hierzu gefunden (sogar mit Unterstützung von lancos) bei http://ponyprog.sourceforge.net Gerade geladen, funzt mit STK200 komp. (mit hc245) einwandfrei Gruß Dirk
das ist ja älter ("2.06g Beta Apr 25 2007") - wieso fehlen die Typen in der neusten Version?
Hallo Christoph, ich bin darauf nach längerem metacrawlern gekommen. Wie sich die Version zusammensetzt ist mir auch nicht klar. Habe beides paralell, falls etwas mit einer Version nicht gehen sollte. Primär ging es mir um den 644p. Dieser läuft nur mit der geposteten Version. Dem Text im Sourceforge entnehme ich das sich wohl einer die Mühe machte Pony umzustricken. LancOS bat ihn dann auch dies public zu machen um keinen Versionskonflikt zu bekommen. Aber ich bin erstmal froh das das proggen klappte und mache mir wegen Vers. keinen unnötigen Kopf. OT End
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.