PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit der Programierung des ATMega16



Heiko23
22.01.2005, 22:48
Hallo,

um meinen Roboterarm (http://ftcommunity.de/details.php?image_id=3463) zum Leben zu erwecken, baue ich gerade die Steuerung über einen Atmel ATMega16 auf. Ich möchte den Prozessor über mein iBook programmieren, habe damit aber noch einige Probleme. (Dieses Problem ist vielleicht nicht so speziell, wie es klingt, weil ich praktisch die gleiche Software benutze, die man auch unter Linux verwendet.)

Ich benutze mein iBook unter MacOS 10.3 mit einem USB-Seriell-Adapter, der über einen AVR910-Programmer mit dem Atmel verbunden ist. Der serielle Port funktioniert und wird als /dev/cu.usbserial0 angezeigt. Allerdings kommt über uisp keine Kommunikation zustande:

heiko:go[avr-gcc]$ uisp -dprog=avr910 -dserial=/dev/cu.usbserial0
Programmer is not responding.

Sowohl das Entwicklungsboard als auch den ISP-Programmer habe ich fertig gekauft, es dürfte damit also keine Prob leme geben. Allerdings habe ich den dummen Fehler gemacht, den ISP-Stecker beim ersten Versuch falschherum anzuschließen – vermutlich habe ich also den einzigen Fehler gemacht, den ich machen konnte ;-). Dadurch war MISO auf +5V gelegt, der Rest auf GND. Kann es dadurch zu einem Hardware-Schaden am ISP oder am Atmel kommen? Ich hoffe doch nicht …

Habt ihr Vorschläge, was ich noch tun könnte, um den Programmer und/oder den µC zu testen? Ich habe mit ein paar Optionen in uisp herumgespielt, aber es hilft nichts. Und ja, Programmer und Board bekommen Strom. Ich habe so ziemlich alle Spannungen durchgemessen. Aus dem USB-Seriell-Adapter kommen an der seriellen Schnittstelle zwwar nur ±9V statt ±12V, aber da vermute ich den Fehler nicht.

Weil hier erst neulich die Frage gestellt wurde, ob der Atmel sich von einem Mac aus programmieren lässt, möchte ich noch ein paar meiner Bookmarks zum besten geben:

AVR Microcontroller Programming on a Mac (http://www.eecs.berkeley.edu/~mseeman/resources/macmicro.html) ist eine hervorragende Ressource – hier gibt es ein fertiges Softwarepaket, in dem avr-gcc, binutils, avr-libc und uisp enthalten sind. Installer durchklicken und fertig.
- AVR-GCC ist der C-Compiler für den Atmel, der in WinAVR als Windows-Portierung enthalten ist. Unter OS X gibts den natürlich auch.
- uisp (http://www.nongnu.org/uisp/faq.html) ist ein nettes Programm, mit dem sich die Programme auf den Atmel schreiben lassen. Das stk500, 200, der avrisp, viele serielle und parallele Adapter werden unterstützt.

A GNU Development Environment for the AVR Microcontroller (http://users.rcn.com/rneswold/avr/) ist eine hervorragende Schritt-für-Schritt-Anleitung für den avr-gcc. Leider ist der Teil über uisp noch nicht geschrieben.

A. Noack (http://a-noack.de/a-noack1-3.html) verkauft ISPs für die serielle Schnittstelle nach de Atmel Application Note 910. Über eBay bin ich auf ihn aufmerksam geworden, habe jedoch direkt bei ihm gekauft.

Ein =30]Entwicklungsboard (ttp://shop.mikrocontroller.net/csc_article_details.php?&saArticle[ID) für ATMega16 habe ich von mikrocontroller.net gekauft. Leider hat sich der Versand über einen Monat und vier, fünf böse E-Mails hingezogen.

So, ich habe genug erzählt. Hat jemand von euch Erfahrungen mit dem Atmel unter Unix? Mache ich etwas mit uisp falsch? Erkennt ihr irgendwelche anderen Problemquellen? Ich bin für jede Hilfe sehr dankbar. Gruß Heiko

tobimc
22.01.2005, 23:01
HI

Hm. Ich habe auch schon öfters den ISP(6PIN) falschherum aufgesteckt. das hat bei mir aber noch nie zu Problemen geführt.

Ich vermute den Fehler eher zwischen dem Programmer oder deiner Software.

Frage: Hat es schonmal funktioniert? Wohl eher nicht...

Hast du schonmal (mit nem scope) nachgemessen, ob aus deinem
Seriellen Stecker auch Daten herauskommen?
Und dein dongle darauf antwortet?

Kannst du das Programmieren wo anders (möglichst PC) testen?

Liebe Grüße, Tobi

Heiko23
22.01.2005, 23:09
> Frage: Hat es schonmal funktioniert? Wohl eher nicht...

Naja – am PC habe ich es mit WinAVR und AVRStudio hinbekommen, dass er die Seriennummer aus dem Prozessor ausgelesen hat und ein Programm draufgeschrieben hat. Leider habe ich es verpennt, ein paar Tests mit ner LED zu machen – und inzwischen hat es die Festplatte am PC zerlegt. Also habe ich hier keine Alternative zum Mac, ich kann höchstens mal unauffällig an einem Schulcomputer die Entwicklungsumgebung installieren ;-)

> Hast du schonmal (mit nem scope) nachgemessen, ob aus deinem
> Seriellen Stecker auch Daten herauskommen?

Mit nem Oszi hab ich's noch nicht versucht, aber ich habe mal ein fischertechnik-Interface angeschlossen, was auch prompt funktionierte. Der Adapter macht also im Prinzip, was er soll. Ich vermute das Problem irgendwo in den Tiefen von uisp, ich habe heute Abend auch auf die uisp-Mailingliste gepostet. Mal sehen, was die dazu sagen können.

Danke auf jeden Fall für die schnelle Antwort!

Heiko23
23.01.2005, 00:54
Inzwischen funktioniert die Programmierung *Yippie!* Es lag tatsächlich an diesem ?)"§§?% USB-Seriell-Adapter: Ich habe das Gerät eine gute Stunde lang nicht benutzt (DVD geguckt), hab's nochmal versucht, und plötzlich funktionierte es. Nochmal probiert, Fehler. USB-Stecker gezogen, gewartet, eingesteckt, läuft.

Uploading: flash
###########
(total 330 bytes transferred in 1.58 s (209 bytes/s)
Verifying: flash
###########
(total 330 bytes transferred in 0.91 s (364 bytes/s)

Seht diesen Thread als kurze Dokumentation / Howto / Anleitung, wie man den Atmel / AVR / Atmega16 vom Macintosh / Mac / OS X aus zum Laufen bekommt. Und in diesem Satz müssten auch sämtliche Wörter drinstehen, die man in Suchmaschinen eingibt ;-)

Falls ich nen besseren USB-Seriell-Adapter gefunden habe, sage ich in diesem Thread bescheid. Dieser hier ist No-name, es gibt also nichts, wovor ich warnen könnte.

Grüße,
Heiko Engelke

pebisoft
23.01.2005, 19:38
hallo, ich glaube auch der mac hat auf verschiedenen geräten andere meinungen. ich habe noch einen g3 , aber den küchenbrettroboter kann ich eigentlich nur einwandfrei mit windowprogrammen steueren.vielleicht muss du den seriell-adapter in eiswürfel reinlegen.
überprüf mal den gesamten kontakt am rechner und am adapter bevor du grossalarm schlägst.
mfg pebisoft

mgsimon
13.05.2005, 20:16
Hallo Heiko23,
super Informationen über AVR und iBook.
Denn bin auch vor kurzem auf MacOSX umgestiegen! :-)
Vorher habe ich mit Linux die C-Control benutzt.
Ich durfte die Übertragung immer zwei mal starten.
Erst der zweite Start war erfolgreich, der erste funktionierte nie.
Vielleicht ist dein Prb. damit auch behoben?
mg

iSee
22.06.2006, 22:49
Hallo zusammen,
ich bin ASURO-Neuling und wollte gerne den ASURO-USB-IR-Transceiver benutzen, weil ich (womöglich fälschlich) davon ausgegangen bin, dass es da weniger Quellen für Inkompatibilitäten geben kann als mit einem überdies teureren dezidierten USB-Seriell-Wandler. Nunja, ich finde das Ding immerhin im System-Profiler:
ASURO USB-IR-Transceiver:

Version: 4.00
Bus-Strom (mA): 500
Geschwindigkeit: Bis zu 12 MBit/s
Hersteller: AREXX
Produkt-ID: 0x6001
Seriennummer: AXO77URN
Hersteller-ID: 0x0403

und jetzt? Unter /dev/ kann ich nichts neues finden. Hat jemand gute Ideen, wie ich es ans Laufen bekomme?
Grüße, ralfB