Benutzer-Werkzeuge

Webseiten-Werkzeuge


bidibonemitatmelstudio

BiDiBOne-AddOn mit AtmelStudio aufbauen

Der Artikel beschreibt den Umgang mit dem AtmelStudio6 im Zusammenhang mit BiDiBOne und der bereitgestellten Projektdatei MyAddOn.cproj.

Solution und Projekte

Bevor wir Software mit dem AtmelStudio herstellen können, müssen die Quellen aus dem Repository in der vorgesehenen Verzeichnisstruktur zur Verfügung stehen (siehe BiDiBOne aus dem Repository laden).

Für eine bessere Übersicht und Wartung sind die Quellen für Basis und AddOns in verschiedenen Projekten als so genannte Submodule organisiert. Dabei stellt die Basis das Hauptmodul und die jeweiligen AddOn-Projekte ein Submodul dar.

AddOn-Projekte werden dabei ausschließlich im AddOn-Teil entwickelt! Eventuell notwendige Änderungen im Basisteil, die für die allgemeine AddOn-Entwicklung interessant sind, müssen separat besprochen und durchgeführt werden.

Eigenes AddOn-Projekt

Für ein eigenes AddOn wählen wir einen passenden Namen, z.B. OneDrive. Dazu kopieren wir z.B. das MyAddon-Projekt - auf der gleichen Verzeichnisebene! - und benennen das Verzeichnis und die Muster-Projekt-Datei aus dem Verzeichnis OneDrive/env/AtmelStudio6 entsprechend um. Die mit kopierte .git-Datei ist zu löschen, die .gitignore-Datei sollte erhalten bleiben.

Wie schon in BiDiBOne aus dem Repository laden beschrieben, muss die Projektdatei aus dem Verzeichnis OneDrive/env/AtmelStudio6 nach OneDrive kopiert werden. Durch Doppelklick wird das Studio gestartet. Diese Projektdatei ist zwingend auf die beschriebene Verzeichnisstruktur angewiesen. Sollten Fehler in der Compilierung auftreten, ist die Verzeichnisstruktur zu überprüfen und die Projektdatei erneut in ihrer Ursprungsversion zu starten. Beachte: Die Alternative, mit Änderungen an den Include-Pfaden das Projekt lauffähig zu machen, ist aus Gründen der Wartbarkeit nicht gewünscht, ein Support ist damit nicht mehr möglich! (Will heißen: Bei Öffnen des Gerätes erlischt der Garantieanspruch 8-) ).

Die Verzeichnisstruktur sollte dann im AtmelStudio6 wie folgt aussehen:

Im addon-Verzeichnis befinden sich die Quellen, die die Anbindung an das Basis-System ermöglichen. Sie sind direkt durch „Add“ eingebunden. Details finden sich weiter unten.

Im src befindet sich das main-Modul, im library-Unterverzeichnis befinden sich alle notwendigen Dateien aus dem Basis-Projekt. Alle Dateien aus dem Basis-Projekt sind als „Add As Link“ eingebunden und werden so nicht physisch kopiert sondern verbleiben ausschließlich im Basis-Projekt. Die Quellen werden mit einem Verknüpfungssymbol angezeigt.

Ergänzungen

Alle für das AddOn-Projekt notwendigen Verzeichnisse und Quellen können jetzt nach Bedarf ergänzt werden. Es empfiehlt sich aber aus Gründen der klaren Abgrenzung eigene Quellen in Verzeichnisse unterhalb des addon-Verzeichnisses zu legen.

Beachte: Mit den Ergänzungen wird auch die Projektdatei vom AtmelStudio6 entsprechend angepasst. Dann muss die Projektdatei nach Addon/env/AtmelStudio6 kopiert und von dort aus ins Repository einestellt werden!

Konfigurationswerkzeuge wie BiDiB-Monitor und BiDiB-Wizard unterstützen zum Firmware-Update ein bestimmtes Format wie MyAddOn_1.02.03.zip mit z.B. der Standard- und Plus-Version.

Im AddOnStub-Projekt werden die gebauten Projekte für das AtmelStudio entsprechend zubereitet. Dazu stehen so genannte Solution- (MyAddOn.atsln) und Projektdateien (MyAddOn_Plus.cproj, MyAddon_Std.cproj) zur Verfügung.

Allerdings benötigt dieser Zusammenbau eine zusätzliche Applikation: gawk. Die muss separat zur Verfügung gestellt (Suche: „gawk windows“) und der Pfad um das bin-Verzeichnis ergänzt werden.

Zusammenfassung

  1. MyAddOn-Musterprojekt kopieren und umbenennen
  2. Projektdatei aus AddOn/env/AtmelStudio6 nach AddOn kopieren
  3. AtmelStudio6 durch Doppelklick auf die Projektdatei starten
  4. Solutiondatei (im AddOn-Verzeichnis) speichern
  5. Projektdatei bei Änderung zurück nach env/AtmelStudio6 kopieren und ins Repository einstellen
bidibonemitatmelstudio.txt · Zuletzt geändert: 2018/01/28 11:43 von Michael

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki