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
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.
:
Bearbeitet durch User
Ich bin mit STM32F0-Disco (F051R8) umgestiegen. Dann nach kurzer Zeit auf die STM32F1-Minimal-Boards. Inzwischen habe ich auch die F4..-Discos herumfliegen. Intensiv spiele ich mit den STM32F030, wie von Oliver beschrieben. Einigermaßen einfach zu verarbeiten und machen Spaß :)
> 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
@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/
Für den Einstieg würde ich nichts ganz neues nehmen. Eher etwas, was es bereits einige Zeit auf dem Markt gibt. Dann wird es meist auch von vielen IDEs unterstützt und man kann viel Hilfe im Netz bekommen.
Ich steh auf dieses board hier. Mega328p+Debugger und alle Pins zugänglich so dass man es sogar an die offizielle arduino IDE anpassen kann. http://store.atmel.com/PartDetail.aspx?q=p:10500392#tc:description und das für 8.88$
mark schrieb: > dieses board hier. Mega328p+Debugger Und was hat das mit Cortex M zu tun? Mach mit Moby nen eigen Thread auf und flame da weiter. Markus schrieb: > mal mit den Cortex Arm Prozessoren spiele. Nur, mit welchem > sollte ich Anfangen: M3 oder M4? Nimm so ein Discovery Board von ST. M0 oder M4 ist am Anfang egal.
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.
cortexuser schrieb: > 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. https://launchpad.net/gcc-arm-embedded/+announcement/12983 : Features: * Support the new cpu cortex-m7.
Die Leistung eines M7 muss man aber erst mal benötigen, sonst ist das doch Geld- und Ressourcenverschwendung. STM32 F4 oder F0 (oder F1), enstprechend M4, M3 oder M0 sollten für den ersten Umstieg schon ordentlich Spielwiese und Reserven bieten. Wenn man aus der AVR-Welt kommt.
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.
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.
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.
>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.
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
> 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. ich habe schon die erstem engineering sample von ST. http://www.st.com/web/en/catalog/mmc/SC1169/SS1858
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.
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
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.
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.
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.
:
Bearbeitet durch User
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.
>> 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. Und du hast nicht verstanden was ich damit meinte.
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.
Rene T. schrieb: > Beim Toggeln von von Pins soll der Xmega wohl um Welten schneller > sein.. PS: Da die Xmega scheinbar nur 32MHz können, sind "schnelle" Cortex-M3 (zB 72MHz) dann doch wieder mindestens genauso schnell.
Der xmega ist doch kein Wettbewerb zum Cortex. Atmel hat eigene Cortex. Mit xmega soll die AVR-Schiene fortgeführt werden. Die größten Anstrengungen bei Atmel liegen aber momentan bei ARM.
@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.
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
@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.
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
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 ;-)
> 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 )
@Steffen H.: Wieviele Layer hat denn dein PCB mit dem TFBGA216? Mein Design hat 4 Lagen mit separaten VDD- und GND-Lagen. Bei SDRAM muss man bei 90 bzw. dann 100MHz (M7 Nachfolger) bei den für die Frequenz geringen Längendifferenzen noch nichts mäandern.
@Steffen Koepf: das Layout bei mir hat 8 Lagen Impedanz kontrolliert (mit Polar ). ( 85mm x 48mm ) 32MB SDRAM ( 32Bit ) NOR-Flash, High Speed USB, Ethernet Phy. > Bei SDRAM muss man bei 90 bzw. dann 100MHz (M7 Nachfolger) > bei den für die Frequenz geringen Längendifferenzen noch nichts > mäandern. bei mir schon.
Ich verwende die MCU in meiner Applikation mit 32M SDRAM, 8M SPI-Flash und TFT-Interface. USB und MicroSD gibts auch noch auf dem Board, das ist ca. 8x5 cm. Wieo mäanderst du denn bei SDRAM? Da sind doch einige Zentimeter Längendifferez noch im grünen Bereich.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.