Cortex Arm M3 M4 M7

Gast #3823403
Lesenswert?

Hallo, ich bin grade auf dem Weg mal was Neues aus zu probieren. Ich 
möchte mal mit den Cortex Arm Prozessoren spiele. Nur, mit welchem 
sollte ich Anfangen: M3 oder M4? Wann kommt man an den M7 so ran? Sollte 
ich auf diesen warten? Ich interessiere mich besonders die interne 
Architektur, also ich lasse mich von dieser umfangreichen nicht 
abschrecken ;)
Zurzeit habe ich nur 8bit AVRs programmiert.

vielen Dank
euer Markus
#3823417
Lesenswert?

Der Einstieg nach den 8bittern dürfte der M0 sein. Die werden auch zum 
Kampfpreis auf den Markt geworfen, ein STM32F030 mit 48mHz, 16K Flash, 
4k Ram 15 IOs ... gibt es für unter einem Euro, das Komplette 
Entwicklungskit mit Programmer (STM32F0308-Disco) unter 10€.
Allerdings ist das STML100C-Disco mit STM32L100RCT6 M3 sogar noch 
günstiger.

Da kommt kein AVR mit.
#3823703
Lesenswert?

> Markus schrieb:
> Nur, mit welchem
> sollte ich Anfangen: M3 oder M4?
Hallo,
den Typ wählt man nach den Anforderungen und persönlichen Präferenzen 
aus.
Innerhalb der Baureihen gibt es noch einige Unterscheidungen in Bezug 
auf Nutzbare Ports und Interfaces, RAM, ROM und Sonderfunktionen.

Ich bin gerade dabei diverse Schaltungen mit M3 zu entwickeln.
Für rel. einfache I/O-Module mit Relais, DigitalIn, AnalogeOut(0-20mA) 
sowie AnalogIn bis hin zu möglichen Sonderfunktionen wie 
Temperaturregler mit Anschluss von PT100/Thmeroelmenten usw. reicht ein 
kleinerer IC mit 68 Pins.
z.B. LPC134x.

Für ein kleines Grafikdisplay wird es dann aber ein LPC178x mit 
144-Pins.
Da werdeh dann z.B. die Steuerpins für das Grafikpanel angeboten und 
Grafiksoftwarepakete gibt es auch dazu.
Gruß Öletronika
#3823887
Lesenswert?

@Moby: Welcher Cortex M ist das doch gleich? Bitte nicht schon wieder 
Flamewar.

Ob M0, M3 oder M4 macht kaum einen Unterschied. Die Hersteller haben 
ihre Abstraktions Libraries, so dass du viel machen kannst, ohne dich 
explizit um den Core kümmern zu müssen. Viele Möglichkeiten hast du 
meiner Meinung nach mit deinem STM32F4Discovery, der CoIDE 
Entwicklungsumgebung und den Projektbespeilen von Uwe: 
http://mikrocontroller.bplaced.net/
Gast #3825468
Lesenswert?

Also ich habe direkt mit einer M4 (stm32f407) angefangen (nach atmel), 
da ich einen externen speicherbus brauchte.

Die M4 sind neuer vom Preis ahnlich wie die m3 daher würde ich dir zu 
der m4 raten. Es gibt auch kleine m4 (stm32f3 Serie im tqfp32 Gehäuse)

Die erste M7 ist vom St angekündigt aber ich kenne noch kein 
Lieferdatum. Auch ist die Frage, wie die Compiler das direkt 
unterstützen.
Gast #3825770
Lesenswert?

Dirk K. schrieb:
> Die Leistung eines M7 muss man aber erst mal benötigen, sonst ist das
> doch Geld- und Ressourcenverschwendung.

Wenn Du Dir X verschienede Typen hinlegts, dann ist das auch Geld- und 
Ressourcenverschwendung. Und genauso, wenn Du Dir einen abbrichst, weil 
Deine Ansprueche gewachsen sind und Du an Grenzen stoesst. "Think Big"! 
Das Knausern ueberlass den Controllern in der Industrie.
Gast #3825813
Lesenswert?

cortexuser schrieb:
> Die erste M7 ist vom St angekündigt aber ich kenne noch kein
> Lieferdatum.

ich bin gespannt wieviele Bugs ST diesmal schafft reinzustecken, zu 
verstecken und von den M4/M3 übernimmt. sie machen meiner meinung nach 
zu viele MCU anstatt sich darauf zu konzentrieren die existierenden 
Produkte zu bereinigen damit man sie einigermaßen verwenden kann.
wenn ich mir die Errata Liste vom STM32F407 so ansehe die ist schon 
beachtlich - und der Produzent hat wohl keine Lust diese zu beheben. 
Schaut so aus als wäre das normal - L0 im Kopf und schon auf F7 stürzen, 
aber Fehler zu bereinigen is nicht obwohl kritische Errata dabei sind. 
Schnell wurde diese Info um den Globus geschmissen, dann wird es wieder 
heißen "ja verfügbar sind sie aber nur für Keykunden" - gleichzeitig 
Termine mit großer Verzögerung.
Gast #3826081
Lesenswert?

Uwe Bonnes schrieb:
> Wenn Du Dir X verschienede Typen hinlegts, dann ist das auch Geld- und
> Ressourcenverschwendung. Und genauso, wenn Du Dir einen abbrichst, weil
> Deine Ansprueche gewachsen sind und Du an Grenzen stoesst. "Think Big"!

Ich habe die Frage aber so verstanden, daß es erstmal um's Kennenlernen 
der Architektur geht. Und da mal 10-20 € "unproduktiv" zu 
ver(sch)wenden, finde ich in Ordnung. Zumal man damit ja auch schon 
einige Wochen verbringen kann/wird. Ist ja auch eher der Unterschied zu 
den AVR: Es ist dediziert viel mehr Peripherie zu powern, zu clocken 
usw., und das noch mit Unternuancen. Und es gibt ja "dananch" noch den 
Markt hier, Äbäh usw..
Und wenn man aus der AVR-Welt kommt, wird es wohl schon extrem 
schwierig, einen M0 auszulasten. Bei einem AVR wohl auch schon sehr 
schwierig. Von M3, M4 oder irgendwann M7 ganz zu schweigen.
Zumindest mir geht es so: Ich mache lieber am Anfang gerne viele kleine 
Schritte. Dafür aber erfolgreich und damit motivierend für weitere 
Schritte.
Gast #3826204
Lesenswert?

>Ich habe die Frage aber so verstanden, daß es erstmal um's Kennenlernen
>der Architektur geht. Und da mal 10-20 € "unproduktiv" zu
>ver(sch)wenden, finde ich in Ordnung.

Falls also mal jemand kommt und auf dem PC programmieren
möchte, würdest du dem dann einen 386 und DOS empfehlen?
Nein natürlich nicht. Du würdest ihm etwas modernes
empfehlen.

>Ich mache lieber am Anfang gerne viele kleine
>Schritte.

Die kann man auf einem M4 auch machen. Man nimmt ja nicht
sämtliche Hardwareeinheiten auf einmal in Betrieb.
Gast #3826232
Lesenswert?

Hallo,
auf Grund dieses Threads habe ich im Web einen Artikel von Atmel 
gefunden und gelesen. Die haben anscheinend den CM7 schon lizensiert und 
wollen einen Chip der sogar SIL3 erreicht auf den Markt bringen, da bin 
ich mal gespannt.

Gruß Sascha
Gast #3826273
Lesenswert?

Wegen der Leistung etc. Ich habe z.b. ein einfaches Display 
angeschlossen (320x400px 16 Bit Farben) mit dem emWin von segger. Durch 
Fat32 mit SDIO braucht man auch nochmal Speicher.

Da ist das Problem der externe speicherbus/TFT controller haben eh nur 
die großen. Dazu können auch nur die ganz großen Sdram ansteuern.

Da ist leider immer ein Teil über dimensioniert. Und im 
privaten/Kleinserie ist es auch nicht so schlimm. Da habe ich einfach 
die große m4 für ein anderes Projekt kopiert statt ein redesign mit 
einer m0 zu machen.  Die 5€ am uC zu sparen bringt es in solchen fällen 
auch nicht.
Gast #3826339
Lesenswert?

M3 reicht...
und geschwindigkeitstechnisch scheinen die XMega bei vielen Sachen 
ebenbürdig zu sein.
Beim Toggeln von von Pins soll der Xmega wohl um Welten schneller 
sein..aber auch sonst, benötigt der Xmega für viel Befehle und 1 oder 2 
takte..ARM oft deutlich mehr als 4...
Von daher ist der Geschwindigkeitsunterschied bei vielen Sachen bei 
weitem nicht so hoch wie hier oft suggeriert wird...
Mit FPGA Unterstützung unf anderen spezielleren Sachen ist der Arm wohl 
schneller..
Aber mit einem M3 oder so hat man doch alles was man braucht, von 48-144 
Pins, can, 1MB oder sogar 2? etc pp
Gast #3826343
Lesenswert?

Dirk K. schrieb:
> Die Leistung eines M7 muss man aber erst mal benötigen, sonst ist das
> doch Geld- und Ressourcenverschwendung

Bezüglich der "Ressourcenverschwendung": ich finde VIEL Hardware 
ziemlich geil;) Mir gehts darum Neues zu entdecken.
Ich betreibe das als Hobby, somit ist die Effizienz egal.





Vielen Dank für die vielen Antworten.
Ich hole mir vieleicht so ein Discovery mit TFT Display, oder ich 
investiere ordendlich, dann möchte ich eins mit Ethernet, Audio und 
Display.
Gast #3826365
Lesenswert?

Markus schrieb:
> dann möchte ich eins mit Ethernet

http://de.farnell.com/texas-instruments/ek-tm4c1294xl/eval-brd-tiva-c-connected-launchpad/dp/2399965?CMP=GRHS-1001023

holger schrieb:
> Falls also mal jemand kommt und auf dem PC programmieren
> möchte, würdest du dem dann einen 386 und DOS empfehlen?

Du hast ARM nicht verstanden. Werkelt in deinem Smartphone ein Core i7? 
Software für einen M0 läuft ohen Änderung auf einem M3, M4. Das ist der 
Trick.

Wenn jemand mit Turbo C programmieren möchte, ist der 386 keine 
schlechte Wahl.
#3826376
Lesenswert?

Ich war so frei, von meinen Erfahrungen auf andere zu schließen. Das ist 
oftmals falsch, hier sieht man auch wieder, warum.

Dann eben ein großes Brett mit ganz viel drauf.

Ich sehe bei mir, so als noch-immer-Einsteiger, dass ich viele kleine 
Dinge anfange. Da sind dann viele kleine µCs praktischer und 
angemessener.

Bei einem großen Board müsste ich das ständig wieder auseinanderrupfen. 
So habe ich kleine Module, die ich dann irgendwann einfach zu was 
Größerem zusammenstöpsele.
Angehängte Dateien:
Gast #3826379
Lesenswert?

Ja das mit den Modulen ist echt nicht schlecht. Ich bestelle mir öfters 
mal irgend welche Module aus e*** z.B. Oled Display. Trozdem merke ich 
es ist sinnvoller alles auf einem Board zu haben --> können ja dann bei 
Fehlern nur Software Problme sein. Nachteil ist aber dann auch man kann 
nicht einfach mal alles mitm Oszi anzapfen.
Gast #3826571
Lesenswert?

Rene T. schrieb:
> aber auch sonst, benötigt der Xmega für viel Befehle und 1 oder 2
> takte..ARM oft deutlich mehr als 4...
Die meisten Instruktionen brauchen 1 Takt. Branches brauchen ggf. mehr 
je nach Zustand der Pipeline. Sonst sind noch Multiplikation mit 1-2 
Takten und Division mit 2-12 Takten langsam. "oft mehr als 4" kann man 
also nicht gelten lassen.

Rene T. schrieb:
> Beim Toggeln von von Pins soll der Xmega wohl um Welten schneller
> sein..
Kann maximal doppelt (!= "um welten") so schnell sein, denn der 
Cortex-M3 braucht 2 Takte. Allerdings nimmt man auch keinen 100MHz 
Prozessor um mit 100MHz zu togglen, denn die Cortexe haben oft auch 
sowas wie SPI, U(S)ART, Static Memory Controller, DMA mit dem man 
schnell Pins togglen lassen kann ohne dass die CPU überhaupt irgendwas 
machen müsste.
Gast #3826798
Lesenswert?

@Cortex User
Dem stimm ich zu.

V.a. hat man mit ARM eine gewisse Hersteller Unabhängigkeit. Und die 
Performance/Strom ist super.  Ich setze eine M4 ein, welche mit 32 MHz 
(Quarz) (wegen Canbus) und einen Haufen Peripherie nur 10 ma braucht.

Aber solche Diskussionen haben in dem forum eh keinen Sinn, da es zu 
einem Glaubenskrieg ausartet.

Allein aus dem Grund um breiter aufgestellt zu sein schadet es nicht 
etwas neues zu lernen.

Bekommt mal als student für 40-60€ ein super jtag (wie jlink) für die 
xmegas?

Wenn er es lernen will dann gebt ihn dafür Tipps und redet nicht ständig 
dagegen.
Gast #3827345
Lesenswert?

Hallo,
also wenn man Grafik und DSP braucht, dann würde ich eher auf einen A5 
gehen.
Ob ich nun den M4 mit 180MHz oder einen M7 mit 200MHz habe ist wohl im 
Ganzen nicht mehr der große Unterschied. Es sei den der M7 hat 400 MHz.
Der Flash wird ansich ja auch nicht den Speed unterstützen, deshalb der 
Cache. Ein ARM9 mit 264MHz ist nach meinen Tests (Assembler optimiert) 
immer noch Faktor 2,6 bis 4.3 Schneller als ein M4.

Gruß Sascha
Gast #3827357
Lesenswert?

@sascha wir planen einen Nachfolger mit einem A20. Nur muss da Linux 
portiert werden usw. Qt wäre mir definitiv lieber. Aber es zieht ein 
paar Sachen mit sich: min. 4 Lagig (ddr3 Speicher) alles BGA => bei 
Kleinserie nur zwischen 95-99% Erfolg. Usw.
Gast #3827370
Lesenswert?

cortexuser schrieb:
> @Cortex User Dem stimm ich zu.
> V.a. hat man mit ARM eine gewisse Hersteller Unabhängigkeit. Und die
> Performance/Strom ist super.  Ich setze eine M4 ein, welche mit 32 MHz
> (Quarz) (wegen Canbus) und einen Haufen Peripherie nur 10 ma braucht.
> Aber solche Diskussionen haben in dem forum eh keinen Sinn, da es zu
> einem Glaubenskrieg ausartet.
>
> Allein aus dem Grund um breiter aufgestellt zu sein schadet es nicht
> etwas neues zu lernen.
> Bekommt mal als student für 40-60€ ein super jtag (wie jlink) für die
> xmegas?
> Wenn er es lernen will dann gebt ihn dafür Tipps und redet nicht ständig
> dagegen.

Egal ob AVR oder cortex. Bei Atmel bekommst du einen vollwertigen jtag 
Debugger für 32$ und brauchst dabei nicht mal Student sein. Und deren 
tools unterstützen etwas mehr als ein abgespeckter jlink. (Trace zb)
ich kann mich aber gut mit a5 anfreunden speziell mit der crank gui 
siehe neuer sama5d4
#3827387
Lesenswert?

Ich designe gerade einen STM32F429 mit SDRAM und TFT ein.
Es ist schon wahnsinn, wie billig das geworden ist. Aber die
Pinanordnung ist total Gaga. Die FMC Pins (für das SDRAM) sind rund um 
den Chip verteilt. Das blockiert die Weiterentwicklung in Pichtung 
DDR2/3 in neueren schnelleren Versionen. Schade!
Beim TFT Interface schauts, was die Pinverteilung angeht, auch nicht 
besser aus. Zusätzlich blockiert das TFT Interface die RMII Ethernet 
Ankopplung. Schade!
Eine interne Referenz für den ADC wie beim ATMega fehlt auch. Das Errata 
Sheet hat rund 30 Seiten. Nur die gröbsten Fehler wurden in neueren 
Revisionen behoben. Frühere Revisionen sind sogar eingefroren, wenn an 
einem bestimmten Port-Pin was anderes als eine 0 angelegen hat, egal ob 
als Ein- oder Ausgang.
Vielleicht ist das alles der Grund warum die so preiswert sind ;-)
Persönliche Seite #3827452
Lesenswert?

> Aber die Pinanordnung ist total Gaga. Die FMC Pins (für das SDRAM) sind
> rund um den Chip verteilt. Das blockiert die Weiterentwicklung in Pichtung
> DDR2/3 in neueren schnelleren Versionen. Schade!

richtig, die Anordnung der Pins zum FMC ist wirklich nicht gelungen. Mit 
BGA ist das aber besser zu routen.

DDR2/3 ist da nicht geplant, da kommt was neues. Macht ja auch keinen 
Sinn mit dem Clock. Nur Low Power SDRAM ist möglich, da muss aber die 
ganze Schaltung mit 1,8V laufen.

> Beim TFT Interface schauts, was die Pinverteilung angeht, auch nicht
> besser aus. Zusätzlich blockiert das TFT Interface die RMII Ethernet
> Ankopplung. Schade!

mit TFBGA216 ist fast alles möglich. Ich habe das sogar mit einem 32Bit 
Daten-Bus gemacht. Nur das Kamerainterface ist nicht mehr komplett 
zugänglich (nur 8 Bit )
Gast #3829469
Lesenswert?

Sascha schrieb:
> Hallo,
> also wenn man Grafik und DSP braucht, dann würde ich eher auf einen A5
> gehen.
> Ob ich nun den M4 mit 180MHz oder einen M7 mit 200MHz habe ist wohl im
> Ganzen nicht mehr der große Unterschied. Es sei den der M7 hat 400 MHz.
> Der Flash wird ansich ja auch nicht den Speed unterstützen, deshalb der
> Cache. Ein ARM9 mit 264MHz ist nach meinen Tests (Assembler optimiert)
> immer noch Faktor 2,6 bis 4.3 Schneller als ein M4.
>
> Gruß Sascha

Der M7 von atmel koennte echt interessant werden, die ersten samples 
sollen mit 300mhz getaktet werden. 
http://www.atmel.com/about/news/release.aspx?reference=tcm:26-63538

Schoenn dass auch hier atmel studio unterstutzung angeboten wird. Und: 
endlich vernuenftige CAN IP

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren