AVR Embedded Tutorial - Set up Lazarus for ATmega and ATTiny/de

From Lazarus wiki
Jump to navigationJump to search

nackte AVRa

Da diese AVRs einen Bootloader brauchen, nimmt man dazu am besten die Arduino-IDE um diesen zu brennen. Gleichzeitig sieht man dort auch welche Parameter es braucht für den AVRDude-Aufruf.

ATmega328p

Hier wird beschrieben, wie es bei einem Atmga328p geht. Die Arduino-IDE muss zuerst für nackte ATmega328 vorbereitet werden. Dazu geht man unter Datei/Voreinstellungen/Einstellungen/Ausführliche Ausgabe während: Setzt dort den Haken bei Hochladen. Anschliessend geht man dort unter Zusätliche Boardverwalter-URLs: und klickt dort auf den kleinen Button mit 2 Fenstern. Dort schreibt/ergänzt man mit https://raw.githubusercontent.com/carlosefr/atmega/master/package_carlosefr_atmega_index.json . Boardverwaltung öffnen: Werkzeuge/Board: xxx/Boardverwalter, dort sucht man Barebones ATmega Chips.... und installiert dort die neuste Version. Dann kann man unter Werkzeuge die richtigen Parameter einstelln und den Bootloader brennen.

Wen man dann den Sketch mit dem grünen Pfeil hoch lädt, bekommt man eine ausführliche Ausgabe. Ca. bei der 4. Zeile sieht man wie AVRDude aufgerufen wird. Bei dieser Zeile kann man gucken welche Parameter man dann auch bei Lazarus braucht. Bei mir sieht sieh 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 -cstk500v1 -P/dev/ttyUSB0 -b19200 -Uflash:w:Project1.hex:i

Diese AVRDude-Zeile ist auch das einzige was man bei Lazarus anpassen muss. Siehe auch http://wiki.freepascal.org/Einstieg_Lazarus_und_Arduino.

andere ATmega

Die Vorgehensweise ist fast gleich wie bei dem ATmega328. Die Unterschiede:


Wen Arduinos/AVRs programmieren will, dann kommt man immer mit den AVRDude-Parameter in Kontakt. Dafür gibt es einen Trick. Man guckt, was die Arduino-IDE macht. Dazu öffnet man die Arduino-IDE, geht unter Datei/Voreinstellungen/Einstellungen/Ausführliche Ausgabe während: Setzt dort den Haken bei Hochladen. Dann wählt man bei Werkzeuge den Arduino/AVR mit den richtigen Parametern aus. ( Vorausgesetzt, die A-IDE ist auf diese AVRs konfiguriert. ) Wen man dann den Sketch mit dem grünen Pfeil hochlädt, bekommt man eine ausführliche Ausgabe. Ca. bei der 4. Zeile sieht man wie AVRDude aufgerufen wird. Bei dieser Zeile kann man gucken welche Parameter man dann auch bei Lazarus braucht.

ATTinys und Lazarus ATmegas

Wen man ATtiny mit Lazarus programmieren will, muss man den Cross-Compiler anders einstellen. Dazu muss man bei fpcupdelux und [Setup+] diese Parameter abändern:

  • Cross Build Options Overide: -Cpavr25
  • Cross SubArch Overide: avr25

Folgende Werte sind geeignet für

  • 25 : ATTiny13, ATTinyx313, ATTinyx4, ATTiny5.
  • 5 : ATmega128, ATmega328 (Ardunio Uno/Nano).

Hier eine Liste mit weitern Parametern für andere AVRs: http://www.atmel.com/webdoc/avrlibcreferencemanual/using_tools_1using_avr_gcc_mach_opt.html

Leider hat das Ganze ein Manko, man muss für jede AVR-Familie, den Cross-Compiler umkompilieren ! Ein Lazarus für alle geht nicht.