HowTo: AVR in C programmieren mit Eclipse

Eclipse ist eine sehr mächtige IDE fürs Programmieren in allen möglichen Sprachen. Beim Versuch alle meine Projekte in einer Programmierumgebung zusammen zufassen bin ich darauf gekommen, dass das Programmieren von AVRs mit Eclipse sehr einfach ist. Ich habe hier kurz zusammengetragen was fürs AVR-C Programmieren in Eclipse notwendig ist.
Ich nutze hierfür Ubuntu 11.10 und Eclipse Indigo (3.7.1) das hier heruntergeladen werden kann.

Zusätzlich sollten noch folgende Packete installiert werden: avr-gcc avr-libc gcc binutils-avr libc6 libc6-dev libc6-dev-i386 avrdude

sudo apt-get update
sudo apt-get install avr-gcc avr-libc gcc binutils-avr libc6 libc6-dev libc6-dev-i386 avrdude
sudo apt-get upgrade
Select Programmer
Select Programmer

Wenn man Eclipse dann startet, kann man gleich von dem tollen neuen programmeigenen Packetmanager Gebrauch machen.
Unter Help ->  Eclipse Marketplace findet man mit dem simplen Suchbegriff “AVR” sofort, das AVR Eclipse Plugin! Ist dies installiert sollte man Eclipse einmal neustarten. Nun gilt es noch einige Einstellungen vorzunehmen. Unter Window -> Preferences  -> AVR -> AVRDude wird der Programmer angegeben mit dem der Microcontroller geflasht werden soll. Anschließend sollte unter AVR -> Paths überprüft werden, ob Eclipse den Pfad für “AVR-GCC”, “AVR Header Files” und “AVRDude” richtig erkannt hat. Wenn nicht ist vermutlich etwas bei der Insallation der oben aufgeführten Packete fehlgeschlagen. Ansonsten: Apply und dann OK

Anlegen einer Source File

Nun können wir mit File -> New ->  C Project ein neues Project erstellen, Name und Ort sind selbsterklärend und als Projekttyp wird “AVR Cross Target Aplication” ausgewählt. Der nächste Schritt bietet uns nun die Möglichkeit die zwei Standardkonfigurationen “Debug” und “Release” anzuwählen. Wenn ihr euch unsicher seid wählt einfach nur Release. In den meisten Fällen reicht das.
Unter  Advanced settings -> AVRDude sollte noch der vorher angelegte Programmer ausgewählt werden, falls dies nicht schon automatisch der Fall ist.  Achtung! Häufiger Fehler: Apply und dann OK.
Auf der nächsten Seite kann man nun den Prozessortyp und die Arbeitsfrequenz einstellen. Fertig! Das Programmieren kann beginnen. Alle Einstellungen können unter Project -> Properties noch im Nachhinein verändert werden.

Mit File -> New -> Source File bzw. Header File können Dateien zu Projekt hinzugefügt werden. Schreibt euren Code und wählt Project -> Build All aus. Wenn er keine Errors beim Kompilieren gibt, könnt ihr anschließen euer Programm mit
AVR -> Upload Project to Target Device auf euren Microcontroller flashen.

Auch wenn für Anfänger Eclipse auf den ersten Blick ein wenig nach Overkill aussehen mag so bietet es doch alle Möglichkeiten die man sich wünschen kann in einer netten grafischen Oberfläche an.

Viel Spass

Flash µC
Flash µC

Update: Ein häufig auftretendes Problem ist, dass AVRDude root-Rechte benötigt um auf den Controller zu schreiben. Dies ist zum Beispiel der Fall bei dem USB zu ISP Wandler den ich benutze (USBasp).
Zur Lösung des Problems muss man eine neue udev Rule anlegen:

SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", GROUP="plugdev", MODE="0660"

Und anschließend muss udev noch neugestartet und der Programmer aus- und wieder eingesteckt werden.

sudo restart udev

Quelle: http://78.46.161.153/wiki/index.php?n=Linux.Udev4User

No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

* Checkbox GDPR is required

*

I agree

Software
2
Bye bye Play Store! Mirroring Play Store Apks to private F-Droid repo

This small tutorial will show you how to setup your own F-Droid repository containing automatically mirrored Play Store apps. Using this private repo, you don’t have to relay on Google Play Store or third party stores anymore to keep non-free apps up-to-date. All you need to have is a Linux …

Software
Ebook reader app for Nextcloud

Because of lack of altenatives I decided to write a small ebook reader plugin for Nextcloud. The task of creating such an app was quite easy: I just forked the files_pdfviewer extension and replaced PDF.js with the Epub.js library. In the app template file, I used the reference ebook reader …

Hardware
Fix a bend bicycle fork

Bend forks are hard to fix — I thought. But to get it somewhat straight is sometimes not that big of a deal! This is the bend fork. It is also the reason that made the bike go to trash before I saved it: To bend the fork back to …