Difference between revisions of "AVR Embedded Tutorial - Various programmers/de"

From Lazarus wiki
Jump to navigationJump to search
Line 41: Line 41:
  
 
* Atmega328p oder Arduino Nano, mit einem aspISP-Programmer.<br><code>avrdude -v -patmega328p -cusbasp -Pusb -Uflash:w:Project1.hex:i</code>
 
* Atmega328p oder Arduino Nano, mit einem aspISP-Programmer.<br><code>avrdude -v -patmega328p -cusbasp -Pusb -Uflash:w:Project1.hex:i</code>
 +
 +
==== Fehler ====
 +
Wen es zu folgendem Fehler kommt, einfach Avrdude installieren.
 +
avrdude: Warning: cannot open USB device: Permission denied
 +
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
 +
* Linux:
 +
$ sudo apt-get install avrdude
  
 
===Arduino ISP===
 
===Arduino ISP===

Revision as of 13:55, 22 August 2018

Template:Translate

Verschiedene Programmer

Generelles

Arduino-IDE

Am einfachsten geht es um die nötigen Parameter für avrdude zu ermitteln, wen man den passenden AVR zuerst mal mit der Arduino-IDE programmiert.
Siehe:

Bei der erst Programmierung der AVR, wird ein Bootloader gebraucht, diesen brennt man am besten mit der Arduino-IDE.
Wen man die Taktfrequenz oder sonstige Parameter ändern will, muss man den Bootloader auch neu brennen. Dies FUSE-Parameter werden auch geschrieben.

Lazarus IDE

Die bei der Arduino-IDE ermittelten Parameter werden bei Lazarus unter

  • "Projekt --> Projekteinstellungen... --> Compiler-Kommandos --> Nachher ausführen" eingetragen.

Dies sieht bei einem Arduino-Nano etwa so aus:
/home/tux/Programme/arduino-1.8.5/hardware/tools/avr/bin/avrdude -C/home/tux/Programme/arduino-1.8.5/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D -Uflash:w:Project1.hex:i

Averdude installieren

Wen man averdude installiert, kann man die Start-Parameter Liste bei Lazarus einiges verkürzen.

Linux

sudo apt-get install avrdude

Hinweis: Bei der Paketverwaltung sind meistens etwas ältere averdude vorhanden. In der Regel ist dies nicht störend, ausser man verwendet brandneue Hardware.

Verkürzte Parameter

Da avrdude im Suchpfad ist, kann man die ganze Pfad-Angabe sparen. Die Zeile mit avrdude.conf braucht es auch nicht, da die Default avrdude.conf verwendet wird, bei Linux befindet sich diese unter /etc/avrdude.conf.
avrdude -v -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D -Uflash:w:Project1.hex:i

Programmieren über USB

Bei den meisten Arduino wird über USB programmiert, das sieht dann bei folgenden Arduino so aus:

  • Arduino Nano, alter Bootloader ( Ist bei den meistne China-Modellen vorhanden )
    avrdude -v -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D -Uflash:w:Project1.hex:i
  • Arduino Nano, neuer Bootloader, wird ab Anfangs 2018 verwendet.
    avrdude -v -patmega328p -carduino -P/dev/ttyUSB0 -b115200 -D -Uflash:w:Project1.hex:i

Programmieren über ISP

Man kann die Arduinos auch über ISP programmieren, dabei wird der Arduino über den 6-Pol Pfostenstecker an einem ISP-Programmer angeschlossen. Bei nackten AVR geht dies auf den gleichen Weg, nur muss man da selbst den 6-Pol Stecker anlöten.

USBasp

  • Atmega328p oder Arduino Nano, mit einem aspISP-Programmer.
    avrdude -v -patmega328p -cusbasp -Pusb -Uflash:w:Project1.hex:i

Fehler

Wen es zu folgendem Fehler kommt, einfach Avrdude installieren.

avrdude: Warning: cannot open USB device: Permission denied
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
  • Linux:
$ sudo apt-get install avrdude

Arduino ISP

Eigenbau ISP-Programmer mit einem Arduino, gemäss diesen Tutorials:


  • ATTiny2313 mit modifizierten Arduino als ISP-Programmer.
    avrdude -v -pattiny2313 -cstk500v1 -P/dev/ttyUSB0 -b19200 -Uflash:w:Project1.hex:i

Siehe auch

Autor: Mathias