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

From Lazarus wiki
Jump to navigationJump to search
Line 59: Line 59:
 
Bei Ubuntu basierenden Linux kann man dies beheben, in dem man AVRdude folgendermassen installiert:
 
Bei Ubuntu basierenden Linux kann man dies beheben, in dem man AVRdude folgendermassen installiert:
 
<syntaxhighlight lang="bash">sudo apt-get install avrdude</syntaxhighlight>
 
<syntaxhighlight lang="bash">sudo apt-get install avrdude</syntaxhighlight>
 +
'''Hinweis:''' Evtl. '''PC Neustart''' nötig.
  
 
== Siehe auch ==
 
== Siehe auch ==

Revision as of 14:15, 8 December 2019

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: Evtl. PC Neustart nötig.

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 UNO:
    avrdude -v -patmega328p -carduino -P/dev/ttyACM0 -b115200 -D -Uflash:w:Project1.hex:i
  • Arduino Nano, alter Bootloader ( Ist bei den meisten 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

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

USB-Port frei geben

Es kann sein, das der USB-Port gesperrt ist und es zu folgendem Fehler kommt:

 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'

Bei Ubuntu basierenden Linux kann man dies beheben, in dem man AVRdude folgendermassen installiert:

sudo apt-get install avrdude

Hinweis: Evtl. PC Neustart nötig.

Siehe auch

Autor: Mathias