Forum: Mikrocontroller und Digitale Elektronik STM32CubeIDE Projekt klonen/kopieren - Fehler kein CDT Projekt


von Christoph K. (chriskuku)



Lesenswert?

Ich versuche gerade, eine Kopie eines Projekts in STM32CubeIDE (1.13.0) 
zu erstellen. Weil ich keine Möglichkeit sah, es durch copy/paste im 
Projektbaum zu machen, habe ich eine Kopie des Verzeichnisbaums erstellt 
und umbenannt. Danach akribisch alle Vorkommen von projekt_alt in den 
Dateien in projekt_neu geändert und Projekt importiert über "existing 
projects into workspace" und neues Root Directory angegeben.

Der Eintrag erscheint auch im Projektbaum. Allerdings kann ich kein 
Build machen. Es passiert nichts. Schaue ich mir die Eigenschaften des 
Projekts an, so wird mir gesagt, es sei kein CDT-Projekt. Da kann man 
nach suchen und findet etwas zu Eclipse

https://stackoverflow.com/questions/18693159/eclipse-this-project-is-not-a-cdt-project

Das sehe ich im Cube IDE nicht so als Option.
Hat jemand vielleicht einen Tipp?

Sorry, ein Bild doppelt hochgeladen.

: Bearbeitet durch User
von Harry L. (mysth)


Lesenswert?

Am einfachsten geht das, indem man ein neues Projekt basierend auf der 
existierenden .ioc-Datei erzeugt, und anschliessend die 
Projekt-spezifischen Sourcen in das neu erzeugte Projekt kopiert.

von Christoph K. (chriskuku)


Lesenswert?

Harry L. schrieb:
> Am einfachsten geht das, indem man ein neues Projekt basierend auf der
> existierenden .ioc-Datei erzeugt, und anschliessend die
> Projekt-spezifischen Sourcen in das neu erzeugte Projekt kopiert.

Wahrscheinlich hast Du recht, denn ich wäre wahrscheinlich schon am 
Ziel, wenn ich das von Anfang an gemacht hätte.

Aber wie so oft ging es mir mal wieder "nur ums Prinzip" :)

Allerdings ging es mir auch darum, alle anderen Einstellungen zu 
übernehmen, wie Debug Launch-Konfigurationen und in einem größeren 
Projekt kann das Kopieren von Files auch schon mal Ausmaße annehmen.

: Bearbeitet durch User
von Harry L. (mysth)


Lesenswert?

Christoph K. schrieb:
> Allerdings ging es mir auch darum, alle anderen Einstellungen zu
> übernehmen, wie Debug Launch-Konfigurationen und in einem größeren
> Projekt kann das Kopieren von Files auch schon mal Ausmaße annehmen.

Variante 2 wäre, einen weiteren Workspace anzulegen, und das gesamte 
Projekt mit selben Namen zu importieren.
Danach sollte man das auch umbenennen können.

: Bearbeitet durch User
von Christoph K. (chriskuku)


Lesenswert?

Harry L. schrieb:
> Christoph K. schrieb:
>> Allerdings ging es mir auch darum, alle anderen Einstellungen zu
>> übernehmen, wie Debug Launch-Konfigurationen und in einem größeren
>> Projekt kann das Kopieren von Files auch schon mal Ausmaße annehmen.
>
> Variante 2 wäre, einen weiteren Workspace anzulegen, und das gesamte
> Projekt mit selben Namen zu importieren.
> Danach sollte man das auch umbenennen können.

Was genau stellst Du Dir unter "weiteren Workspace anzulegen" vor?
Neues STM32-Projekt? Dann muß ich wieder durch die ganze 
Konfigurationsmühle durch (Target Selector usw.)

Import und dann von existierendem .ioc File war jetzt doch das 
nächstliegende. Zumal - und das war wahrscheinlich das Problem, weshalb 
der Typ CDT Projekt nicht akzeptiert wurde - ich zwischenzeitlich einen 
Update des IDE gemacht hatte. Jetzt beim Import des .ioc-Files gab es 
die Warnung, daß er von einer ältern Version stamme und ich ihn 
migrieren sollte.

Alles gut. Danke.

: Bearbeitet durch User
von Harry L. (mysth)


Lesenswert?

Christoph K. schrieb:
> Was genau stellst Du Dir unter "weiteren Workspace anzulegen" vor?

Findest du im Hauptmenu unter "File->Switch Workspace"

Workspaces sind voneinander getrennte Projekt-Verzeichnisse/Bäume.

von Christoph K. (chriskuku)


Angehängte Dateien:

Lesenswert?

Harry L. schrieb:
> Christoph K. schrieb:
>> Was genau stellst Du Dir unter "weiteren Workspace anzulegen" vor?
>
> Findest du im Hauptmenu unter "File->Switch Workspace"
>
> Workspaces sind voneinander getrennte Projekt-Verzeichnisse/Bäume.

Da finde ich den neueren Workspace als mögliche Umschaltoption. Den 
benutze ich aber nicht und der ist ohnehin leer. Also ohne Projekte.

von Harry L. (mysth)


Lesenswert?

Christoph K. schrieb:
> der ist ohnehin leer. Also ohne Projekte.

Ja genau!
Und darein importierst du dein Projekt.
Das hat dann den selben Namen wie das Ursprüngliche, aber, das kannst du 
dann umbennen, und danach ggf.in deinen originalen Workspace 
reimportieren.

von Christoph K. (chriskuku)


Lesenswert?

Harry L. schrieb:
> Christoph K. schrieb:
>> der ist ohnehin leer. Also ohne Projekte.
>
> Ja genau!
> Und darein importierst du dein Projekt.
> Das hat dann den selben Namen wie das Ursprüngliche, aber, das kannst du
> dann umbennen, und danach ggf.in deinen originalen Workspace
> reimportieren.

Gut. Verstanden.

von Christoph K. (chriskuku)


Angehängte Dateien:

Lesenswert?

Christoph K. schrieb:
> Harry L. schrieb:
>> Christoph K. schrieb:
>>> der ist ohnehin leer. Also ohne Projekte.
>>
>> Ja genau!
>> Und darein importierst du dein Projekt.
>> Das hat dann den selben Namen wie das Ursprüngliche, aber, das kannst du
>> dann umbennen, und danach ggf.in deinen originalen Workspace
>> reimportieren.
>
> Gut. Verstanden.

Ich komme noch mal auf das Verfahren zurück. Ich habe auf den neuen 
Workspace_1.11.0 umgeschaltet. Es dauerte einen Moment. Der Workspace 
sei mit einer älteren Version erstellt worden. Ob ich ihn migrieren 
wolle. Ja.

Was aber jetzt komisch ist, daß in der Projektbaum-Ansicht bereits ein
Projekt mit einem Foldersymbol steht, und ausgerechnet mit dem Namen, 
den das zu importierende Projekt hat, was mich daran hindert, genau 
dieses Projekt zu importieren.

Die Eigenschaften sagen, daß es zum workspace_1.4.0 gehört. Löschen wäre 
also auch nicht angebracht.

Das Projekt, das jetzt im Wege steht, ist bereits in 
workspace_1.11.0/.metadata verankert. Und es jetzt da herauszubekommen, 
wäre sicher nicht anzuraten.

: Bearbeitet durch User
von Harry L. (mysth)


Lesenswert?

Christoph K. schrieb:
> Ich komme noch mal auf das Verfahren zurück. Ich habe auf den neuen
> Workspace_1.11.0 umgeschaltet. Es dauerte einen Moment. Der Workspace
> sei mit einer älteren Version erstellt worden. Ob ich ihn migrieren
> wolle. Ja.

Du solltest einen neuen Workspace anlegen - also ein komplett leeres, 
neues Verzeichnis.

von J. S. (jojos)


Lesenswert?

Projekte kopieren geht einfach mit Copy/Paste im Projektbaum, gerade mit 
der 1.12.1 probiert. Die 1.13.0 kann ich nicht empfehlen, die hat mich 
viel Zeit gekostet und ich bin zur 1.12.1 zurück.
Debugger verabschiedet sich einfach, es wird unbenutzter Code eingefügt 
(MPU_Initialize), Template Code eingefügt der zu doppelten Funktionen 
führt, um Packages runterzuladen muss man sich in der IDE anmelden, neue 
Benutzer können da aber kein Konto anlegen.
GCC 10/11 haben Fehler in der Newlib, beim Upgrade in der 1.13 hat man 
jetzt nicht die neuere GCC 12 benutzt.

Damit ein Projekt ein gültiges CDT hat, müssen die .project und 
.cproject gültig sein. Manuelles Kopieren im Verzeichnis ist da keine 
gute Idee.

: Bearbeitet durch User
von Christoph K. (chriskuku)


Lesenswert?

Harry L. schrieb:
> Christoph K. schrieb:
>> Ich komme noch mal auf das Verfahren zurück. Ich habe auf den neuen
>> Workspace_1.11.0 umgeschaltet. Es dauerte einen Moment. Der Workspace
>> sei mit einer älteren Version erstellt worden. Ob ich ihn migrieren
>> wolle. Ja.
>
> Du solltest einen neuen Workspace anlegen - also ein komplett leeres,
> neues Verzeichnis.

Dahin kann ich aber nicht "switchen". Ich kann nur in einen gültigen 
Workspace umschalten. Den bietet mir aber kein "komplett leeres, neues 
Verzeichnis". Hatte ich übrigens ohnehin eben schon probiert, parallel 
zu workspace_1.4.0 und workspace_1.11.0 ein tempdir angelegt. Das wird 
nicht "gesehen" von der Workspace-Switch Funktion.

Wenn ich jetzt auf 1.12 zurückgehe, funktionieren sicher meine bereits 
auf 1.13.0 migigrierten Projekte nicht mehr.

von Christoph K. (chriskuku)


Lesenswert?

J. S. schrieb:
> Projekte kopieren geht einfach mit Copy/Paste im Projektbaum, gerade mit
> der 1.12.1 probiert. Die 1.13.0 kann ich nicht empfehlen, die hat mich
> viel Zeit gekostet und ich bin zur 1.12.1 zurück.
> Debugger verabschiedet sich einfach, es wird unbenutzter Code eingefügt
> (MPU_Initialize), Template Code eingefügt der zu doppelten Funktionen
> führt, um Packages runterzuladen muss man sich in der IDE anmelden, neue
> Benutzer können da aber kein Konto anlegen.
> GCC 10/11 haben Fehler in der Newlib, beim Upgrade in der 1.13 hat man
> jetzt nicht die neuere GCC 12 benutzt.
>
> Damit ein Projekt ein gültiges CDT hat, müssen die .project und
> .cproject gültig sein. Manuelles Kopieren im Verzeichnis ist da keine
> gute Idee.

In der Tat, copy/paste funktioniert ja super einfach. Was mich bei 
meinen Versuchen nur irritiert hat, war, daß beim paste immer noch das 
Projekt, das man gerade im Pastebuffer hat, aktiv markiert ist und ich 
dachte, man müßte es in den freien Bereich pasten, und da gibt es dann 
im Rechtsklick-Menu keine Paste-Funktion.

Aber so klappte es gerade wunderbar. Leider ernüchternd, was Du über 
1.13.0 bemerkst, aber vielleicht tangiert es mich nicht unbedingt. Mal 
sehen. Es gibt wahrscheinlich kein zurück für mich und ich kann dann nur 
wieder auf neuere Releases hoffen, die das ausgemerzt haben werden.

Danke einstweilen für die Hilfen hier.

: Bearbeitet durch User
von J. S. (jojos)


Lesenswert?

Die Warnung beim Öffnen des 1.13 Projekts mit 1.12 habe ich auch 
bekommen, ignoriert und es hat erstmal wieder alles funktioniert. Habe 
noch keine Codegenerierung gemacht, das könnte neuere Features 
anmeckern. Aber dafür habe ich git und den Zustand vor dem Upgrade, das 
sollte man unbedingt vor solchen Upgrades machen. Auch um zu sehen was 
das Upgrade alles verändert.

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.