Inhaltsverzeichnis:

So richten Sie die AVR-Programmierumgebung unter Linux ein: 5 Schritte
So richten Sie die AVR-Programmierumgebung unter Linux ein: 5 Schritte

Video: So richten Sie die AVR-Programmierumgebung unter Linux ein: 5 Schritte

Video: So richten Sie die AVR-Programmierumgebung unter Linux ein: 5 Schritte
Video: Franzis Lernpaket AVR Mikrocontroller in C programmieren 2024, Juli
Anonim
So richten Sie die AVR-Programmierumgebung unter Linux ein
So richten Sie die AVR-Programmierumgebung unter Linux ein

Wenn Sie AVR-Mikrocontroller unter Windows programmieren möchten, haben Sie ein Studio, aber unter Linux haben wir nur einen Dude.

AVRDUDE ist die Befehlszeilenschnittstelle zum Programmieren von AVR-Chips. Die Einrichtung kann zunächst etwas schwierig sein. In diesem Instructable werde ich AVRDUDE einrichten und auch eine AVR-Programmierumgebung für das Linux-Terminal erstellen.

Zuerst installiere ich alle AVRDUDE und alle erforderlichen Abhängigkeiten, dann erstelle ich ein BASH-Skript, das bei der Programmierung hilft

Schritt 1: Holen Sie sich Ihren Compiler und andere Tools

Um AVR-Chips zu programmieren, benötigen Sie einen speziellen Compiler namens gcc-avr und die anderen Tools wie binutils-avr, avr-libc, gdb-avr und nicht zuletzt avrdude.

sudo apt-get install gcc-avr binutils-avr avr-libc gdb-avr avrdude

Schritt 2: Erstellen einer Vorlage

Erstellen einer Vorlage
Erstellen einer Vorlage

Wenn Sie eine neue Skizze in arduino öffnen, erhalten Sie eine Codevorlage, die zwei Funktionen enthält, dies spart Ihnen viel Zeit.

AVRDUDE verwendet C und es kann ein wenig nervig sein, jedes Mal, wenn Sie programmieren möchten, eine Hauptmethode zu erstellen, also werde ich eine AVR-Vorlage erstellen.

Tippen Sie auf ~/Templates/AVR.c

Verwenden Sie den Touch-Befehl, um eine leere Datei im Ordner Vorlagen zu erstellen.

vi ~/Templates/AVR.c

Öffnen Sie die Datei mit Ihrem bevorzugten Texteditor, ich verwende vi.

#define F_CPU 16000000L

#include #include int main(){ while(){ } return 0; }

Geben Sie den obigen Code ein und speichern Sie die Datei. Dieser Code dient als unsere Vorlage.

Hinweis: Ich habe meine Taktfrequenz auf 16000000 eingestellt, Sie können Ihre als jede andere Frequenz einstellen, vielleicht 8000000.

Schritt 3: Erstellen Sie eine neue Datei

Jetzt haben wir eine Vorlage für unsere AVR-Codes, wir müssen nur noch eine neue Datei erstellen. Ich werde einen Bash-Befehl erstellen, der ein Argument (den Dateinamen) aufnimmt und dann diese Datei mit der AVR-Vorlage erstellt.

Lass uns eine leere Datei namens "create" erstellen

berühren erstellen

Ändern Sie die Dateiberechtigung, da dies ein BASH-Skript ist

chmod 755 erstellen

Öffnen Sie "create" mit Ihrem Texteditor. Bearbeiten wir nun "create", fügen Sie die folgenden Befehle Zeile für Zeile hinzu.

#!/bin/bash

Dies ist der Pfad zum Interpreter für "create", was bash ist.

cp ~/Templates/AVR.c /home/$USER

Dadurch wird unsere Vorlagendatei in das Home-Verzeichnis des Benutzers kopiert.

mv ~/AVR.c $1

Denken Sie daran, dass ich sagte, dass "create" ein Argument benötigt, $1 bedeutet, dass das erste Argument unseres Befehls dieses Argument der beabsichtigte Dateiname ist, das Letzte, was wir wollen, sind mehrere Dateien mit demselben Dateinamen. Der Befehl benennt den Dateinamen in unser Argument um.

vi $1

Dies ist optional, aber es ist schön, unsere Datei sofort zu öffnen, nachdem wir sie erstellt haben.

Wir sind mit der Bearbeitung fertig, erstellen, speichern und schließen.

Hier ist ein Beispiel für das Erstellen in Aktion.

./erzeuge blink.c

Dadurch wird eine Datei namens blink.c erstellt, diese Datei sollte die Vorlage von AVR.c haben.

Schritt 4: Lass uns laufen

Wir müssen ein weiteres Bash-Skript namens "run" erstellen. Dieses Skript benötigt 3 Argumente (den von uns verwendeten avr-Mikrocontroller, den Dateinamen und den Programmierer).

Nehmen wir es Zeile für Zeile.

#!/bin/bash

unser shebang

avr-gcc -Wall -g -0s -mmcu=$1 -o $2.bin $2.c

Der obige Befehl kompiliert unseren Code, '$1' ist unser erstes Argument, das der Mikrocontroller ist, den wir programmieren. $2 ist unser zweites Argument, das der Dateiname ist.

avr-objcopy -j.text -j.data -O ihex $2.bin $2.hex

Dies konvertiert unsere kompilierte Datei in Hex.

avrdude -p $1 -c $3 -U flash:w:$2.hex -P usb

Jetzt brennt avrdude den Code in den AVR-Chip. $3 ist unser drittes Argument, das ist der Programmierer, den wir verwenden.

Speichern Sie die Datei "Ausführen"

erteile die Ausführungserlaubnis

chmod 755 laufen

Jetzt testen wir es. Nehmen wir an, wir möchten blink.c hochladen und verwenden direkt ein Arduino-Board, wir verwenden auch einen USB-Programmierer. So verwenden wir das Skript "run".

./atmega328p ausführen blinken USBasp

Das Arduino-Board verfügt über einen atmega328p-Chip, Sie können jeden AVR-Mikrocontroller Ihrer Wahl verwenden.

Das zweite Argument ist Ihr Dateiname, aber dieses Mal fügen Sie nicht die Dateierweiterung hinzu, die das Skript verarbeitet.

Dann haben wir das dritte Argument, das der von Ihnen verwendete Programmierer ist, ich verwende einen USBasp-Programmierer.

Schritt 5: Fazit

Dies ist eine großartige Möglichkeit, Ihre avr-Programmiererfahrung zu automatisieren. Sie können die Bash-Dateien "create" und "run" nach "~/.local/bin" verschieben, damit Sie die Skripte aus einem beliebigen Dateiverzeichnis Ihrer Wahl verwenden können.

Empfohlen: