PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR mit iBook über AVR910-USB mit AVRDUDE und Makefile



Prophet05
21.02.2007, 22:08
Moin,

ich möchte mit meinem iBook einen Atmel AVR Programmieren. Den Compiler, die Bibliothek, AVRDUDE und das entsprechende Makefile habe ich mir bereits heruntergeladen und installiert. Ich kann auch mit allem Umgehen aber mir fehlt noch die verbindung zwischen hardware und software.

Ich habe vor mit einem USB Programmer zu arbeiten (com-port oder parallel-port besitzt ein mac ja nicht). Das heißt ich muss im Makefile eintragen das der AVRDUDE_PORT mit dem USB-Port verbunden wird.
Daher würde ich gerne wissen wie ich den USB Port dort eintrage. Muss ich einen pfad ala "/dev/usb" angeben, wenn ja wie lautet der korrekte pfad? Oder kann ich dort einen wert wie er bereits unter windows vorbestimmt ist eintragen?

Ich verwende den Programmer "AVR910-USB (http://www.avr-projekte.de/isp.htm)". Zwar stehen auf dieser Seite (http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#avrdude) einige informationen zum verwenden des programmers aber wenn ich das richtig verstehe (die informationen für linux). Dann wird dort mit dem COM-Port gearbeitet nicht mit dem USB-Port den ich verwenden möchte. Der Programmer kann ja beides.

Also wie stelle ich im Makefile AVRDUDE entsprechend ein, damit es mit diesem Programmer (über USB) arbeitet?

Ich würde gern AVRDUDE verwenden weil es bereits in das Makefile eingebettet ist und damit (sobald ich es richtig eingestellt habe) immer problemlos funktionieren sollen.

Ich verwende das beispiel Makefile von dieser Seite (http://www.mikrocontroller.net/articles/Beispiel_Makefile).

Gruß, Prophet

SprinterSB
22.02.2007, 09:44
Das Makefile schwächelt an ein paar Stellen. Kommentar erspar ich mir.

Mit Ports/Devices brauchst du bei USB nicht rumzumachen, also ist die -P Option überflüssig. Der USB-Treiber (im Endeffekt der Host/Hub) erkennt - wie's gehört - wo was angeschlossen ist. Man brauch also nur den Progger mit -c anzugeben. Gültige Progger siehst du, wenn du einen ungültigen Progger angibst. Gleiches gilt für unterstützte µC. Ausserdem sieht man das im avrdude.conf.

> avrdude -c xxx

avrdude 5.3.1:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=247711#247711

doch zurück zum Makefile...

Dir ist klar, was da alles für Compilertweaks gemacht werden und daß dadurch u.U. Programme nicht funktionieren? (C-Standard/Konvention wird verbogen, etc)

Prophet05
22.02.2007, 13:32
Mit Ports/Devices brauchst du bei USB nicht rumzumachen, also ist die -P Option überflüssig. Der USB-Treiber (im Endeffekt der Host/Hub) erkennt - wie's gehört - wo was angeschlossen ist. Man brauch also nur den Progger mit -c anzugeben. Gültige Progger siehst du, wenn du einen ungültigen Progger angibst. Gleiches gilt für unterstützte µC. Ausserdem sieht man das im avrdude.conf.
Ok gut zu wissen dann werde ich diesen teil im makefile entsprechend anpassen.


Dir ist klar, was da alles für Compilertweaks gemacht werden und daß dadurch u.U. Programme nicht funktionieren? (C-Standard/Konvention wird verbogen, etc)
Das war mir ehrlich gesagt nicht klar. In wie fern ist das der fall?

solaris-man
01.03.2007, 12:45
Hallo!

Ich habe mir vor einem halben Jahr einen Mac Mini zugelegt. Ich hatte auch das Probelm, den AVR über USB anzusprechen.
Ich habe mir einen Treiber für USB-Seriell heruntergeladen und installiert. Ohne diesen Treiber hast du auch kein Device zum Ansprechen deines ISPs.
Wenn du magst setze auf dem System den Befehl "ls -altr /dev" ab. Einmal ohne AVR910-USB und einmal nachdem der AVR910-USB gesteckt wurde. Du solltest einen Unterschied sehen. Ein längerer Name eines Devices sollte zu sehen sein ... Das ist dein AVR910-USB Device.

Viel Spaß!!!

Prophet05
07.03.2007, 17:23
Also ich habe versucht den dev-Pfad zu bestimmen aber ob mit oder ohne finde ich es nicht. Es taucht nicht in dev auf. Kannst du mir mal genauer erläutern wie man das macht? Was genau musstest du den mit deinem Treiber machen? Erkannt wird das gerät das kann ich im System Profiler nachlesen nur ansprechen kann ich es nicht.
Ich versuche es bis jetzt immer mit diesen einstellungen im makefile:

AVRDUDE_PROGRAMMER = avr910

AVRDUDE_PART = m16

### AVRDUDE_PORT = com1

AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep

#AVRDUDE_ERASE_COUNTER = -y
#AVRDUDE_NO_VERIFY = -V
#AVRDUDE_VERBOSE = -v -v

###AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
###AVRDUDE_FLAGS = -p $(MCU) -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS = -p $(AVRDUDE_PART) -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)

Wie bringe ich das denn nun zum laufen?