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
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?
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^^.
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
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
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ß
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.
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.
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?
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.
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?!
@ 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
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 ?
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
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.
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.
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.
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.
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.
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 :-)
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.
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)