Forum: Mikrocontroller und Digitale Elektronik STM32 + HAL + Segger Studio


von Micro C. (fischgebruell)


Lesenswert?

Hallo,
ich hatte für meine Dipl.-Arbeit ein Messgerät konstruiert. Dies mit 
einem STM32F1 und SPL unter Zuhilfenahme von KEIL + STLINK/V2.

Nun möchte ich Hobby-mäßig andere Wege ausprobieren:
- STM32Cube  (HAL schein der neue Weg von ST zu sein)
- Segger Studio  (für Privat und größere Projekte kostenlos)
- J-Link EDU  (ist vorhanden)

STM32Cube generiert den Code u.A. für KEIL, das ist schön. Wenn man sich 
an die genaue Form von ST hält, kann man mit STM32Cube immer wieder 
neuen/geänderten Code generieren, ohne dass der selbstgeschriebe 
Code/Programm dadurch zerstört wird.

Aber wie verhält es sich bei Segger Segger Embedded Studio? Wie klappt 
das Zusammenspiel mit Segger, darüber habe ich noch keine Anleitung 
gefunden. Kann mir da jemand weiterhelfen wie ich den Code mit STM32Cube 
für Segger erstelle und nutzen kann?

Danke.

von Tom (Gast)


Lesenswert?

Indem man STM32Cube weglässt...macht mehr Probleme als es hilft.
Du kannst du dir ja einmalig Code generieren lassen aber dann setze doch 
bitte einfach ein sauberes Projekt mit Embedded Studio auf und gut ist.
Dann weiß man wenigstens was man tut und es passiert nichts kryptisches 
im Hintergrund. Diese ganzen Chip Hersteller HALs sind gut, um sich mal 
eine Initialisierung abzuschauen aber man muss sie nicht die ganze Zeit 
im Projekt haben.

von temp (Gast)


Lesenswert?

Selbst wenn man die HAL benutzt ist es wesentlich besser wenn man sich 
das Projekt selbst zusammenstellt. Dadurch hat man am Ende auch die 
Zusammenhänge begriffen. Wenn du dir mit dem Segger Embedded Studio ein 
Projekt zusammenstellst, hast du in der Regel deren (oder besser den 
Crossworks) Startup-Code, die Libs und die Linkerscripts im Projekt. Das 
muss kein Nachteil sein zumal die Crossworkslibs oft einen deutlich 
kleineren Code ergeben als z.B. die GnuArm-Libs.
CubeMX ist gut um sich mal einen Überblick zu verschaffen über die 
Clocks und die Pin-Abhängigkeiten, ansonsten holt man sich nur wieder 
unkalkulierbare Abhängigkeiten ins Projekt.
Selbst wenn du dir mit CubeMx Code generieren lässt musst du ihn 
irgendwie auch verstehen. Und wenn er verstanden wurde ist das leicht 
übertragbar.
Sollte das aber darauf abzielen, dass es nur schnell gehen soll ohne die 
Zusammenhänge zu verstehen, dann kann man nur sagen: Quäl die du Sau...

von TMK (Gast)


Lesenswert?

Ich würde CubeMX nur EINMAL benutzen, um den Startup Code zu generieren. 
Dafür taugt es meiner Meinung nach sehr gut. Nachdem man dann am Projekt 
selber editiert hat, sollte man nicht den von CubeMX angebotenen Weg, 
nun an dem Projekt weitere Änderungen zu machen, nutzen. Damit CubeMX 
erkennen kann, wo es seinen neuen Code unterbringen soll, benutzt es 
wohl Kommentarzeilen der Form "/* Add User Code 1 here */ und sowas geht 
bestimmt schnell schief, wenn man nur irgendeine Zeile anfasst.
Wenn ich in einem von CubeMX generierten Code noch ein Peripheriegerät 
benötige, generiere ich den Code in einem neuen Verzeichnis neu, und 
füge dann die meist wenigen zusätzlichen Zeilen manuell in mein Projekt 
ein.

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.