bidibonemitatmelstudio
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
bidibonemitatmelstudio [2014/01/16 12:42] – angelegt Michael | bidibonemitatmelstudio [2018/01/28 11:43] (aktuell) – [BiDiBOne-AddOn mit AtmelStudio 6 aufbauen] Michael | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== BiDiBOne mit AtmelStudio | + | ====== BiDiBOne-AddOn |
- | FIXME FIXME FIXME FIXME FIXME | + | Der Artikel |
- | + | ||
- | **ACHTUNG: | + | |
- | + | ||
- | FIXME FIXME FIXME FIXME FIXME FIXME FIXME | + | |
===== Solution und Projekte ===== | ===== Solution und Projekte ===== | ||
- | Für eine bessere Übersicht und Wartung sind die Quellen | + | **Bevor wir Software mit dem AtmelStudio herstellen können, müssen |
- | Es gibt eine Solution: **BiDiBOne** mit dem Projekt **Basis** und weiteren | + | 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 |
- | {{codehilfe: | + | AddOn-Projekte |
- | Das Zusammenspiel der einzelnen | + | |
- | Dazu ist im Solution-Explorer die Solution-Zeile anzuwählen und im Kontextmenü (z.B. Rechtsklick) der Menüpunkt // | + | ==== Eigenes AddOn-Projekt ==== |
- | ---- | + | |
- | Im Atmel Studio 6 hat man die Auswahl zwischen einem einzelnen oder mehreren Startup Projekten. In jedem Falle kann man aber beim BiDiBOne nur einen Startpunkt wählen. Das sollte das AddOn-Projekt sein: | + | |
- | {{ codehilfe: | + | |
- | ---- | + | |
- | Die Abhängigkeiten unter den einzelnen Projekten sind im Absatz //Project Dependencies// | + | |
- | {{ codehilfe: | + | |
- | Die Abhängigkeiten regeln die Reihenfolge, | + | |
- | ---- | + | |
- | ==== Basis-Projekt ==== | + | |
- | Die Basis enthält alle zum Betrieb notwendigen Funktionen. Zusätzlich werden viel gebrauchte Hilfsfunktionen zur Verfügung gestellt. | + | |
- | Die Quellen im Basis-Projekt sollten in keinem Falle direkt geändert werden. Sollten dennoch Anpassungen notwendig sein, die nicht allgemeingültig sind das unter AddOn-Basisersatz-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/ |
- | Dieses Vorgehen dient der klaren Trennung und leichteren Wartbarkeit der Software. | + | Wie schon in [[bidiboneausrepository|BiDiBOne aus dem Repository laden]] beschrieben, |
- | ==== AddOn-Projekt ==== | + | {{:codehilfe:as6_dateistruktur.jpg|}} |
- | Das AddOn-Projekt enthält | + | **Beachte: |
- | + | ||
- | Um die vordefinierten Funktionen | + | |
- | {{ codehilfe:oc_toolchainsymbols.jpg |}} | + | |
- | + | ||
- | Das AddOn-Projekt | + | |
- | + | ||
- | Das AddOn-Projekt im Solution-Explorer am Beispiel OneControl: | + | |
+ | Die Verzeichnisstruktur sollte dann im AtmelStudio6 wie folgt aussehen: | ||
{{codehilfe: | {{codehilfe: | ||
- | Im '' | + | Im '' |
- | Im '' | + | Im '' |
+ | ==== 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 '' | 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 '' | ||
- | ---- | + | **Beachte: |
- | + | ||
- | + | ||
- | ==== AddOn-Basisersatz-Projekt ==== | + | |
- | + | ||
- | + | ||
- | ---- | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | Es kann Fälle geben, in denen man Quellen | + | |
- | + | ||
- | **Diese Maßnahme sollte aber die Ausnahme sein, da die in den eigenen AddOns angepassten Quellen nicht bei einem Update des Basis-Projektes nachgeführt | + | |
- | Die anzupassenden Quellen müssen dann in ein eigenes Projekt kopiert werden. Dort können sie angepasst werden ohne Einfluß auf das Basis-Projekt selber oder gar andere AddOns zu nehmen. Hierbei sind die im Folgenden beschriebenen Besonderheiten des Atmel Studio 6 zu beachten. | ||
- | Das Atmel Studio erstellt aus den Quellen für jedes Projekt einer Solution ein **makefile**. Quellen, die in anderen Projekten liegen | + | <WRAP center round important 80%> |
- | Das entsprechende **makefile** wird aber abhängig von der **alphabetischer Reihenfolge der internen Projektnamen** aufgebaut. | + | Konfigurationswerkzeuge wie BiDiB-Monitor |
- | {{ codehilfe: | + | |
- | Da unsere angepasste Quellen anstatt der eigentlichen aus dem Basis-Projekt eingebunden werden sollen, müssen sie in einem Projekt | + | |
- | Die Verknüpfung ("Add As Link") im AddOn-Projekt | + | Im AddOnStub-Projekt |
- | Das funktioniert sicher mit C-Quellen. Bei Header-Dateien kann man auf die speziellen Header hinweisen. | + | Allerdings |
+ | </ | ||
- | Zum korrekten Bauen muss das Hilfsprojekt eine Datei mit einer main-Funktion haben (im Beispiel: mainDummy.c). | ||
- | (Dieses Verhalten von Atmel Studio lässt sich im // | ||
- | ---- | ||
===== Zusammenfassung ===== | ===== Zusammenfassung ===== | ||
- | - AddOn-Projekt mit vorgegebener Verzeichnisstruktur erstellen | + | - MyAddOn-Musterprojekt kopieren und umbenennen |
- | - Projektattribute anpassen (i.e. ADDON_IMPLEMENTED) | + | - Projektdatei aus AddOn/ |
- | - In der Solution Projektreihenfolge und -abhängigkeiten festlegen | + | - AtmelStudio6 durch Doppelklick auf die Projektdatei starten |
- | - Benötigte Basis-Projekt-Dateien über "Add As Link" in das '' | + | - Solutiondatei (im AddOn-Verzeichnis) speichern |
+ | - Projektdatei bei Änderung zurück nach env/ | ||
bidibonemitatmelstudio.1389872521.txt.gz · Zuletzt geändert: 2016/07/05 10:47 (Externe Bearbeitung)