Welche ARM-MCU-Familie ist besser für Anfänger?
Ich meine welche Familie:
Aktualisieren:
1.Ist es eine gute Idee, mit Cortex-M4 zu beginnen? (wegen ARMv7, Harvard Mem Arch etc)
Ja, warum nicht? Wenn Sie in der C-Sprache programmieren, werden Sie den Unterschied meiner Meinung nach nicht spüren (nur der Compiler wird es tun). Wenn Sie dagegen in Assembler programmieren, gibt es natürlich Unterschiede.
2. zwischen NXP-, ST- und TI Cortex-M4-basierten MCUs, was ist für den Anfang besser? (basierend auf den oben genannten Anforderungen)
Von diesen MCU kenne ich nur die TI Tiva MCU. Sie können das kostengünstige LaunchPad TM4C123G der C-Serie von Tiva kaufen. Auf diesem Launchpad befinden sich zwei MCU. Einer von ihnen fungiert als Programmierer und Sie können ihn, falls gewünscht, zum Programmieren/Debuggen einer externen Tiva C MCU verwenden.
Sie können eine Arduino-ähnliche Programmier-IDE namens Energia verwenden, um einfache Anwendungen sehr schnell zu programmieren. Für komplexe Anwendungen sollten Sie Code Composer Studio (CCS) verwenden, das unter bestimmten Bedingungen kostenlos ist (einer davon verwendet es mit langsamen Programmierern wie dem im Launchpad). Aktuelles CCS (Version 6) ermöglicht die einfache Installation von Bibliotheken und Beispielen. Kostenlose Bibliotheken, die es ermöglichen, "einfach" (dies ist natürlich relativ) mit Peripheriegeräten innerhalb der MCU zu arbeiten, mit externen Peripheriegeräten zu kommunizieren oder ein RTOS (Echtzeitbetriebssystem) zu haben.
Vieles davon hängt davon ab, was Sie unter "Familie" verstehen.
Wenn Sie fragen, welche Produktfamilie des Herstellers ein guter Ausgangspunkt ist, würde ich die SAM-Serie von Atmel im Grunde wegen der Toolchain empfehlen, zumindest wenn Sie Windows verwenden.
ARM ist leider ziemlich fragmentiert, was Herstellersupport und Toolchains für Windows angeht.
Atmel hat Atmel Studio , das Sie installieren und es funktioniert im Grunde einfach. Ich verbrachte eine Weile damit, mit STM32-Teilen herumzustöbern, bevor ich einige Atmel-Geräte ausprobierte, und es war ein großer Ärger, eine funktionierende Toolchain zu bekommen. Ich habe CooCox schließlich zum Laufen gebracht , aber es gibt sehr wenig First-Party-Support. Atmel Studio funktioniert direkt nach der Installation. Das ist nett, weil es erforderlich sein kann, GCC unter Windows zum Laufen zu bringen.
Wenn Sie mit MCU-Entwicklung überhaupt nicht vertraut sind, kann ich ARM überhaupt nicht empfehlen. Sie müssen auf jeder Plattform viel zwischen den Zeilen lesen, damit die Peripheriegeräte funktionieren.
Der ARM Cortex M0 ist die niedrigste und einfachste Architektur in der ARM-Familie.
Persönlich habe ich mit dem Entwicklungsboard FRDM-KL25z von Freescale gelernt, obwohl es eine Vielzahl von Optionen gibt.
Es gibt eine Arduino-ähnliche Umgebung namens mBed, die Arduino sehr ähnlich ist, obwohl sie für ARM-Controller gedacht ist. Sie können mBed mit vielen verschiedenen Controllern wie dem Teensy und sogar dem von mir erwähnten FRDM-Entwicklungsboard verwenden.
Wenn Sie nicht nach einer Arduino-ähnlichen Umgebung suchen, können Sie das von mir erwähnte FRDM-Entwicklungsboard von Freescale verwenden, das über eine kostenlose Entwicklungsumgebung verfügt, die einen Codegenerator namens Processor Expert enthält. Mit Processor Expert können Sie Komponenten und Kommunikationsprotokolle spezifizieren und dann den Rohcode für Sie generieren. Der Code ist immer noch Bare-Metal-Code und wird dem Code sehr ähnlich sein, den Sie schreiben würden, wenn Sie Processor Expert nicht verwenden würden.
Eine weitere sehr beliebte Linie, insbesondere bei den Benutzern hier bei EE.SE, ist die Discovery-Reihe von Entwicklungsboards von ST Microelectronics.
Kurz gesagt, für Einsteiger würde ich die Cortex-M0-Serie sehr empfehlen. Der Cortex-M0+ hat den gleichen Befehlssatz, obwohl er optimierter ist.
Flippiger Typ
PkP
Lesto
PkP
Wouter van Ooijen
Matt Jung
PkP
Flippiger Typ
PkP
Flippiger Typ
Nick Alexejew