Hallo, vielleicht kann mir jemand helfen. Ich versuche seit 2 Tagen einen AT89S8252 Controller mittels eines Mac OS zu programmieren. Leider bis jetzt ohne Erfolg. verwendete Hardware: - USB-to-Serial-Adapter von Keyspan (Typ USA-19HS) - Serial-to-ISP-Adapter von AVR (Typ AVR-PG1B) - AVR-89S8252 Flash Microcontroller Board Das Flash-Board habe ich ganz leicht abgeändert und die ISP-Verbindungen wie im Anhang-File gezeigt, verbunden. Um saubere Pegel zu bekommen, habe ich zwei drei Widerstände/Dioden auf dem Flashboard ausgelötet. Die Verbindungen ahbe ich mit grossen Zahlen vermerkt und können (hoffentlich) wie gesagt im Anhang-File nachgesehen werden. Ich hoffe, dabei ist noch nichts falsch... verwendete Software: Tag1: Ich habe versucht, das Linux-SW-Tool uisp zu verwenden. Dabei bin ich ziemlich weit gekommen. Aber leider bleibt bis zu letzt die Meldung, dass die Initialisierung nicht richtig durchläuft. Tag1: Ich habe folgendes probiert: uisp -v -dprog=dasa2 -dserial=/dev/cu.KeySerial1 -dspeed=1200 --erase --upload --verify if=test.txt Dabei kommt dauernd die Fehlermeldung: "AVR Direct Parallel Access failed after 32 retries. An error has occurred during the AVR initialization. * Target status: Vendor Code = 0xff, Part Family = 0xff, Part Number = 0xff Check if the programmer is properly connected. The wiring may be incorrect or target might be 'damaged'." Wenn ich bewusst einen Verbindungsfehler provoziere (z.B. eines der Kabel ziehen, dann kommt folgende Fehlermeldung: "AVR Direct Parallel Access failed after 32 retries. Probably the AVR MCU is not in the RESET state. Check it out and run me again." Daran sehe ich, dass zumindest der Target-status irgendwie gelesen werden kann. Aber leider funktionniert noch nicht mehr !!1 Frage 1: Weiss jemand Rat zum getanenen von Tag1 ???? Was ist falsch ? An was könnte es liegen, dass die uisp-Geschichte nicht funktionniert ???? Die Hardware scheint zu stimmten oder ist da etwas zu berücksichtigen in Zusammenhang mit uisp ??? Tag2: Ich habe folgendes mit anderer Software probiert: Und zwar habe ich die SW "Avrdude" installiert/konfiguriert auf meinem Mac und dazu das Tool "AVR8-Burn-O-Mat" mit schönem user-interface verwendet" Im Moment hängt es glaube ich noch an den Fuses. Frage2: Kann mir jemand die Einstellungen im xml-Config-File zum Burn-O-Mat geben zum AT89S8252 oder AT89S8253 ??? Ich verstehe nicht, wie die Einstellungen der Fuses für den obigen Microcontroller-Typen gemacht werden sollten ??? Irgend eine Idee ?? Weiter im Burn-O-Mat habe ich folgendes gemacht: Ich habe das avrdude.conf File angepasst: und zwar habe ich den Programmer für dasa2 eingefügt: # unknown (dasa2 in uisp) # reset=!txd sck=rts mosi=dtr miso=cts programmer id = "dasa2"; desc = "serial port banging, reset=!txd sck=rts mosi=dtr miso=cts"; type = serbb; reset = ~3; sck = 7; mosi = 4; miso = 8; ; Ausserdem fehlte noch die Part-Definition, welche ich wie folgt im avrdude.conf-File eingefügt habe: #------------------------------------------------------------ # AT89S8253 #------------------------------------------------------------ part id = "8253"; desc = "AT89S8253"; chip_erase_delay = 20000; 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; memory "flash" size = 12288; paged = no; min_write_delay = 4000; max_write_delay = 9000; readback_p1 = 0xff; readback_p2 = 0xff; read = " 0 0 1 0 0 0 0 0", " x x a13 a12 a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write = " 0 1 0 0 0 0 0 0", " x x a13 a12 a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; mode = 0x21; delay = 12; ; memory "signature" size = 2; readback_p1 = 0x1E; readback_p2 = 0x73; read = "0 0 1 0 1 0 0 0 x x x x x x x x", "x x 1 1 0 0 0 a0 o o o o o o o o"; ; ; Frage3: Fehlt noch irgend etwas ???? Muss noch eine Anpassung im avrdude.conf-File gemacht werden ?? (z.B. Typendefinitionen oder sonstiges ??) Leider kommt beim Benützen des AVR8-Burn-O-Mat immer eine Fehlermeldung beim schreiben eines Flash-Files. Und zwar steht folgende Fehlermeldung: "/Users/stephankorner/Programs/AVR_Microcontroller/avrdude-5.5/avrdude -q -u -C /Users/stephankorner/Programs/AVR_Microcontroller/avrdude-5.5/avrdude.co nf -p 8253 -P /dev/cu.KeySerial1 -c dasa2 -E noreset,novcc -F -U flash:w:/Users/stephankorner/Desktop/test.txt:a avrdude: WARNING: -E option not supported by this programmer type avrdude: AVR device not responding avrdude: initialization failed, rc=-1 avrdude: AVR device initialized and ready to accept instructions avrdude: Device signature = 0xffff avrdude: Yikes! Invalid device signature. avrdude: Expected signature for AT89S8253 is FF FF FF avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: AVR device not responding avrdude: reading input file "/Users/stephankorner/Desktop/test.txt" avrdude: input file /Users/stephankorner/Desktop/test.txt auto detected as invalid format avrdude: invalid input file format: -1 avrdude: write to file '/Users/stephankorner/Desktop/test.txt' failed avrdude done. Thank you." Frage4: Versteht dies jemand ??? Was ist da zu tun ??? Wie kann ich die -E Option ausschalten ??? Kennt sich jemand aus ? So das wärs fürs erste ;) Ich bin ziemlich verzweifelt und bin dankbar für jeden brauchbaren Tipp wie ich doch noch zum Programmieren meines AT89S8252-Microcontrollers mittels eines Mac komme... Vielen Dank für jegliche Hilfe. skuenstler
versuchs mal mit dem avrmacpack http://www.obdev.at/products/avrmacpack/index.html hatte es bei mir installiert und es funktionierte zu meinem eigenen erstaunen auf anhieb Grüße Henning
nachtrag: also damit konnte ich die standard makefiles, die unter winavr funktionieren problemlos auf dem mac ausführen..
Hallo, der ATMEL AT89S8252/53 ist KEIN AVR sondern ein 8051 comp. Controller. Der 8252 lässt sich mit den gängigen (dummen) AVR Programmieradaptern und z.B. Ponnyprog programmieren, aber Programmiersoftware die nur AVR Controller unterstütz funktioniert nicht. Gruß BerndB
Danke für Eure Antworten. Bei dem Vorschlag von Henning bräuchte ich noch dieses standard makefile, welches auf dem winavr funktioniert. Ausserdem bin ich mir nach BerndB´s Antwort nun nicht sicher, ob denn AVRMacPack auch mit dem AT89S8252/53 funktioniert, da es ja scheinbar kein AVR uC ist, sondern ein 8051er. Henning hast Du mir dazu vielleicht eine Antwort ?? Und zu der Antwort von BerndB: Ich habe das Program Ponyprog heruntergeladen. Aber habe nun keine Ahnung wie ich das Ding unter Mac OS zum laufen bringen kann. Hast Du vielleicht irgend einen Input dazu ? Vielen Dank für die Hilfe !! Gruss
Hallo, auf der Seite http://www.lancos.com/ppwin95.html gibt es eine Version für LINUX und sogar den Quellcode zum download. Ich kann dir bei MAC OS Sachen sonst leider nicht weiterhelfen. Gruß BerndB.
Hallo Stephan, da ich auch unter OS X meine AVRs programmieren, habe ich mich mal kurz mit deinem Problem beschäftigt. Mit uisp sollte es eigentlich funktionieren, nur was ich komisch fand, dass einmal von AT89S8252 die rede ist und dann er nicht mehr auftaucht... (kann man bequem über Macports installieren). In der avrdude.conf habe ich auch nix gefunden, dafür soll ponyprog ihn unterstützten,aber auf die schnelle habe ich keine Version von PonyProg für OS X gefunden (gegoogelt und bei Macports). "Vendor Code = 0xff, Part Family = 0xff, Part Number = 0xff" Sowas ähnliches hatte ich bei einen ATmega8 auch schon mal. Signatur und so war immer ff... Über die High-Voltage Programming Method (in AVR Studio dann) funktionierte das Flashen wieder. Da habe ich wohl die Fuse-Bits verstellt und mich ausgesperrt. Seltsamerweise konnte ich es aber nicht mehr richten. Darum, funktioniert das Flashen unter Windows eigentlich? viel Erfolg!!! mano
Hallo Stephan, ich habe genau das gleiche Problem, allerdings mit einem USB2Serial-Adapter von Conrad-Elektronik und einem ATMEGA8 auf einem OLIMEX-Programmer. Ich habe mir das Verbindungskabel zwischen serieller Schnittstelle und Pogrammer selber gebaut. Das Problem scheint mir zu sein, dass der Reset-Pin nicht LOW gelegt wird, nur dann reagiert wohl der AVR auf Programmierversuche. Woran das nun liegt, kann ich nicht sagen. Ich bin mit dem Debugger durch avrdude durchgesteppt, ein entsprechender ioctl()-Aufruf zum HIGH-setzen von TxD (Pin 3, wird mit Kollektor-Schaltung zu LOW am Reset-Pin) existiert, scheint aber nicht zu funktionieren. Ein grundsätzliches Problem scheint es ja nicht zu sein, es finden sich im Netz genug Hinweise, dass es mit USB2Serial-Adaptern klappt (insbesondere dem von Dir erwähnten Keyspan-Adapter), auch mit avrdude und anderer Software. Hat noch jemand Hinweise? Als "last resort": Gibt es einen bezahlbaren AVR-Programmer mit USB-Schnittstelle für die ISP-Programmierung, der mit einem iMac funktioniert? Gruß Oliver
Hallo Mano Wee, nein, den AVR-PG1 habe ich nicht, ich habe das AVR-P28. Ok, das war nicht so präzise ausgedrückt, es handelt sich dabei natürlich um ein Prototypen-Board. Den Schaltplan vom Verbindungskabel habe ich von der Homepage von Olimex. Ich sehe grade, es ist der vom AVR-PG1. Gruß Oliver
Also Du hast den wo "connects to PC via RS232 port (note it will not work with USB-RS232 converters!)" steht, aber das hast Du ja schon selber bemerkt.
Oliver wrote: > Als "last resort": Gibt es einen bezahlbaren AVR-Programmer mit > USB-Schnittstelle für die ISP-Programmierung, der mit einem iMac > funktioniert? Die verschiedenen USB-ASP funktionieren sehr gut und sehr schnell. Das Problem hier ist IMO, dass mal wieder versucht wird mehrere problematische Komponenten gleichzeitig zum Laufen zu bekommen. Exotische Platform, exotischer Programmer, exotische Verkabelung (USB-Adapter...), exotisches Board und alles auch noch selbst geloetet. Zum Debuggen am Besten erstmal auf einen "alten" PC mit echter serieller Schnittstelle wechseln, Standardsoftware hernehmen und am Besten auch einen gaengigen Programmer. Wenn das alles laeuft und das Board sicher funktioniert, kann man mit den anderen Experimenten weiter machen...
Hallo Peter, naja, ganz sooooo exotisch ist der Ansatz mit dem Mac nicht, immerhin gibt es einige Erfolgsstories im Internet zu finden. Letzendlich hat mich das veranlasst, auch diesen Weg zu gehen. Anyway, es sieht nicht so aus, als meine Geschichte eine Erfolgsstory wird. Kann noch jemand einen konkreten Hinweis auf einen USB-Programmer geben, den er erfolgreich am Mac einsetzt? Und mit welcher Software? Gruß Oliver
Oliver wrote: > naja, ganz sooooo exotisch ist der Ansatz mit dem Mac nicht, immerhin > gibt es einige Erfolgsstories im Internet zu finden. Deswegen bleibt es dennoch ein Exot, bei dem du damit rechnen musst, dass dein neues Spielzeug (was auch immer es gerade ist) nicht damit funktioniert, obwohl alle deine Kollegen total zufrieden damit sind und keine Probleme haben... als Mac-User sind wir hier wirklich eine kleine Minderheit. > Letzendlich hat mich das veranlasst, auch diesen Weg zu gehen. Anyway, es > sieht nicht so aus, als meine Geschichte eine Erfolgsstory wird. Vieleicht nicht in allen Details deines Loesungsansatzes. Wie gesagt, es gibt da im Moment zu viele Unbekannte. Zu guter Letzt ist ja anscheinend auch noch dein Controller ein Exot - mir ist aus diesem Thread zumindest nicht klar geworden, welche der Tools ihn nun korrekt unterstuetzen und welche nicht. > Kann noch jemand einen konkreten Hinweis auf einen USB-Programmer geben, > den er erfolgreich am Mac einsetzt? Und mit welcher Software? Wie gesagt, der usbasp funktioniert sehr gut. Gibt's billig von Jemandem hier im Forum (sorry, vergesse den Link auf deine Seite immer) oder von eBay aus Thailand oder Hong Kong. Laeuft bei mir tadellos mit avrdude. Ich muss aber einschraenken, dass ich mir avrdude mal selbst uebersetzt habe - ob das mit dem MacPack so einfach geht, weiss ich nicht und ob der usbasp deinen Controller untertuetzt, auch nicht - aber der Atmega8 sollte eigentlich kein Problem sein. Ich flashe damit Atmega2560 und Atmega2561 (uebrigens irgendwie auch Exoten - die waren in den ersten 2 Standardinstallationen von avrdude nicht drin...) Ich habe uebrigens frueher mit einem Avr910 geflasht, ueber verschiedene USB-seriell-Adapter, das ging auch gut - aber grauenhaft langsam.
Um die Sache (hoffentlich) abzuschliessen: Ich habe mir einen usbprog von embedded-projects gekauft (mittlerweile habe ich gesehen, dass es das Original von ATMEL zum gleichen Preis gibt). Der tat's an meinem Mac auch erst nicht, gleiches Verhalten wie mit dem seriellen Adapter, der AVR wurde nicht erkannt. Aber es gibt eine Lösung hierfür: 1) Der usbprog muss direkt am MAC eingestöpselt sein, nicht über einen Hub - auch nicht den am MAC-Keyboard 2) Bei avrdude muss "-B 10" mit auf der Kommandozeile stehen, hiermit wird die Länge der Datenpulse eingestellt (o.s.ä.) Nummer 2) habe ich noch nicht mit dem SUB2Serial-Adapter ausprobiert, das dürfte doch recht interessant sein, insbesondere für Mano Wee :-) Schöne Grüße Oliver
Hi, auch ich programmiere AVRs mit einem Mac. Als Programmierer habe ich problemlos - STK 500 mit Usb-Serial-Adapter - Selbstgebauter Usbasp - STK 600 (braucht ein sehr aktuelles avrdude aus dem avrdude cvs) benutzt. Der einzige problematische Adapter ist bei mir der usbprog gewesen, es gibt bei mir genau eine Firmware (nicht die aktuelle), mit der es an meinem Mac funktioniert. Das mit dem usbprog direkt am Mac kann ich auch bestätigen, sonst geht er bei mir überhaupt nicht. -B 10 habe ich allerdings noch nie gebraucht (mit keinem Programmierer), hängt vielleicht von der Taktfrequenz des zu programmierenden Prozessors ab. ciao Udo
Oliver H. wrote: > ... > das dürfte doch recht interessant sein, insbesondere für Mano Wee :-) > ... Mano Wee hat leider ein anderes Problem. Sein AVR Template für Xcode funktioniert zwar, aber noch nicht alles. Beim drücken vom Run-Buttom soll geflasht werden, aber das muss man immer selber einstellen. Gewisse Sachen beim Neu-Anlegen sollen ersetzt werden (z.B. aktuelles Datum, Namen vom Ersteller, Name vom Projekt ...), das funktioniert auch noch nicht.
Hi Ich habe den SMD-Programmer von Tuxgraphics. Der hat einen USB-Anschluss. http://shop.tuxgraphics.org/electronic/index-avr-programmer.html Das Programmieren des AtmegaXX funktioniert problemlos mit OSX, auch 10.5.6 und Xcode 3. Tuxgraphics hat auch andere Dinge im Angebot, ua. einen einfach an eigene Wünsche anzupassenden Webserver. Lieferung aus Canada ist schnell, und die Beratung ist super. Es gibt zu Xcode auch Templates, die ein Makefile enthalten, so dass der Flash-Vorgang mit dem Build-Button gestartet werden kann. Das Ganze lässt sich auch vom Terminal aus bedienen. Setzen der Fuses geht ebenso.
Ruedi Heimlicher schrieb: > > Es gibt zu Xcode auch Templates, die ein Makefile enthalten, so dass der > Flash-Vorgang mit dem Build-Button gestartet werden kann. Und wer es noch etwas bequemer haben möchte, der kann Xcode so einrichten dass bei "Build" (Hammer) der Code übersetzt wird und bei "Run" (grüner Startknopf) geflasht wird. Für den Flash-Button schreibt man sich ein zweizeiler-Script, dass nichts anders macht als ausser "make flash" und fügt dieses Script in Xcode als "add->new custom executable..." ein.
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.