Forum: Mikrocontroller und Digitale Elektronik STM32 Umstieg von Coocox zu Eclipse


von Chris F. (chris_de)


Lesenswert?

Hallo zusammen,

ich habe in den letzten Wochen die ersten Schritt mit dem 
STM32F3-Discovery und Coocox gemacht. Da ich aber bisher immer mit 
Ecplipse gearbeitet habe möchte ich den vorhandenen Code übernehmen.
Dazu habe ich Eclipse Luna und das ARM Plug-In installiert.
Den GCC habe ich von Coocox übernommen (4.8.3 20131129).
Über das ARM-Plug-In habe ich mir dann ein Projekt für den F3 erstellt 
und die vorhandenen Sourcen hinzugefügt.
Das compilieren funktiert soweit auch (außer dass das binary fast 
doppelt so groß ist).
Allerdings läuft der F3 nicht auf den vollen 72MHz wie zuvor sondern mit 
viel weniger.
Nun habe ich mich auf die Suche gemacht und herausgefunden dass das ARM 
Plug-In zwar auch die STM32perphlib zurückgreift, diese allerdings nicht 
100%ig der von Coocox entspricht.
Das startup file gibts in eclipse nur noch in C, in Coocox war dieses 
noch in assembler geschrieben, sollte aber soweit kein Problem 
darstellen.
Das einzige was ich gefunden habe war in der "system_stm32f30x.c" in 
SetSysClock():
Anfangs wird das RCC Clock Control Register gesetzt, in der ARM-Plugin 
version fest auf HSE, in der Coocox version läuft das per define.
Auf dem Discovery wird der Takt des STLink µC benutzt, also habe ich die 
Zeile RCC->CR |= ((uint32_t)RCC_CR_HSEON); in RCC->CR |= 
(uint32_t)(RCC_CR_HSEON | RCC_CR_HSEBYP); geändert.
Leider scheint das wohl nicht alles zu sein.

Hat hier noch jemand den Umzug von Coocox zu Eclipse vollzogen und kann 
mal erzählen auf was machen noch achten muss?
Oder hatte vielleicht jemand genau das selbe Problem?

Besten Dank und einen schönen Abend!

von Stephan K. (nightowl)


Lesenswert?

Ich hab immer gedacht daß Coocox auf Eclipse läuft...

von holger (Gast)


Lesenswert?

>Hat hier noch jemand den Umzug von Coocox zu Eclipse vollzogen und kann

Es ist völlig Wurst ob du Coocox oder Eclipse nimmst.
ST hat die Standard Peripheral Libs quasi als deprecated
erklärt. Updates gibt es in Zukunft nur noch für dieses
STMCube Geraffel. Das ist so ein Codegenerator. Der erzeugt
aber weder für Coocox noch für Eclipse Projektdateien. Es werden nur
kommerzielle IDEs unterstützt. Irgendwie sind die bei ST im Moment
komplett auf dem falschen Weg. Schade eigentlich.

von Kommt_evtl_noch (Gast)


Lesenswert?

@holger:

habe es zwar noch nicht selber probiert aber hatte mich vor ein paar 
Wochen auch mit dem Thema auseinander gesetzt und folgendes gefunden:

"Coocox IDE won't be directly supported by STM32CubeMX but we plan to 
add support for generic Eclipse+GCC IDE (and Coocox is one of them).

In the mean time, you can generate for Atollic, take all the generated 
files (assembly and C code) and import them into your Coocox project.

You will still have to configure in Coocox the target MCU and maybe some 
Define and Include paths."
(Quelle: 
https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Java/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/STM32Java/STM32Cube%20and%20CoIDE&currentviews=566)

von Stephan K. (nightowl)


Lesenswert?

Für EM::Blocks gibt es hier einen Weg:

http://www.emblocks.org/forum/viewtopic.php?f=27&t=376

und davon abgesehen können dort auch µVision ARM Projektdateien 
importiert werden.

von holger (Gast)


Lesenswert?

>"Coocox IDE won't be directly supported by STM32CubeMX but we plan to
>add support for generic Eclipse+GCC IDE (and Coocox is one of them).

Wann? In zwei Jahren? Haben die z.B. STM32F429 überhaupt schon
eingebunden? Wenn ja hat das schon einige Monate gedauert, wenn
nein...

>In the mean time, you can generate for Atollic, take all the generated
>files (assembly and C code) and import them into your Coocox project.

Nimm mal so ein Projekt was für Atollic erstellt wurde und versuch das
mit Eclipse pur zu übersetzen. Nichts für Anfänger kann man
da nur sagen.

von JanK. (Gast)


Lesenswert?

>Der erzeugt aber weder für Coocox noch für Eclipse Projektdateien.
>Es werden nur kommerzielle IDEs unterstützt.
>Irgendwie sind die bei ST im Moment
>komplett auf dem falschen Weg. Schade eigentlich.
Die Projektdateien braucht man doch gar nicht. Man kann STM32Cube ganz 
normal als Bibliothek benutzen.

Und wenn man mit den Beispielen arbeitet: Die für Atollic erzeugten 
Projekte kann man so fast für Eclipse benutzen. Man muss nur noch die 
Dateien dem Projekt hinzufügen.

von old man (Gast)


Lesenswert?

holger schrieb:
> ST hat die Standard Peripheral Libs quasi als deprecated
> erklärt

Das ist doch mal eine gute Meldung. Ich habe mich schon immer gefragt 
warum so was überhaupt verwendet wird. Wenn's einfache Sachen sind, ist 
die Lib eigentlich nicht nötig und wenn es komplizierter wird ist sie 
ohne genaue Kenntnisse der Register wertlos da schlecht dokumentiert. Da 
kann man auch gleich mit den Registern arbeiten.

Selbst bei einfachen Pinwackeln ist die ganze Lib wertlos, wenn es nur 
ein bisschen auf Geschwindigkeit ankommt.

Gut dokumentierte Code-Samples für die etwas anspruchsvolleren Aufgabe 
würden wesentlich mehr helfen als schlechte Libs.

Häufig wird ein Projekt aus verschiedenen Bestandteilen zusammengesetzt 
die nicht alle aus der eigenen Feder kommen. Wenn jedes dieser 
Bestandteile andere Versionen dieser Lib benutzt ist das Chaos perfekt.

Jeder der bisher die Lib verweigert hat, kann sich nun beruhigt zurück 
lehnen und das neue Pferd wohlwollend ignorieren.

von Chris F. (chris_de)


Lesenswert?

Ich denke nicht das es an der Lib liegt, wenn ich das blinkyLED Beispiel 
baue und aufspiele passt das Timing. Allerdings kann ich an dem 
blinkyled einfach keinen Unterschied zu meinem vorhandenen Code 
erkennen!
Erstmal möchte ich das vorhandene im Eclipse am Laufen haben, danach 
werde ich mich mit dem STMCube beschäftigen.

von JanK. (Gast)


Lesenswert?

> ST hat die Standard Peripheral Libs quasi als deprecated
> erklärt

Also STM32Cube IST die Standard Peripheral Lib.
Lediglich in einer neueren Version und mit ein paar Erweiterungen.

von dummy (Gast)


Lesenswert?

>Also STM32Cube IST die Standard Peripheral Lib.
>Lediglich in einer neueren Version und mit ein paar Erweiterungen.

Meinst du mit "Erweiterungen" die ganzen Bugs von denen
man im ST Forum liest?

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

dummy schrieb:
> Meinst du mit "Erweiterungen" die ganzen Bugs von denen
> man im ST Forum liest?

Zeig mir eine Library dieser Größe, in der es keine Bugs gibt ...

Und: man muss sie ja nicht verwenden

von Chris F. (chris_de)


Lesenswert?

Eigentlich wollte ich hier keine Grundsatzdiskussion auslösen..
Ich wollte wissen ob ihr mir Tipps habt wo ich nachsehen kann um das 
Problem zu lösen :-D

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.