Forum: Mikrocontroller und Digitale Elektronik STM32FXXX Lektüren & Hilfen


von Dennis X. (Gast)


Lesenswert?

Hallo Jungs und Mädels,

ich würde mich in nächster Zeit en bisschen mit den STM32F bschäftigen.
Jetzt such ich noch eine tolle Lektüre dazu und/oder ein Tutorial im 
Netz.

Vor allem mit welcher Entwicklungsumgebung ich programmiere. Ich besitze 
ein Win7 64Bit Rechner.

Bin wirklich dankbar für jeden Tipp.

Grüße
Dennis

von Löter (Gast)


Lesenswert?

Deine Frage ist ziemlich unverbindlich formuliert. Bei dem 
Informationsgehalt könntest du genauso gut mit Google suchen.

Warum STM32? Das ist eine tolle Controller Familie, keine Frage. Aber 
was für Informationen erwartest du? Willst du irgendwie, irgendetwas 
damit machen oder hast du ein konkretes Problem? Was für eine Hardware 
soll es sein? Ein fertiges Board das mit dem du möglichst viele 
Eigenschaften eines STM32F Vertreters ausprobieren kannst oder etwas 
minimalistisches weil du ohnehin deine Hardware selber bastelst?

von stm (Gast)


Lesenswert?

Ich nutze folgendes:
-insiders Guide von Hitex (Achtung bezieht sich nur auf F103)
-RM0008 (+anderes Zeug von der ST Seite)
-Cortex M3 Manual
-Datasheet (logischerweise^^)
-www.mikrocontroller.net (viele andere STM Seiten) ;-P
(gibt hier auch einen Artikel mit Minimalbeispiel für Atollic auf der 
Seite)

Außerdem exisitiert noch "C und C++ für Embedded Systems" Buch mit 
Cortex M3 Kapitel, was ich bisher nicht näher angesehen habe.

Die ST-Standardlibs sind alle beschrieben in den Files selbst, 
allerdings bin ich trotzdem oft am Rätseln was sie nun genau damit 
meinen.

Ich nutze momentan Atollic (Light) + ST-LinkV2 und hab auch etwas mit 
Coocox (ebenfalls frei)"rumgewurschtelt".
Ich würde dir empfehlen beide IDEs mal zu installieren.


Die ST-Beispiele bieten einen Anfang und es findet sich hier auch 
einiges an Beispielen.

Ein guter Anfang wäre es sich die entsprechende Seite im RM0008 oder 
Datasheet mit dem Bild für die Taktvergabe zu suchen und dies mit der 
Standardtaktvergabe zu vergleichen (Systeminit() oder so). Dann kommen 
schon mal keine Fragen wie "warum bekomme ich aus 25MHz externem Takt 
72MHz interen Systemtakt auf.

Viel Spaß^^

Solltest du noch etwas gutes finden, dann immer her damit, ich sitze 
nämlich auch auf einem Berg von Fragen^^.

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Moin,

Definite Guide to Cortex M3/M0.

vllt mal auf stf12.org das ODeV Konzept angucken.

Die Beispiele von ST sind auch nicht zu verachten wenn man nicht weiß wo 
man anfangen soll.

MfG

Tec

von Dennis X. (Gast)


Lesenswert?

Also ich hab jetzt mal so ein Komplettpaket mit Eclipse gefunden. Ich 
möchte diese Oberfläche zum Programmieren gefunden.
Ich hab derzeit kein Problem oder irgendwelche Ziele, ich will einfach 
nur ein bisschen mit den STM32 experimentieren ;-)
Falls noch Online-Tutorials zum Eclipse auftauchen, gerne her mit.

Danke

von stm (Gast)


Lesenswert?

Ich weiß nicht wie dein Stand ist, ich bin mit wenig Erfahrung direkt zu 
STM32 "gewechselt" und Windows User. Ich war mit Eclipse total 
überfordert, trotz einiger sehr guter Artikel bzw. Themen hier
Es gibt ein recht großes Thema hier was sich nur mit Eclipse 
beschäftigt: Beitrag "STM32 Eclipse Entwicklungsumgebung"
Dort kannst du dich von meinen unqualifizierten Fragen "beeindrucken" 
lassen und Links zu Tutorials finden ^^
Ich nutze jetzt wie gesagt Atollic (ST-LINK)und finde mich langsam rein. 
Demnächst werde ich dann mal mit Eclipse weiter basteln. Die fertigen 
Eclipse Versionen sind meistens veraltet, wenn du etwas neues gefunden 
hast würde mich ein Link mal interessieren ;-).
Was für ein Board nutzt bzw. willst du eigentlich nutzen? Und wie bist 
du auf STM32 gekommen (gibt ja noch viele andere Cortex M3 Anbieter)?


Gruß

von Dennis X. (Gast)


Lesenswert?

Also ich hab im Internet irgendwo ein STM32 Board gefunden. War relativ 
günstig und hab mir da mal eins geholt. Das alles ist schon eine Weile 
her, aber jetzt will ich das Ding langsam mal in Gang bringen.
Ich benutzer derzeit auch das Atollic TrueStudio.
Dieses erstellt mir ja immer ein .elf File. Aber kann ich aus dem nicht 
auch irgendwie eine ganz normale .HEX File herauskitzeln?

Ansonsten versuche ich gerade ein bisschen heir und da mich im Internet 
zu erkundigen wie das alles zusammenspielt.

von Matthias K. (matthiask)


Lesenswert?

Atollic liefert in der Lite-Version kein .hex File, stimmt leider.

Workaround:

Da Atollic auf GCC basiert, kannst Du einfach ein objcopy aus einer 
anderen ARM Toolchain nehmen um aus dem .elf ein .hex zu konvertieren.

z.B.:
arm-none-eabi-objcopy.exe

Aufruf:
arm-none-eabi-objcopy -O ihex "my_prog.elf" "my_prog.hex"

Man kann auch noch weitere Tools einsetzen, z.B. wenn man genauere 
Informationen zu Speicherbelegung o.ä. aus dem .elf sich anzeigen lassen 
will.

z.B.
objdump "my_prog.elf" -p


Das ganze lässt Du als .bat in einem Alfterbuild-Prozess laufen.

von Dennis X. (Gast)


Lesenswert?

Danke für den Tipp mit dem copy! Hat wunderbar geklappt! Ich hab einfach 
den objcopy vom WINAVR genommen! Damit hab ich dann eine astreine HEX 
Datei!

Ich kann die doch direkt im Atollic Studio angeben oder?

von Hupe (Gast)


Lesenswert?

Hallo!
Lass die Finger von diesen ganzen Open Source Schrott Entwicklungs-
umgebungen. Ich rate dir zu Rowleys Crossworks for ARM. Die "private"
Lizenz kosten 100$. Läuft super, der Support ist auch ok.

von Dennis X. (Gast)


Lesenswert?

Dennis X. schrieb:
> Ich kann die doch direkt im Atollic Studio angeben oder?

ICH bin zu sehr verwirrt, was man da alles einstellen kann, ich find 
absolut den AvterBuild-Process nicht, bzw. wo muss ich meine Batch File 
angeben?!

von Matthias K. (matthiask)


Lesenswert?

@ Dennis X

Ignoriere einfach die Beschimpfungen, vorallen von Leuten, die nicht mal 
angemeldet sind. Der Umgangston ist hier leider nicht der Beste, liegt 
zum großen Teil an der fehlenden Anmeldepflicht.

Natürlich musst Du die betreffenden Tools von einer ARM Toolchain 
nehmen.

zB. von dieser:
http://www.codesourcery.com/sgpp/lite_edition.html

von stm (Gast)


Lesenswert?

Warum brauchst du unbedingt Hex Files? Keinen JTag zur Hand? Wenn dem so 
ist, dann wirst du bald Frust schieben und doch die 25 Euronen 
investieren^^.

Übrigens wäre es schön wenn du deine Ergebnise mit uns teilen würdest, 
also welches Board und welches fertige Paket du gefunden hast. Ich habe 
es gehasst mich durch x Post zu klicken und dann am Ende ohne Antworten 
da zu stehen und doch einen Eigenen zu eröffnen um dann wieder alle mit 
den selben Fragen zu nerven.

Ganz nebenbei, hat jemand zufällig schöne CAN Programme bzw. CAN Code da 
;-P ?

von Dennis X. (Gast)


Lesenswert?

Ja, ich glaube um den JTAG werd ich nicht herumkommen. Dachte halt, das 
geht ebenfalls genauso gut die HEX-Files zu flashen, da ich bei den 
8-Bittern eben auch nie ein JTAG hatte, bis jetzt zum schluss einen sehr 
guten Eigenbau, welcher vom AVRS unterstützt wird!

Dieser Shop bietet sehr viel in diesem Bereich an:
http://stores.ebay.de/Electronics-at-HK?_trksid=p4340.l2563

Könnt ja mal drüber schauen und mir sagen, was IHR davon haltet.

Ja ich dachte nur, das ich das von dem AVRS nehmen kann, denn eine 
HEX-File wurde ja erstellt. Jetzt nehm ich halt die andere.

Achso, ich hab hier im Forum immer wieder Schaltpläne von 
UART-Programmer gesehn, also welche den internen Bootloader verwenden. 
Geht sowas gut? Kann man mit sowas vernünftig programmieren?!

Danke schonmal an euch!

Grüße
Dennis

von Matthias K. (matthiask)


Lesenswert?

Der Bootloader der STM32 reicht für viele Fälle aus. Auf den STM Seiten 
gibt es ein PC-Programm zum flashen, heist "Flash Loader Demonstrator".

Für komplexere Projekte ist ein JTAG natürlich die bessere Wahl. ST-LINK 
ist günstig ca. 30 Euro bei Farnell. Wird von Atollic Lite unterstützt. 
Kann aber nur die STM32 und keine anderen ARM's.

von Dennis X. (Gast)


Lesenswert?

Und die ARM´s an sich haben alle den Bootloader für die Serielle 
Programmierung?!

von Philipp (Gast)


Lesenswert?

einen Bootloader haben, soviel ich weis, die meisten ARMs, aber der 
variiert von Hersteller zu Hersteller.

Was ich noch als Tipp geben würde (sehen einige sicherlich auch anders):
Versuch es erstmal ohne IDE die Cortex M3 sind im vergleich zu den 
AVRs/PICs ja ordentlich was komplexer und wenn man dann noch irgend eine 
komplexe IDE mit reinholt finde ich das eher nachteilig.

@Hupe:
Unter Crossworks arbeiten auch nur Open Source Tools.
Und die Funktionieren sehr gut und sind auch weit verbreitet.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Der Artikel STM32 ist dir sicher schon bekannt?

von Dennis X. (Gast)


Lesenswert?

Ja dieser ist mir bekannt. Da hab ich jetzt auch gesehn, dass es ein 
Minimalprojekt dort gibt.
Jetzt fehlt mir nur noch so ein Tutorial mit dem Programmier einstieg, 
wie z.B.: Unser GCC hier. Danach hab ich das ja auch durchgemacht. Nur 
jetzt eben für den STM32.

von Stefan W. (wswbln)


Lesenswert?

Matthias K. schrieb:
> Für komplexere Projekte ist ein JTAG natürlich die bessere Wahl. ST-LINK
> ist günstig ca. 30 Euro bei Farnell.

Für unter 20€ bekommt man das STM32 Discovery Board welches man mit 
einem selbstgebastelten Kabel auch als ST-Link verwenden kann.

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Hi,

wenn du dich nicht mit Tool-Eigenheiten, makefiles u.a. rumschlagen 
willst, sondern einfach nur ab main() Programme schreiben willst, schau 
dir mal die Keil µVision IDE an ( www.keil.com ), die empfehle ich in 
Verbindung mit dem Segger JLink Edu für rund 50,- (dann kannst du auch 
noch andere IDEs testen, falls es dir nicht gefällt).
Die freie Version compiliert 32k, damit kommt man schon mal sehr weit. 
Ausserdem sind tonnenweise Examples dabei.

Ähnliches gilt auch für die IAR Workbench, auch die läuft mit dem JLink, 
und liefert ebenfalls dutzende Examples mit.

Solltest du dich dann entscheiden, doch mit gnu zu arbeiten, und dir 
ggf. deine Toolchain mehr oder minder selbst zusammenzufrickeln, kannst 
du die GDB Fähigkeit des JLink nutzen.

---
Egal, für welche Toolchain du dich entscheidest, der STM32 (oder ein 
LPC) ist auf jeden Fall der Cortex-M3 Einsteigercontroller meiner Wahl. 
Er ist nicht unnötig kompliziert, die Peripherals sind gut 
konfigurierbar, und er funktioniert (und nimmt einem 
Konfigurationsfehler nicht so übel) :-)


VG,
/th.

von Michael F. (grisu901)


Lesenswert?

Ich nutze für meinen STM32 den Segger j-link Edu und die 
"non-commercial" Lizenz von Crossworks. Kostet zusammen <200 Euro und 
man hat was ordentliches zum Debuggen und keine auf 32kB beschränkte 
Krücke...

Was das Setup des ersten Projekts angeht, so hab ich auch lange 
gekämpft, bis die Einstellungen gepasst haben. Es ist aber nix, was man 
nicht auch als Anfänger schaffen kann :-)

von W.S. (Gast)


Lesenswert?

stm schrieb:
> Warum brauchst du unbedingt Hex Files? Keinen JTag zur Hand? Wenn dem so
> ist, dann wirst du bald Frust schieben und doch die 25 Euronen
> investieren^^.

Warum??
Du fragst wirklich sowas?

Antwort: zum Programmieren braucht man sowas. nach dem Linken 'FromElf' 
benutzen und dann mit einem seriellen Programmer das Hexfile in den 
Controller befördern. Die STM32 haben nämlich einen eingebauten 
Bootlader, für den man bloß eine einfache serielle Schnittstelle 
braucht. Einfach, billig, zuverlässig und schnell genug - und die 
Schnittstelle ist einigermaßen präzise dokumentiert.

Wer da erstmal mit JTag-Adaptern, zugehörigen Treibern und all dem daran 
hängenden Software-Zeugs herumfummeln will, soll es tun - mein Fall ist 
dies nicht. Habe selber einen Segger im Regal liegen, wo er Moos 
ansetzt.

W.S.

von Michael F. (grisu901)


Lesenswert?

W.S. schrieb:
> Die STM32 haben nämlich einen eingebauten
> Bootlader, für den man bloß eine einfache serielle Schnittstelle
> braucht. Einfach, billig, zuverlässig und schnell genug - und die
> Schnittstelle ist einigermaßen präzise dokumentiert.

Und damit kann man auch debuggen? (ernstgemeinte Frage)

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.