Forum: Compiler & IDEs Wie programmiere ich Microcontroller an der seriellen Schnittstelle?


von Lukas L. (Firma: ---) (mchi3f)


Lesenswert?

hallo allerseits,

ich habe mir ein microcontroller board gekauft, und da war auch gleich 
ein Programmer dabei. Den Programmer muss man an die serielle 
Schnittstelle am Computer anschließen.Ich arbeite mit Linux und hab mir 
auch schon avrdude und avr-gcc installiert. Der Programmer ist ein AVR 
910 In-System-Programmer.

Jetzt die Frage:

Wie kann ich mit avrdude einstellen das er den Programmer an der 
seriellen Schnittstelle erkennt sodass ich ihn programmieren kann bzw. 
wie bekomme ich zugriff auf die serielle Schnittstelle.

Bitte um Hilfe.

von user (Gast)


Lesenswert?

wenn du nen mega16 hast und die datei myprogram.hex draufladen willst 
verwendest du es so

avrdude -c avr910 -p m16 -U flash:w:myprogram.hex

wenn du nur den programmer testen willst brauchst du nen atmega in der 
schaltung und dann einfach

avrdude -c avr910 -p m16

ausführen, es sollte sowas rauskommen

avrdude -c avr910 -p m16

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.00s

avrdude: Device signature = 0x1e9403

von Rolf M. (rmagnus)


Lesenswert?

Die in der Doku beschriebene Konfiguration hat nicht funktioniert? Und 
http://tinyurl.com/y98rkwg auch nicht?

von Lukas L. (Firma: ---) (mchi3f)


Lesenswert?

hallo,

ich habe das mal ausprobiert, also nur mal den programmer ausprobiert, 
dann erscheint folgendes:

avrdude: avr910_recv(): programmer is not responding

was kann ich tun?

von g457 (Gast)


Lesenswert?

Luki Liehrlie schrieb:
> was kann ich tun?

Die richtige(tm) Schnittstelle mit angeben (-P device), vielleicht hat 
er die falsche benutzt. Stromversorgung des Prommers kontrollieren wäre 
auch eine Option. Anschließend das Oszi dranhängen..

HTH

von Lukas L. (Firma: ---) (mchi3f)


Lesenswert?

also der programmer is unter spannung. wenn ich die spannung anlege dann 
blinkt die LED (wie in der docu beschreiben) rot und grün und dann immer 
grün. also an der stromversorgung liegt es nicht.

wenn ich den port angeben muss muss ich ja das machen:

avrdude -P ....

aber mit was muss ich die serielle schnittstelle angeben?

von Lukas L. (Firma: ---) (mchi3f)


Lesenswert?

hall ich bins nochmal,

wenn ich das eingebe:

avrdude -c programmer-id avr910 -p m32

dann kommt folgendes:

Valid programmers are:
  c2n232i  = serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts 
[/etc/avrdude.conf:834]

und noch viel anderes. wenn ich jetzt mal das eingebe:

avrdude -c c2n232i -p m32

dann kommt das:

/dev/parport0: Permission denied
avrdude done.  Thank you.

was hat das für eine bedeutung?

von g457 (Gast)


Lesenswert?

Luki Liehrlie schrieb:
> aber mit was muss ich die serielle schnittstelle angeben?

..na den zugehörigen Gerätenamen :-)
1
$ dmesg | grep -ie tty | grep -iv console
2
[    0.425365] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
3
[    0.425655] 00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
4
[    5.742062] usb 8-1: pl2303 converter now attached to ttyUSB0
5
[    5.743603] usb 3-6.4: pl2303 converter now attached to ttyUSB1
Bei mir sind /dev/ttyS0, /dev/ttyUSB0 und /dev/ttyUSB1 verfügbar.. ttyS* 
sind 'echte' serielle Schnittstellen, ttyUSB* sind USB-Seriell-Wandler 
(Quizfrage: welche gibts prinzipiell noch?)

Jetzt musst Du nur noch die 'richtige' herausfinden.. Bei einem 
USB-Seriell-Wandler z.B. die Ausgabe von dmesg beim Einstecken 
auswerten:
1
$ dmesg | tail | grep -ie tty
2
[17469.102941] usb 3-6.2.3: pl2303 converter now attached to ttyUSB2
..kommt bei mir raus, wenn ich einen weiteren USB-Seriell-Wandler 
anstecke (dann wäre das für den avrdude /dev/ttyUSB2).
Bei 'echten' seriellen musst Du ebenfalls die richtige raussuchen.. 
durch ausprobieren..

HTH und HF

von g457 (Gast)


Lesenswert?

Luki Liehrlie schrieb:
> Der Programmer ist ein AVR 910 In-System-Programmer.

-> -c avr910
(also 'avr910' ist die 'programmer-id')


Ein passender Aufruf könnte dann z.B. so aussehen:
1
$ avrdude -c avr910 -P /dev/tty... -p m32
Details zu den Parametern stehen übrigens in der man-page ($ man 
avrdude).

HTH

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
Noch kein Account? Hier anmelden.