Forum: Mikrocontroller und Digitale Elektronik ARM Welten STM TI NXP Atmel.


von Wasnu (Gast)


Lesenswert?

Mag schon x mal durchgekaut worden sein aber hey,
die Welt dreht sich und die einen kommen und müssen Erfahrung sammeln 
und die andern haben sie und gehen.

Daher nicht über das für manche bekannte Programm meckern.

Die frage richtet sich eh an alte erfahrene, die das halbwegs 
beantworten können, weil sie diesbezüglich auf allen Schienen Erfahrung 
gesammelt haben und somit eine gewichtige Meinung haben.

Auf welche IDE und welchen ARM Mikrocontroller sollte man, als 
Neueinsteiger in die ARM Welt, setzen?

Wo ist der Support am größten.
Wo findet sich die größte Community und die meisten Beispiele?

von Louis (Gast)


Lesenswert?

STM32F0-Reihe

IDE je nach Gusto, ich verwende z.B. die kostenlose Version von Keil

Wasnu schrieb:
> Wo ist der Support am größten.

Wer Datenblätter und User Manuals lesen kann, der braucht kein Support 
:-)

Wasnu schrieb:
> Wo findet sich die größte Community und die meisten Beispiele?

STM32

von Base64 U. (6964fcd710b8d77)


Lesenswert?

stm32, mbed/eclipse(würg) oder barebone mit makefile

von W.S. (Gast)


Lesenswert?

Wasnu schrieb:
> welche IDE..
> welchen ARM Mikrocontroller..
> Wo ist der Support am größten..
> Wo findet sich die größte Community..
> wo die meisten Beispiele?

Was willst du eigentlich? Dich in irgend einer "Community" tummeln?

Aus der Sicht eines Erfahrenen sag ich dir: Das Arbeiten mit µC ist 
weitgehend ein einsamer Job. Zum Lesen der Dokumente braucht man 
allenfalls seine Brille, aber keine Community. Zum tatsächlichen 
Einsetzen von µC braucht man das zuvorige Erlernthaben von 
Schaltungstechnik. Zum Programmiern braucht man ebenso seine Erfahrung 
und seine Toolchain und zum Brennen der Chips eben das zum Brennen 
erforderliche Geschirre.

Eine IDE braucht man nicht. Das weiß ich mit endgültiger Gewißheit.

Der Support durch kompetente Leute in den Herstellerfirmen hängt davon 
ab, WER man denn ist. Wenn man ABB oder Zeiss oder Heckler oder 
dergleichen ist, dann geht's heidewitzka, sonst eher mäßiger und für nen 
Bastler haben die kein Ohr.

Der Support durch die Community läuft auf das Diskutieren des 
gemeinsamen Nichtwissens hinaus.

Die meisten Beispiele findet man überall im Internet - und in 
"Überall"-Qualität. Konkret gesagt: mindestens 99% ist Müll.

Also, was willst du denn eigentlich? Dich orientieren? Und in welcher 
Beziehung? Wo man das meiste lernt oder wo man am ehesten schmarotzen zu 
können vermeint?

Mein Ratschlag: Guck dir einige Hersteller und deren Chips im Inet an, 
guck auch bei den üblichen Verdächtigen (Distributoren) nach deren 
Portfolio und deren Preisen, guck, ob der Hersteller einen Onlineshop 
betreibt und du dort überhaupt kaufen kannst, guck überhaupt ob und wo 
du welche Chips kaufen kannst, lies dir dann die diversen Manuals zu den 
Chips durch, die dir am interessantesten erscheinen und dann entscheide 
selber, was dir am ehesten gefällt und mit welchem Referenzmanual du 
ohne fremde Hilfe klarkommst.

Und erwarte nicht, daß du ohne eigenes Studium der vorhandenen Quellen 
klüger wirst oder gar die Community deinen Chip programmiert.

Also: selbst ist der Mann. Gilt immer.

W.S.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Louis schrieb:
> STM32F0-Reihe

Wobei ich mich nicht auf die F0 Reihe festlegen würde. STM32 generell 
hat grosse Unterstützung (auch hier) und es gibt sehr preisgünstige 
Evaluationsboards in Form der Discovery- und Nucleoboards von STM.
Das grösste Problem dürfte nicht die Beschaffung der Hardware sein, 
sondern eine Programmierumgebung, die auch funktioniert und einem nicht 
allzu grosse Steine in den Weg legt.

von Robin S. (der_r)


Lesenswert?

Meine Empfehlung lautet STM32F1, wenn man einen guten Kompromiss aus 
Preis und Leistung sucht. Genauer gesagt das STM32F103C8T6 
BluePill-Board, plus irgendein STM32-Discovery als Programmer (was alle 
immer mit ihrem Segger J-Link haben, werde ich wohl nie verstehen...).


Ich würde persönlich auch die Finger von Eclipse lassen, die Einrichtung 
kann wirklich grausam sein, je nachdem, ob dubiose Fehler auftreten weil 
das Tutorial nicht aktuell ist oder irgendein Mist nicht/falsch 
installiert ist (ich sage nur SSL Handshake Failure-Problem). Aber das 
ist Geschmackssache, manche tun sich das halt an, weil sie entweder 
Eclipse sowieso benötigen, besonders gut finden oder beruflich brauchen. 
Ich nicht. (Darunter fällt auch SW4STM32)


Mein Rat wäre in dem Fall, mal einen Blick auf EmBitz und Atollic zu 
werfen, beide kostenlos und meiner bescheidenen Meinung nach deutlich 
besser als Eclipse. Für Anfänger war CooCox genial, allerdings gibt es 
das wohl nicht mehr.

von PittyJ (Gast)


Lesenswert?

Ich würde NXP nehmen.
Da gibt es eine richtig schöne IDE auf Eclipse basierend. Man kann sogar 
Windows oder Linux wählen.
Programmiert wird über USB, dafür ist kein extra Gerät notwendig.

von Johannes S. (Gast)


Lesenswert?

PittyJ schrieb:
> Da gibt es eine richtig schöne IDE auf Eclipse basierend.

Mittlerweile sogar zwei, hat hier schon jemand das MCUXpresso getestet? 
Ok, habe wenig Hoffnung auf eine positive Antwort weil hier kaum jemand 
NXP oder Kinetis nutzt und IDE ist bäh und Eclipse doppel-bäh :-(
Trotzdem kann ich mbed empfehlen (auch wenn  'Base64 Urandom' das würg 
findet), das unterstützt nicht nur die vielleicht beliebteren STM und 
LPC sonden auch viele andere von M0 bis M7 und viele Exoten (wenn man 
die denn braucht).
Es ist in der mbed lib natürlich erstmal einiges durch C++ abstrahiert, 
aber ein Programm fängt sofort bei main() an (oder den globalen 
Konstruktoren für die genauen hier) und man kann sofort loslegen mit 
paar Programmierkenntnissen. Wenn man genauer wissen will wie es geht 
exportiert man seinen Code in eine offline IDE und steppt da mit dem 
Debugger durch, dank offener Quellen ist alles transparent.

von Ruediger A. (Firma: keine) (rac)


Lesenswert?

W.S. schrieb:
>
> Eine IDE braucht man nicht. Das weiß ich mit endgültiger Gewißheit.
>

Klar, brauchen tut man sie nicht, es braucht auch Niemand einen 
Wischmopp zum Küchenboden reinigen, eine Zahnbürste tut es auch. 
Allerdings spart ein Wischmopp eine Menge Zeit bei der Reinigung 
gegenüber einer Zahnbürste.

Eine IDE hilft z.B. dann gegenüber einem Zeichenbasierten Debugger, wenn 
man Stack Call Chains verfolgen will, da braucht man in der Regel nur 
eine Combo Box runterklappen und sieht die Frames untereinander. Oder um 
SFRs anzusehen, gibts in der Regel eine graphische Baumstruktur, durch 
die man sich durchklicken kann. Klar, wenn man schon 20 Jahre mit 
demselben gdb geschafft hat, findet man sein SFR in fast derselben Zeit, 
hat aber Netto mindestens 2 Jahre gebraucht, um die Kommandos zu 
verinnerlichern. Selbstverschuldetes Vendor Lock-In.

@Wasnu: Ich habe recht gute Erfahrungen mit WinIdeaOpen gemacht, die hat 
mal als nur professionelle IDE angefangen, ist also auch in der Open 
Version weitaus besser als so manches Wald-und Wiesen Open Source 
Produkt.

Die STM32F Serie ist in der Tat die im Markt am stärksten Vertretene, 
und damit wirst Du auch am Meisten OS/PD "Support" finden (wobei ich mit 
W.S. übereinstimme, das da ein sehr hoher Prozentsatz Müll dabei ist). 
Allerdings ist ja die Cortex Philosophie gerade, dass der Kern Standard 
ist, also kannst Du mit demselben Compiler identischen Code erzeugen, 
und das konkrete POD abhängig von deinen Peripheriewünschen wählen. 
WinIdea unterstützt sehr viele Cortex basierte Prozessoren; falls der 
Typ nicht dabei ist, sogar generische M0-M4 Kerne (da gibt's natürlich 
Abstriche bei so Dingen wie SFR Ansicht).

: Bearbeitet durch User
von Janvi (Gast)


Lesenswert?

> Klar, brauchen tut man sie nicht

du solltest zwischen einer IDE und einem vernünftigen Debugger 
unterscheiden. WinIdeaOpen ist kein schlechter Tipp wenn man sowieso 
Windows möchte. Läuft übrigens auch mit dem Segger-Jlink-Edu Kabel (im 
Gegensatz zu den iSystem eigenen Kabeln welche bei mir nicht tun). Wenn 
wir schon bei Segger sind, habe die auch einen ganz netten Debugger zum 
freien Download und für den Rest braucht man dann nicht wirklich eine 
Klicki-Bunti IDE Oberfläche. Wenns irgendwo hakt oder ich eine andere 
Speicheraufteilung/neues Chipmodell brauche, frickle ich das auch ganz 
gern selbst am Link und Makefile rum. Bei Projekten mit IDEs die nicht 
mehr weitergepflegt werden oder die man jedes Jahr neu kaufen muss 
(Leidige Erfahrungen mit Hitex Hitop) sind Bestandsprojekte dann eben 
Schrott und man muss es hinterher sowieso selbst "gescheit" machen.

von Bernd K. (prof7bit)


Lesenswert?

Man kann es auch so aufsetzen daß das Projekt nicht von der IDE abhängt. 
Dann kann man an ungeraden Tagen mit Vim, Konsole und Makefile arbeiten 
und an geraden Tagen mit Emacs und bei Vollmond mit Eclipse (oder 3 
Leute arbeiten auf dem selben Repository und jeder bevorzugt ne andere 
IDE) und es kommt sich dennoch keiner in die Quere. Weil das Projekt 
nicht von der IDE abhängt.

So hab ich das bei mir eingerichtet. Das Projekt selbst hängt nur von 
Make, gcc und den GNU-Tools ab. Arbeiten tu ich damit aber zu 99% über 
Eclipse + GNU-Arm Plugin (Eclipse ruft das Makefile auf wenn ich "build" 
drücke und es parst den Output um sich Include-Pfade und Defines 
automatisch reinzuziehen).

Und wenn ich irgendwann keinen Bock mehr auf Eclipse habe nehm ich 
kurzerhand einfach ne andere. Eclipse weiß das und ist deshalb immer 
sehr nett und zuvorkommend mir gegenüber.

von Frank K. (fchk)


Lesenswert?

Wasnu schrieb:

> Auf welche IDE und welchen ARM Mikrocontroller sollte man, als
> Neueinsteiger in die ARM Welt, setzen?
>
> Wo ist der Support am größten.
> Wo findet sich die größte Community und die meisten Beispiele?

Es ist egal. Zu mehr als 98% wirst Du in C programmieren, vielleicht 
noch mit einem Doppelplus dahinter. Assembler ist die absolute Ausnahme. 
Normalerweise portierst Du kein Betriebssystem, und Code für Interrupts 
können die Compiler inzwischen auch so generieren. Daraus folgt, dass es 
für Deine tägliche Arbeit gar nicht so wichtig ist, ob Du auf einem ARM, 
MIPS, PPC oder was auch immer arbeitest. Der C-Compiler egalisiert das 
alles.

IDE ist auch egal. Im Job hast Du ohnehin wieder was anderes.

Wichtig sind exzellente C-Kenntnisse - die kannst Du Dir auch auf nem PC 
erarbeiten, und wichtig ist das Verständnis, wie die üblichen seriellen 
Busse, Speicher, Flash, Interrupts etc funktionieren, und wie Du 
Datenblätter liest und daraus die erforderlichen Informationen 
extrahierst.

Du musst lernen zu lernen.

Fang einfach an.

fchk

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.