Forum: Mikrocontroller und Digitale Elektronik Welcher Cortex M4 für Bastelprojekt (oder: welche Toolchain)


von Martin (Gast)


Lesenswert?

Ich möchte mein Regal mit ein paar dekorativen Basteleien verzieren. 
Konkret dachte ich an eine alte Oszi-Röhre (oder 3 kleine davon), die 
z.B. den Lorenz-Attraktor oder den Chuo-Oszillator anzeigt (oder ganz 
banal eine Uhr). Da Gleitkomma-Power dazu nicht schaden kann und ich 
zwecks Gelderwerb Cortex M3 programmiere, hatte ich an einen Cortex M4 
gedacht. Sonstige IO (ADCs, PWM, digital) brauche ich natürlich auch, 
aber die hat jeder Prozessor. DACs wären fürs Oszi praktisch, kann man 
aber auch per SPI anhängen).

Die Frage ist jetzt, welchen Prozessor bzw. welches Entwicklungsboard 
und vor allem welche Entwicklungssoftware dazu? Kommandozeilen-Bastelei 
mit gcc habe ich schon viele Jahre hinter mir gelassen und vermisse ich 
nicht. Es dürfte also schon eine gut funktionierende IDE sein, ich würde 
lieber Fehler in meiner Software suchen als im Compiler oder Debugger.

Das Board für "Künstler" wäre ja der Arduino, es gäbe mit dem Due einen 
Cortex M3, aber die jämmerlichen Debug-Möglichkeiten schrecken mich ab.
STM32 gäbs ja auch mit M4, aber keine hobbytaugliche Softare dazu (ich 
arbeite beruflich mit IAR EWARM, völlig jenseits preislich).
Von TI gäbe es den Tiva C und eine aktive Lizenz des Code-Composters 
hätte ich auch.
Atmel wäre noch ein Kandidat, da gäbe es die ATSAM4 mit diversen 
Eval-Boards, vor allem kostenlosem Atmel Studio, auch für ARM! Kennt das 
jemand? Atmel kennt man ja sonst nur von den kleinen 8-bittern. Wenn ich 
an die nur mit Mühe vierstelligen Preise von z.B. IAR denke, wäre eine 
kostenlose (taugliche!) IDE eine Sensation. Vielleicht will ja Atmel vom 
8-Bit-Image wegkommen und verschenkt die IDE deswegen.
Für NXP scheint es keine günstige IDE zu geben, bei Infineon Dave (?) 
für den  XMC 4000.
Hm, Tiva C oder ATSAM4 - kenne beide nicht, was meint Ihr? Danke!

von Alexander F. (alexf91)


Lesenswert?

Für NXP gibt es durchaus etwas kostenloses, nämlich LPCXpresso (jedoch 
nur max. 512 kB, soweit ich mich erinnere)

: Bearbeitet durch User
von Daniel (Gast)


Lesenswert?

Hallo,
ich würde für den Anfang das STM32F4 Discovery nehmen, da hast du ein 
top Preis/Leistungsverhältnis. Als IDE kannst du die von CooCox nehmen. 
Die ist kostenlos und damit kannst du dann auch alle anderen ARM 
programmieren.

Gruß Daniel

von Martin (Gast)


Lesenswert?

Ja, die Discovery-Boards sind tolle Bastelvorlagen, habe ich schon mit 
dem STM32F1 verwendet. CooCox ist mir neu, schau ich mal an, super!

Danke - Martin

von Martin R. (martin84)


Lesenswert?

Würde auch Coocox verwenden und STM-Boards. Oder du schaust dir mal von 
NXP das LPC4357-EVB an. Und Programmieren könntest du es mit der 
LPCXpresso IDE.

: Bearbeitet durch User
von Dr. Sommer (Gast)


Lesenswert?

Im Wiki gibt es mehr Informationen welche Software man zum Programmieren 
der STM32 verwenden kann: STM32: Programmierung.

von Uwe B. (boerge) Benutzerseite


Lesenswert?

MoinMoin,

Martin schrieb:
> Die Frage ist jetzt, welchen Prozessor bzw. welches Entwicklungsboard
> und vor allem welche Entwicklungssoftware dazu?
>
...ich benutze derzeit ein Stellaris Launchpad für ähnliche Spielereien:
http://bralug.de/wiki/Scopeclock

Martin schrieb:
> Kommandozeilen-Bastelei
> mit gcc habe ich schon viele Jahre hinter mir gelassen und vermisse ich
> nicht. Es dürfte also schon eine gut funktionierende IDE sein, ich würde
> lieber Fehler in meiner Software suchen als im Compiler oder Debugger.
>
ok, was hast du gegen einen Editor deiner Wahl und dem freien 
arm-none-eabi-gcc plus einem vernünftigen Makefile? --> 
http://bralug.de/wiki/Tux_fliegt_zu_den_Sternen

Natürlich gibt es auch das Rundum-Sorglos-Paket für dieses TI-Board, 
wenn man möchte:
http://bralug.de/wiki/Tux_fliegt_zu_den_Sternen#Energia

Grüße Uwe

PS.: die max. 80MHz Taktrate der MCU auf dem Board, sollten eigentlich 
für die Spielereien reichen!

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Du weißt, dass der M4F nur Single Precision hat? Für double brauchst Du 
einen A8 mit VFP.

Wo ich gerade unsicher bin, ist ob die FPU beim M4 immer dabei ist. Die 
Chiphersteller können den Core in gewissen Grenzen konfigurieren und 
Dinge hinein- und herauskonfigurieren. Dazu gehören zB die Anzahl der 
Interrupt Level, oder das Embedded Tracing Module. Wie gesagt, ich bin 
mir nicht 100% sicher, ob die FPU immer dabei ist oder auch hinein- oder 
herauskonfiguriert werden kann. Schau ins Datenblatt.

Atmel verwendet - wie alle anderen auch - nur den gcc. Die IDE ist die 
vom MS Visual Studio. Wenn Du das bereits installiert hast, könnte sich 
das eventuell beißen.

fchk

von Dr. Sommer (Gast)


Lesenswert?

Frank K. schrieb:
> Wo ich gerade unsicher bin, ist ob die FPU beim M4 immer dabei ist.
Die FPU ist beim Cortex-M4F dabei, beim Cortex-M4 nicht. Einen Cortex-M4 
Mikrocontroller produziert aber kaum einer/keiner(?), sondern verwendet 
stattdessen Cortex-M3. Die STM32F4 und F3 sind aber Cortex-M4F, d.h. 
haben eine single-precision FPU.

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


Lesenswert?

Ich habe damals mich für die STM32Fxxx reihe entschieden, weil ST von 
denen über 250 verschiedene Variationen (Gehäuse, RAM/ROM, 
Pheriperiefunktionen) bietet, auch vor allem kleinere Gehäuse (48/64 
Pin's), was NXP nicht so macht, da ist dann gleich der M0 drin.
Lese mal hier im Artikel: STM32

von Waldi (Gast)


Lesenswert?

Nur zur Info: CooCox unterstützt den F3 nicht.

von Max K. (makro)


Lesenswert?

Ich glaube, nur die NXP-reihe LPC4300 hat den M0 mit drin, die LPC4000 
nicht.
Kleinstes Gehäuse da LQFP80, was sich ja noch ganz gut mit der Hand 
löten lässt.

von Dr. Sommer (Gast)


Lesenswert?

Waldi schrieb:
> Nur zur Info: CooCox unterstützt den F3 nicht.
Man erstelle ein Projekt für den F4, wähle ein Linkerscript, 
StdPeripheral Library für den F3 aus und läuft, falls das mit CooCox 
geht; der Compile-Vorgang ist sonst genau gleich.

von Martin (Gast)


Lesenswert?

Max Krohmann schrieb:
> Kleinstes Gehäuse da LQFP80, was sich ja noch ganz gut mit der Hand
> löten lässt.

Naja, von Hand löten lässt sich eigentlich alles problemlos bis auf QFN 
(mit von Hand meine ich Leiterplatte+Schablone bestellen, löten auf 
Heizplatte oder Grill). Leider gibt es sehr viele neue Bauteile nur noch 
als QFN, und die löten sich trotz Schablone nicht problemlos als 
Prototyp (meine Trefferquote dabei ist vielleicht 70%). 100% geht m.E. 
nur mit Pastendrucker und Bestückungsautomat. Meine Lieblinge sind BGAs, 
die gehen sogar ohne Schablone nur mit Flussmittelpaste und Fön. QFPs 
sind natürlich traumhaft zu löten, vor allem mit Wellenlötspitze (a la 
Weller LT-GW). Und gottseidank gibt es noch bleihaltiges Lot.

Aber trotzdem würde ich wenn irgend möglich keine Leiterplatte selber 
machen. Für einen 100-MHz-Prozessor wäre ein 4-fach ML ja schon nicht 
schlecht und bis alle Leitungen, Entkopplungen, ADC-Versorgungs-Filter, 
Debugleitungen, Quarz, -zig IOs... verdrahtet sind, hat man einen 
Riesenaufwand, das lohnt nur für Serienprodukte. Die STM32 
Discovery-Boards sind da wirklich genial, sogar der Debugger ist 
integriert und sie kosten fast nix. Wenn Leiterplatte, dann ein 
Aufsteckboard für ein Discovery-Board.

Werde mich wohl an die STM32F4 halten: Es gibt dazu ein Discovery-Board, 
die standard peripheral library kenne ich auch schon recht gut (auch 
wenn man, wenn man den Code anschaut, öfters tief durchatmen muss - sie 
funktioniert!) und CooCox sieht auch gut aus. Ob Fliesskomma in single 
precision für Chaos reicht, wird sich zeigen...

Danke nochmal für die vielen hilfreichen Tips!

von Lothar (Gast)


Lesenswert?

Max Krohmann schrieb:
> Ich glaube, nur die NXP-reihe LPC4300 hat den M0 mit drin, die LPC4000
> nicht.
> Kleinstes Gehäuse da LQFP80, was sich ja noch ganz gut mit der Hand
> löten lässt.

Martin schrieb:
> Aber trotzdem würde ich wenn irgend möglich keine Leiterplatte selber
> machen.

Hier ein günstiges kleines Board:

http://www.embeddedartists.com/products/boards/lpc4088_qsb.php

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.