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ß
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
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?
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
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.
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.
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?
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
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.
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.
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.
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.
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ß
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.
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
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.
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...
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
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.
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!
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.