Hallo, kennt jemand hier eine praktikable Möglichkeit, wie man eine Art von eigener Bibliothek in AVR Studio 5 einbindet. Konkreter: Derzeit entwickle ich in Eclipse und nutze dort die Möglichkeit als Include-Paths ein anderes Projekt anzugeben. Des weiteren ist dieses auch als SourceLocation eingebunden. Durch diesen Trick wird automatisch der dort enthaltene Quelltext mit den Einstellungen des jeweils aktuellen Projekts neu gebaut. (Dass dadurch im schlimmsten falle immer alles gebaut werden müsste weiß ich, dies ist nicht weiters schlimm.) Wie kann man das also am besten Abbilden in AVR Studio 5? Anmerkung: Der Quellcode der Bibliothek beinhaltet nicht nur abstrakte Funktionen, sondern auch Hardwarenahe Funktionen. Letztere werden über Preprozessoranweisungen entsprechend ausgewählt. Es muss also gewährleistet sein, dass die Version der kompilierten Bibliothek zur Prozessorarchitektur passt. Bisher wird nur die AVR Tiny, ATMega und XMEGA Serie verwendet, in Zukunft ist es jedoch möglich, dass ein Teil des Quellcodes auch in einem Projekt für den AVR32UC3A anwendung findet. Grüße und Danke im voraus für die Antworten!
Nutzt wirklich keiner von euch so eine ähnliche Technik? Die Alternativen für mich wären nämlich copy&paste oder irgendwas verzwicktes mit Repositorys. Beide Ansätze gefallen mir nicht.
Hmmm... ich bin nicht ganz sicher ob ich (oder andere) die Frage verstehen. Also Bibliotheken einbinden funktioniert wie überall mit #include je nach dem mit "bib.h" oder <bib.h>. Kommt noch ein .c-File dazu dann musst du das per Rechtsklick auf das Projekt noch einbinden. Ob das die Antwort auf deine Frage war weiß ich nicht ;) Vlt gibts du noch ein paar Tips...
Für meine C-Programme mache ich das so: http://www.mikrocontroller.net/articles/Beispiel_Makefile#Beispiel_2 Ich benutze das AVR-Studio nur um zum Debuggen. Die Projektverwaltung mache ich immer durch die Datei makefile, (z.B. in C:\home\cc\qq\avr\qqtraff\makefile) und die Datei makedefs (in C:\home\cc\avrbat\makedefs). makefile erzeuge ich für jedes Projekt neu manuell, dadurch, dass ich ein vorhandenes makefile eines anderen Projekts kopiere und anpasse. Beispiele siehe ../../../../cc/qq/avr/qqtraff/makefile Aufruf des AVR-Studio [Start] [Programs] [Atmel AVR Tools] [AVR STudio 4] Vorbereitung eines Projekts [Project] [New Project] Project Type : AVR GCC Location : C:\HOME\CC\QQ\AVR [ ] Create initial file (Die Vorwahl wegnehmen! Es wird eine Datei aus dem Verzeichnis C:\HOME\CC\QQ genommen) Project name: QQTRAFF -- Next >> -- Select Platform AVR Simulator, Device AT90S2323 oder 8535, je für welches Ziel entwickelt wird. Das kann später korrigiert werden durch [Debug] [Select Platform and Device] Jetzt ist das AVR Studio mit einem leeren Projekt zu sehen. QQTRAFF (default) +- Source Files +- Header Files +- External Dependencies +- Other Files Rechter Mausklick auf [Source Files], Add existing source files und die Datei qqtraff.cpp auswählen. [Project] [Configuration Options] Im linken Fenster Include Directories das Standard-Includeverzeichnis hinzufügen [Add...] C:\HOME\CC\INCLUDE [Project] [Configuration Options] Im linken Fenster General Benutze eine externe Steuerdatei Makefile. Den Makefile anpassen. Dazu einen vorhandenen Makfile herbeikopieren, z.B. von C:\HOME\CC\QQ\AVR\QQTSHAR\Makefile oder von C:\HOME\CC\QQ\AVR\QQTSSER\Makefile und editieren: Den alten Projektnamen und Hauptprogrammnamen ersetzen und mehr Library-Dateien hinzufügen.
@bronko: Ich sehe, ich habe mich zu undeutlich ausgedrückt, mein Fehler. Ich versuche es nochmals so: Für z.B. die AVR8 Prozessoren habe ich derzeit einen Ordner, in der all meine Libs drinnen sind (also die .c und .h Dateien). Gleichsam habe ich einen Ordner mit Libs nur für die XMega-Prozessoren. Beispiele für solch eine Lib ist Ansteuerung von Peripherie wie USART/TWI/SPI aber auch nicht Hardwarenahe dinge wie die Verarbeitung von Daten. Diese Libs habe ich bisher in Eclipse in einem eigenen Projekt gehabt, sodass ich dieses in das eigentliche Projekt reinlinken konnte. Eclipse hat dann automatisch alle .c Dateien die ich nicht explizit includet habe mit meinen Projekteinstellungen (CPU-Typ, Frequenz, etc.) gebaut und alles war toll. So etwas suche ich jetzt auch für AVR Studio 5. Der Umstieg kommt daher, dass ich doch gerne auch mal den Debugger anwerfe, was für die XMega-Prozessoren meines Wissenstands nur in AVR Studio selbst funktioniert. @Herbert: Das trifft es in etwa, wobei ich wenn überhaupt dann AVR Studio 5 nehmen möchte. Allerdings habe ich keine Lust immer das Makefile anzupassen... Eine Idee hätte ich übrigens noch, jedoch gefällt mir diese nicht so ganz: Da ich das ganze in einer VM laufen lasse, die auf einem Unix-System läuft, könnte ich eigentlich mit Symlinks einfach den Lib-Ordner reinlinken, und AVR Studio bekommt von dem ganzen Zauber nichts mit. Die Idee ist mir gerade erst gekommen, daher habe ich über die Nebeneffekte noch nicht nachgedach.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.