Forum: Compiler & IDEs STM32 CUBEMX--Atollic Studio


von straps (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Experten,
ich wollte mal etwas mit einem STM32 rum spielen.
Wollte mir mit dem Cubemx etwas code erzeugen um mal zu spielen.
Leider kriege ich den erzeugten Code nicht kompiliert:(
Irgendwas mache ich falsch. Die Hal wird nicht erkannt und ich bekomme 
viele Fehlermeldungen. Weiß jemand was ich wo einbinden muss in Atollic 
Studio?
Lieben Gruß

von pegel (Gast)


Lesenswert?

Neben diesem

https://www.youtube.com/watch?v=q9Ssi9ry1eg

gibt es weitere Videos die das erklären.

von straps (Gast)


Lesenswert?

pegel schrieb:
> Neben diesem
>
> Youtube-Video "TrueSTUDIO open CubeMx project"
>
> gibt es weitere Videos die das erklären.

habe es versucht aber immer diese Fehler

von pegel (Gast)


Lesenswert?

Dann zeig mal deine CubeMX ioc Datei.

von straps (Gast)


Angehängte Dateien:

Lesenswert?

pegel schrieb:
> Dann zeig mal deine CubeMX ioc Datei.

Im anhang vielen Dank für deine Hilfe!

von pegel (Gast)


Lesenswert?

Das Projekt wird offenbar richtig erstellt.

Das Problem muss also beim Importieren liegen.
Gibt es evtl. zu lange Pfad- bzw. Dateinamen oder sind Leer- oder 
Sonderzeichen in diesen?

von straps (Gast)


Lesenswert?

pegel schrieb:
> Das Projekt wird offenbar richtig erstellt.
>
> Das Problem muss also beim Importieren liegen.
> Gibt es evtl. zu lange Pfad- bzw. Dateinamen oder sind Leer- oder
> Sonderzeichen in diesen?

Also habe versucht das Projekt direkt auf c: zu legen immer das selbe.
Kannst du mir das projekt in Atollic studio abspeichern und anhängen?
Lg

von pegel (Gast)


Lesenswert?

Ich habe kein Atollic Studio. Ich nutze SW4STM32.

Das zu importierende Projekt habe ich nur mit CubeMX erstellt.
Dieses enthält alle benötigten Dateien so weit ich das sehe.

Das Problem das ich in dem Zusammenhang kenne
- wenn alle Pfade in Ordnung sind - ist die Einstellung
"Create Under Root" in den "Project Settings".

Dies beeinflusst die Suchpfade.

von straps (Gast)


Angehängte Dateien:

Lesenswert?

noch ein bild

von straps (Gast)


Lesenswert?

pegel schrieb:
> Create Under Root

dieser Hacken ist gesetzt! Ist das falsch?

von pegel (Gast)


Lesenswert?

Gibt es bei dem Programm bei Rechtsklick auf das Projekt auch ein
"Index -> Rebuild" ?

von straps (Gast)


Lesenswert?

pegel schrieb:
> Gibt es bei dem Programm bei Rechtsklick auf das Projekt auch ein
> "Index -> Rebuild" ?

ja gibt es hilft aber nichts

von pegel (Gast)


Lesenswert?

straps schrieb:
> dieser Hacken ist gesetzt! Ist das falsch?

Weiß ich leider nicht wie Atollic das möchte.
Wenn der Haken automatisch drin war, wird es wohl richtig sein.

von straps (Gast)


Lesenswert?

wie finde ich den Fehler?

von pegel (Gast)


Lesenswert?

Da sich bis jetzt noch kein Atollic Nutzer eingefunden hat,
beschreibe ich kurz wie ich das in SW4 mache, dass auch auf eclipse 
basiert:

in CubeMX:
-im workspace erstelle ich einen Ordner hhh
-in diesen speicher ich die hhh.ioc
-beim erstellen des Projektes wird alles unter hhh abgelegt

in SW4:
-import existing project
-wähle workspace und Projekt hhh erscheint in der Liste
-diesen wird gewählt und importiert

Ist das bei Atollic genau so?

von straps (Gast)


Lesenswert?

Atollic Studio startet direkt nach dem generieren im cubemx.
Die Dateien sind alle da aber der Build ist nicht erfolgreich.
wie im Bild ersichtlich.
Lg

von pegel (Gast)


Lesenswert?

Die Funktion HAL_GPIO_Init() sollte in der stm32f0xx_hal_msp.c zu finden 
sein.
"undefined reference" deutet darauf hin, dass diese Datei nicht 
übersetzt bzw. eingebunden wird.

von pegel (Gast)


Lesenswert?

Moment, das stimmt nicht. Ich sehe noch mal nach.

von straps (Gast)


Angehängte Dateien:

Lesenswert?

Diese Datei ist unter SRC zu finden und ist auch nicht als Fehler 
gekennzeichnet!

von pegel (Gast)


Lesenswert?

Es ist die stm32f0xx_hal_gpio.c .

von straps (Gast)


Lesenswert?

pegel schrieb:
> stm32f0xx_hal_gpio.c

wie meinst du das?

von Ingo R. (roesler)


Lesenswert?

Ich hatte dieses Problem heute auch schon, es war meine ich in der 
.project, in der nach dem Vergleich mit einem funktionstüchtigen Projekt 
einige Zeilen fehlten.
Dadurch wurde die HAL hat nicht eingebunden, ich glaube die liegt unter 
"Drivers" in einem eignen Ordner, welcher nicht importiert wurde.
Falls das Problem morgen noch besteht kann ich nochmals nachschauen, 
habe den Arbeitsrechner allerdings bereits ausgeschaltet.

EDIT:
Es ist einfach erkennbar, der Unterordner ist in der Ordnerstruktur im 
Explorer vorhanden, wird allerdings im Projekt nicht angezeigt wenn der 
"Drivers" ORdner erweitert wird.

: Bearbeitet durch User
von pegel (Gast)


Lesenswert?

Diese Datei wird nicht übersetzt bzw. deren Pfad ist nicht in der 
Konfiguration der zu benutzenden Quelldateien.

https://forum.atollic.com/viewtopic.php?f=3&t=949

Ich denke der letzte Beitrag bringt die Lösung.

von straps (Gast)


Lesenswert?

Ingo R. schrieb:
> Ich hatte dieses Problem heute auch schon, es war meine ich in der
> .project, in der nach dem Vergleich mit einem funktionstüchtigen Projekt
> einige Zeilen fehlten.
> Dadurch wurde die HAL hat nicht eingebunden, ich glaube die liegt unter
> "Drivers" in einem eignen Ordner, welcher nicht importiert wurde.
> Falls das Problem morgen noch besteht kann ich nochmals nachschauen,
> habe den Arbeitsrechner allerdings bereits ausgeschaltet.

ja bitte guck morgen mal nach.

von straps (Gast)


Lesenswert?

Ingo R. schrieb:
> EDIT:
> Es ist einfach erkennbar, der Unterordner ist in der Ordnerstruktur im
> Explorer vorhanden, wird allerdings im Projekt nicht angezeigt wenn der
> "Drivers" ORdner erweitert wird.

sorry verstehe ich jetzt nicht? Bitte was soll ich jetzt tun?

Danke Lieben Gruß

von Ingo R. (roesler)


Angehängte Dateien:

Lesenswert?

Guten Morgen allerseits,


ich habe es gerade nochmals geprüft, manche Projekte unterscheiden sich 
bzgl. der Nutzung virtuellen Speichers.
Zu finden ist das im jeweiligen Projektordner in der Datei ".project" am 
unteren Ende.

Das Bild im Anhand zeigt auf der linken Seite ein funktionstüchtiges 
Projekt, rechts das zum testen erstellte, welches nicht kompiliert wird 
da ihm die HAL-Dateien fehlen.

Als Lösungsansatz habe ich die "zusätzlichen" Zeilen gelöscht, woraufhin 
nach einem Neustart von Atollic nur noch der Projektordner ohne 
jeglichen Inhalt angezeigt wird. Nun muss das Projekt nur in Atollic 
gelöscht und neu importiert werden (Rechtsklick in den Project Explorer 
-> Import -> General -> Projects from Folder or Archive. Dort dann den 
entsprechenden Projektordner auswählen und bei mir wurde es dann korrekt 
importiert und liess sich kompilieren.


Ein sehr einfaches (leeres) Projekt welches ich dann mit CubeMX erstellt 
habe hat er direkt korrekt importiert (die .project wird ja zunächst von 
cube erstellt), daher scheint es in irgend einer Weise mit der 
Peripherie oder der Komplexität des Projekts zusammenzuhängen, 
vielleicht ist es auch lediglich eine Einstellung in Cube zum Erstellen 
des Projekts, welche ich noch nicht gefunden habe.
Eventuell wird je nach Größe bzw. größe der Unterstrukturen der Bereich 
"Links" in die .project eingefügt?


Ich hoffe, ich kann damit helfen die Probleme zu beheben (auch wenn 
dieser Workaround mit Sicherheit nicht besonders intelligent ist da er 
ja nicht das Problem behebt sondern nur die Folgen).


P.S.
Verwendet noch jemand das Eclipse Plugin von CubeMX in Atollic? Meines 
lässt seit neuestem keine korrekten Werte für die LSE mehr zu, die 
normalen 32.768 kHz überschreibt er nach der Eingabe mit 0.032768, was 
natürlich ausserhalb der möglichen Werte liegt.
Der Autosolver sagt auch er kann es nicht lösen und trägt 1 kHz ein.
Dies tritt mit der externen Version von CubeMX nicht auf.

von straps (Gast)


Lesenswert?

Ingo R. schrieb:
> Ich hoffe, ich kann damit helfen die Probleme zu beheben (auch wenn
> dieser Workaround mit Sicherheit nicht besonders intelligent ist da er
> ja nicht das Problem behebt sondern nur die Folgen).

Du konntest mir damit helfen!
So funktioniert es! Aber wie um Himmelswillen kommt man auf so eine 
Lösung?
Danke Lg

von Ingo R. (roesler)


Lesenswert?

Das freut mich, habe ich mir doch hierfür endlich mal einen Account in 
diesem hervorragenden Forum erstellt.

Nun, ich war ehrlich gesagt ziemlich genervt, da dieses Problem nicht 
zum ersten Mal aufgetreten ist, jedoch war es davor mit dem erneuten 
Erstellen des Codes in CubeMX getan im Gegensatz zu jetzt.
Da jedoch andere Projekte einwandfrei funktionieren und die Dateien als 
solche existieren liegt es nur an der Konfiguration.
Daher ist es naheliegend, als erstes die Atollic-spezifischen 
Konfigurationsdateien zu vergleichen, zum Glück hatte ich ja 
funktionierende Projekte für genau diesen Vergleich zur Hand.
Und zugegebenermaßen war es in diesem Fall zum Glück leicht zu sehen, 
ein gesamter Abschnitt ist auffälliger als kleinere Änderungen in 
längeren Codezeilen.

von Stefan W. (swessels)


Lesenswert?

Ingo R. schrieb:
> P.S.
> Verwendet noch jemand das Eclipse Plugin von CubeMX in Atollic? Meines
> lässt seit neuestem keine korrekten Werte für die LSE mehr zu, die
> normalen 32.768 kHz überschreibt er nach der Eingabe mit 0.032768, was
> natürlich ausserhalb der möglichen Werte liegt.
> Der Autosolver sagt auch er kann es nicht lösen und trägt 1 kHz ein.
> Dies tritt mit der externen Version von CubeMX nicht auf.

Moin,

bei mir das selbe Problem. Suche noch nach einer Lösung...

von FamilyGuy (Gast)


Lesenswert?

Löscht die verlinkten Ordner (ich denke das ist Middleware und Drivers?) 
und kompiliert erneut.
Das ist ein bekannter Fehler in CubeMX

von straps (Gast)


Lesenswert?

FamilyGuy schrieb:
> Löscht die verlinkten Ordner (ich denke das ist Middleware und Drivers?)
> und kompiliert erneut.
> Das ist ein bekannter Fehler in CubeMX

Wie meinst du das ?
Danke liebe Grüße

von Peter Z. (hangloose)


Angehängte Dateien:

Lesenswert?

Habe das selbe Problem...
Gibt es hier schon eine einfache Lösung?
Selbes Projekt einmal mit USB und einmal ohne.
Nehme ich bei CubeMX USB dazu, includiert er
die HAL und USB Treiber nicht.
Sind ausgegraut wie im Bild sichtbar.

von Peter Z. (hangloose)


Lesenswert?

OK so funktionierts....
Man muss nur in der .project datei alles zwischen folgenden
Tags löschen

  <linkedResources>

  </linkedResources>

Danach lässt sich ohne Fehler kompilieren.

Sollte ST vielleicht mal in CubeMX ändern!

von FamilyGuy (Gast)


Lesenswert?

Peter Z. schrieb:
> Habe das selbe Problem...
> Gibt es hier schon eine einfache Lösung?
> Selbes Projekt einmal mit USB und einmal ohne.
> Nehme ich bei CubeMX USB dazu, includiert er
> die HAL und USB Treiber nicht.
> Sind ausgegraut wie im Bild sichtbar.

rechte Maustaste auf Middleware & Drivers -> Delete ... löscht den 
Krams.
Wenn ihr das Projekt _danach_ neu baut werden die Einträge richtig 
gesetzt.
Was Peter geschrieben hat macht das Gleiche aber halt mittels editieren.

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.