Ich verwende seit einigen Jahren 8-Bit-AVRS. In letzter Zeit habe ich mich durch die Geschwindigkeit der peripheren Datenübertragung und die Bibliotheken höherer Ebenen eingeschränkt gefühlt.
Ich habe Probleme, eine neue Reihe von Mikrocontrollern zu finden / auszuwählen, die ich erkunden möchte. Ich habe angeschaut
- NXP - Ich kann keinen Programmierer finden
- Freescale - Müssen sich für IDE registrieren
- AVR32 - Begrenzte Chipauswahl bei Digikey
Die NXP-Chips sehen wirklich gut aus, aber wie bei allem, was nicht PIC / AVR / Ardiuno ist, ist die Lernkurve ziemlich steil.
Ich habe mich gefragt, ob jemand eine Reihe von Mikrocontrollern vorschlagen könnte, die (in der Reihenfolge ihrer Wichtigkeit) die folgenden Anforderungen erfüllen
- Handlötbare Chips. (Ich kann LQFP 100 machen)
- 32 Bit
- Linux-Host
- Kostenlose Toolchain
- Gute / kostenlose IDE
- <500 $ Startkosten für unbegrenztes Programmieren / Debuggen / Kompilieren
- Kann unterstützen
- Ethernet / USB-Unterstützung
Ich bin bereit, mir Freescale und NXP noch einmal anzuschauen, wenn mir jemand zeigen kann, dass ich einige Informationen über ihre Toolchain und Programmierer verpasst habe. Ich denke, man könnte sagen, AVR32s sind genau das, wonach ich suche, aber ich bin einfach nicht zufrieden mit ihrer Chipauswahl. Sie haben alle höhere Pin-Zahlen und einen geringen Bestand an Digikey.
Vielen Dank.
quelle
Antworten:
Ich würde NXP auf jeden Fall empfehlen - eine gute Auswahl an Chips, gute Peripheriegeräte (UART mit flexiblem Baudgen und FIFOS, SPI mit FIFO usw.), ausgezeichnete Dokumentation * und flexible Programmieroptionen. Holen Sie sich einen JTAG / SWD-Debugger (Cortex-Teile verwenden SWD - weniger Pins als JTAG und können beispielsweise Haltepunkte setzen, während sie ausgeführt werden). Ich verwende die kostenlose Kickstart-Version der eingebetteten IAR-Workbench - diese hat ein 32-KB-Code-Limit, was für mich in Ordnung ist, aber beachten Sie, dass die Aktualisierungen der Codegröße teuer sind. Viele Leute scheinen mit GCC / winarm in Ordnung zu sein. Einige Cortex-Teile (z. B. LPC1343) können mithilfe des integrierten Bootloaders Firmware von einem USB-Stick laden. Die Verfügbarkeit von Teilen ist im Allgemeinen gut - ich hatte nie Probleme, Lagerbestände zu finden. Es gibt auch viele Devboards / Breakouts für NXP-Teile.
quelle
ARM, ARM, ARM.
ARM lizenziert ihre Prozessorkerne an viele Unternehmen. Dies bedeutet, dass Sie gute Tools, Support und Dokumentation aus mehr als einer Quelle finden.
PIC, AVR und MSP430 leiden alle unter dem Problem, zu 100% im Besitz eines Unternehmens zu sein.
Beachten Sie bei ARM-Mikrocontrollern, dass ein Cortex-M3 von NXP einem Cortex-M3 von ST oder Luminary näher kommt als ein ARM9 oder ARM7TDMI von NXP. In den meisten Fällen sind Compiler, Debugger und Programmierer eher kernübergreifend als herstellerübergreifend.
Wenn Sie die Codesourcery GCC ARM-Toolchain und einen billigen ARM JTAG-Dongle erwerben, sind Sie auf einem langen Weg.
quelle
Ich würde mich für NXP entscheiden. In kurzer Zeit ist Cortex-M3 zum Standard für ARM-Controller geworden (ich gehe davon aus, dass Sie mit Freescale Coldfire meinen). Seit ARM7TDMI hat NXP auch die Tradition einer umfangreichen Gerätefamilie zur Auswahl.
Wie bei einem Programmierer für NXP sollte IMO jeder JTAG-Programmierer die Arbeit erledigen (CMIIW).
edit
Ich lese gerade über mbed , was der einfachste Weg ist, um mit dem NXP Cortex M3 zu beginnen (der verwendete Controller ist LPC1768). Sie programmieren / kompilieren online (Linux ist also kein Problem) und programmieren über USB (das Gerät wird als Massenspeichergerät angezeigt, auf das Sie Ihr kompiliertes Programm kopieren können). Kein Programmierer erforderlich. Für mbed geschriebene Programme sollten direkt auf LPC1768s auf anderen Karten portierbar sein.
quelle
Probieren Sie die 16-Bit-PIC24- und dsPICs aus. Viele von ihnen sind in DIL verfügbar und liefern bis zu 40 MIPS. Kostenlose Entwicklungssoftware ist verfügbar und der PICkit 3-Debugger / Programmierer ist mit 50 US-Dollar recht günstig. Die nächste Version von MPLAB wird Linux unterstützen, eine Beta-Version ist verfügbar.
quelle
Ich dachte, Sie könnten kostenlose Tools für ARMs erhalten. Die Programmierung sollte über den seriellen Bootloader oder (offenes) JTAG erfolgen. Es gibt einige STM32- und NXP-Chips und -Module, die ich mir angesehen habe und die diesen Eindruck hinterlassen haben.
Ich wurde auch an diese Frage erinnert .
quelle
Wenn Sie wirklich 32-Bit verwenden möchten, probieren Sie die PIC32 aus. Hohe Verfügbarkeit von Microchip. Für das Linux-Debugging befindet sich MPLAB X in Beta 4 und unterstützt Linux, Windows und Mac OS X. Ich denke, Sie benötigen auch ein PICkit 3 oder einen ähnlichen Programmierer für 50-60 US-Dollar.
Ich würde mich jedoch eher für die 16-Bit-dsPICs und PIC24s interessieren, da sie viel billiger sind, mit einem PICkit 2 debuggt werden können und einfach zu programmieren sind. Sie sind auch in DIP-Paketen verfügbar, obwohl dies für Sie keine Rolle spielt (?). Ich bin etwas voreingenommen gegenüber ihnen, da ich sie in meinem Projekt verwende.
quelle
Der einzige 32-Bit-Prozessor, der derzeit in einem DIP-Paket hergestellt wird, ist der Parallax Propeller . (Der gleiche Chip ist auch in viel kleineren 44-Pin-QFP- und 44-Pin-QFN-Gehäusen mit 32 Allzweck-E / A-Pins erhältlich.) Es gibt auch einige Entwicklungstools dafür, die unter Linux laufen .
So erfüllt es leicht Ihre ersten 2 Kriterien und die meisten (leider nicht alle) Ihrer verbleibenden Kriterien.
quelle
Schauen Sie sich FEZ Domino an . Es erfüllt nicht alle Ihre Anforderungen, bietet aber eine Menge, wenn Sie keine niedrigstmögliche Levelkontrolle benötigen.
quelle
Die Chips der Cypress PSoC-Serie bieten eine Kombination von Funktionen, die ich bei keinem anderen IC gesehen habe.
Der PSoC5-Chip enthält einen 32-Bit-ARM-Cortex M3, aber soweit ich das beurteilen kann, sind sie alle in so etwas wie einem TQFP100 verpackt. Die PSoC1- und PSoC3-Chipserien enthalten viele DIP-Chips, aber alle haben den einen oder anderen 8-Bit-Kern.
Zusätzlich zur CPU verfügt der Chip über eine programmierbare Verbindung wie ein kleines FPGA und einige analoge Operationsverstärker auf dem Chip.
http://www.psocdeveloper.com/
quelle
Atmel ARMs können meistens die Rechnung passen
Sie kommen in TQFP, und Sie können eine der kleineren mit 64-Pin verwenden.
Prüfen
Ich entwickle ausschließlich unter Linux
GCC ARM Toolchain, die jetzt mit Build-Skripten wie der Summon Arm Toolchain einfacher einzurichten ist.
Du hast mich da. Vermutlich könnte man Eclipse oder vielleicht Kdevelop einrichten, um den Job zu erledigen, aber ich habe es nicht versucht. Ich benutze Vim und Kate.
Das Programmieren und Kompilieren würde Sie etwa 100 US-Dollar kosten, um ein Minimal-Board zu prototypisieren. Die Chips werden mit einem eingebauten Bootloader im ROM geliefert, mit dem Sie den Chip programmieren können. Sie benötigen keinen Debugger, um es zu programmieren. Sie können den Atmel-Markensegger (und den gesperrten Segger) für etwa 100 $ kaufen. Wenn Sie es sich leisten können, würde ich vorschlagen, nicht einen gesperrten zu kaufen, sondern die 200 oder 300 für den entsperrten zu bezahlen. Es gibt auch andere Optionen, die viel billiger sind, die ich nicht ausprobiert habe. Das usbprog sieht sehr vielversprechend aus.
Ziemlich sicher, dass es da ist, obwohl Sie überprüfen sollten, um sicher zu sein. Ich benutze es nicht, also bin ich mir nicht sicher, ob alle es haben.
USB-Unterstützung ist da. Die Ethernet-Unterstützung muss extern hinzugefügt werden. Es gibt jedoch viele Beispiele zur Auswahl.
quelle
Ich verwende das lpc4330-xplorer-Demo-Board für NXPs LPC4330. Ich verwende eine handgefertigte Toolchain, aber Sie können Yagarto (wenn Sie sich nicht für harte FP interessieren) oder einen ARM-Compiler verwenden, wenn Sie sich in die Linker-Skripte vertiefen können. NXP verfügt über einige wirklich raffinierte Peripheriegeräte wie den State Configurable Timer (Sie können lesen: Funktionsgenerator), der in der Lage ist, eine ganze Reihe von Dingen zu erledigen. Sie haben auch einige nette SGPIOs. Zusätzlich haben sie eine Vielzahl von Timern an Bord. Es ist auch ein Doppelprozessor (M4-M0-basierter Chip). Natürlich ist ihre gesamte LPC-Linie ziemlich nett.
Um fair zu sein, die Cypress pSOC-Linie sieht auch gut aus, aber ich hatte keine Chance, sie zu verwenden. Die anderen haben definitiv ihre Verwendungszwecke und Zielgruppen, aber ich verwende eine Linux-Entwicklungsumgebung, keine IDE und eine Handvoll Befehlszeilentools. Ich wähle diesen Weg, weil es mir leichter fällt, das Problem aufzuspüren, wenn etwas schief geht, und das ausnahmslos, wenn ich keine Schichten von Werkzeugen zurückziehen muss. Plus, keine Code-Grenzen. Und obwohl die Internet-Suche nicht sehr klar ist, wird die LPC-Linie von Open Source ziemlich gut unterstützt.
Schließlich liefert LPC in LPCOpen eine angemessene Menge an Beispielcode. Um fair zu sein, wenn Sie möchten, dass es mit Open Source-Tools kompiliert wird, ist ein wenig Arbeit erforderlich, aber es ist nicht schwierig. Sie hatten sogar ein ziemlich schönes Beispiel für einen Webserver in ihrem. Sie haben auch ein SCT-Kochbuch (das SCT braucht ein wenig, um es zu verstehen, aber wenn Sie es einmal getan haben, ist es wirklich schön), aber es kann ein bisschen dauern, bis Sie die Beispiele durchgearbeitet haben, und die SCT-Beispiele in LPCOpen sind erbärmlich. Es lohnt sich jedoch, die NXP-Chips zum Laufen zu bringen. Ich verbringe sogar ein wenig Zeit mit NuttX (ich hatte die ganze Zeit den Bare-Metal-Code satt) und dem lpc4330-xplorer.
Wie auch immer, viel Glück mit was auch immer Sie wählen.
quelle
Hier sind meine Optionen:
quelle