Wie programmiere ich Microcontroller an der seriellen Schnittstelle?

OP (Firma: ---) #1582507
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.
Gast #1582517
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
Gast #1582544
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
OP (Firma: ---) #1582562
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?
OP (Firma: ---) #1582599
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?
Gast #1582608
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
Gast #1582614
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren