Forum: Mikrocontroller und Digitale Elektronik Atmel Studio 7: mehrere µC pro Projekt


von Godi S. (godi22)


Lesenswert?

Hallo,
ich bin gerade auf der Suche nach einer Lösung wie im Atmel Studio 
mehrere µC pro Projekt (mit ASF) verwendet werden können.

Ich habe mir schon überlegt ob dies über die Configuration möglich ist. 
Jedoch besteht in den Project Properties wo das Device eingestellt 
werden kann keine Möglichkeit zur Auswahl einer Configuration.

Weiters habe ich schon versucht mehrere Projekte anzulegen und den 
Source Code in das Projekt zu linken. Jedoch bietet hier Atmel Studio 
nur links zu einzelnen Files an und nicht zu Ordnern, wodruch dies für 
mich auch hinfällig wird. In Eclipse ist dies ziemlich einfach, da habe 
ich meinen Source Folder gelinkt und kann so auch super unter Eclipse 
mit den selben Source Dateien arbeiten.

Eine Idee wäre noch den Source Code in ein Git Submodule zu packen und 
dieses dann in jedes Atmel Studio Projekt zu klonen, was ich aber als 
sehr umständlich empfinde.

Wie Löst ihr dieses Problem?
Eigentlich sollte dies ja von Atmel Studio unterstützt werden, da dieses 
Problem sicher häufiger auftritt.

godi

von Rene K. (xdraconix)


Lesenswert?

Godi S. schrieb:
> Wie Löst ihr dieses Problem?

1
#define Mega128
2
//#define Mega8
3
4
#ifdef Mega128
5
 // do something only for 128
6
#endif
7
8
#ifdef Mega8
9
 // do something only for 8
10
#endif

Oder was meinst du?!

von Godi S. (godi22)


Lesenswert?

Die Einstellung im Atmel Studio direkt.
Also dass sich automatisch die Dateien des ASF (Atmel Software 
Framework) mit den Linkerscripten und Makefiles ändern je nachdem 
welchen µC ich eingestellt habe. Natürlich auch die defines die in der 
Toolchain angegeben werden um im Code dann, zu unterscheiden.

von STM Apprentice (Gast)


Lesenswert?

Godi S. schrieb:
> Die Einstellung im Atmel Studio direkt.

Wenn ich wüsste dass es embitz gibt würde ich doch glatt in
die Versuchung kommen das mal näher anzuschauen.

von STM Apprentice (Gast)


Lesenswert?

Da würden einem noch ganz andere Dinge positiv ins Auge
stechen, z.B. das Nichtvorhandensein von Visual Studio
Overhead, nein nicht Overhead, sondern Ballast.

Aber zum Glück weiss ja niemand dass es embitz gibt und
die Welt ist in Ordnung.

von Godi S. (godi22)


Lesenswert?

Vielen Dank für den Hinweis zur embitz IDE.
Über diese bin ich schon mal gestolpert, habe mir diese aber noch nicht 
genauer angesehen und will jetzt auch nicht bei diesem bestehenden 
Projekt wechseln. Und ja, den Aufbau von Atmel Studio auf Visual Studio 
finde ich auch nicht toll, aber nach dem habe ich jetzt nicht gefragt.

von Adam P. (adamap)


Lesenswert?

Was soll an Atmel Studio so schlecht sein?

ABER zurück zum Thema,
wieviele verschiedene µC möchtest du denn nutzen? Sind diese kompatibel 
(bzgl. ASF)?

von STM Apprentice (Gast)


Lesenswert?

Adam P. schrieb:
> Was soll an Atmel Studio so schlecht sein?

Das ist eine schlechte Frage.

von Godi S. (godi22)


Lesenswert?

Adam P. schrieb:
> wieviele verschiedene µC möchtest du denn nutzen? Sind diese kompatibel
> (bzgl. ASF)?

3Stk von der selben Serie SAM4E.

STM Apprentice schrieb:
> Das ist eine schlechte Frage.

Schlechte Fragen gibt es nicht, es gibt nur schlechte Antworten.
Und nach einer Diskussion bzgl Atmel Studio pro und contra habe ich 
nicht gefragt. Deshalb bitte ich dies in diesem Thread zu unterlassen. 
Für Hinweise auf andere IDE bin ich dankbar, jedoch genügt mir der 
Hinweis und sollte dabei bleiben, außer ich frage konkret nach.

von Adam P. (adamap)


Lesenswert?

Godi S. schrieb:
> 3Stk von der selben Serie SAM4E.

Dann sollte die Umschaltung unter:
Projekte -> "Name"-Eigenschaften -> Device -> Change Device
ausreichen.

Nicht getestet mit verschiedenen µC, nur mit verschiedenen Boards:
Oder du legst dir unter
Projekte -> "Name"-Eigenschaften -> Build
verschiedene Konfigurationen an.

So habe ich das Problem gelöst um den Source für SAM4E
- User-Board
- SAM4E-EK
- SAM4E-Xplained Pro
zu erzeugen.

Dabei müsstest du deine Board Init. *.c / *.h Dateien anpassen (neue 
anlegen) bzgl. der Pin-Config.

von Godi S. (godi22)


Lesenswert?

Adam P. schrieb:
> Dann sollte die Umschaltung unter:
> Projekte -> "Name"-Eigenschaften -> Device -> Change Device
> ausreichen.

Reicht leider nicht aus, da dann im ASF folder nicht die richtigen 
linker scripts verwendet werden.
Aber ich werde mich nochmal damit beschäftigen, vielleicht bekomme ich 
es ja sinnvoll hin.

Adam P. schrieb:
> Oder du legst dir unter
> Projekte -> "Name"-Eigenschaften -> Build
> verschiedene Konfigurationen an.

Das Problem ist, das in der Konfiguration kein µC ausgewählt werden 
kann. Also muss es eine Kombination aus dem Vorschlag von oben und 
diesem sein.

Eine weitere Idee ist noch, mehrere Projekte anzulegen (pro µC eines). 
Den source code ohne ASF Ordner in ein komplett eigenen Ordner 
auszulagern und diesen Ordner in jedes Projekt per Symbolischen Link 
(unter Windows mklink) zu linken.

von Godi S. (godi22)


Lesenswert?

Godi S. schrieb:
> Also muss es eine Kombination aus dem Vorschlag von oben und
> diesem sein.

So habe ich es jetzt gelöst:
Pro CPU eine Konfiguration angelegt. Im ASF Ordner bei den linker 
scripts alle benötigten linker scripts angelegt. In jeder Konfiguration 
den richtigen Linker angegeben. Ebenfalls in jeder Konfiguration ein 
Symbol angelegt mit welchem im source code die richtige µC/Konfiguration 
ermittelt werden kann. Im source code dann den dementsprechenden header 
für den µC inkludiert und die Pinbelegung angepasst.
Jetzt braucht nur mehr die passende Konfiguration gewählt werden und 
unter den devices der µC eingestellt werden.

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
Noch kein Account? Hier anmelden.