Ich habe diese Frage vor gestellt. (Sie müssen es nicht lesen, um diese Frage zu beantworten.)
Sie sind sich nicht sicher, wohin Sie mit 8-Bit-AVRs gehen sollen
Die Antworten zur NXP-Reihe von Mikrocontrollern haben mir sehr gut gefallen. Ich bin dabei, in Hardware zu investieren, um mit ihnen zu spielen, und ich wollte sie in diesem Forum ausführen, um sicherzustellen, dass ich nicht zu viel bezahle oder den falschen Teil kaufe.
Der mbed chip interessiert mich nicht. Ich bevorzuge die Option, etwas mit der gesamten Reihe von Mikrocontrollern von Grund auf neu zu erstellen. Das heißt, ich muss einen Programmierer kaufen.
Ich interessiere mich für den ULINK2 von Keil. Es ist 411 CND auf digikey.ca. http://www.keil.com/ulink2/
Es lässt sich in die Keil-Entwicklungsumgebung integrieren. Wenn sich herausstellt, dass ich die Keil-IDE nicht verwenden kann oder möchte, kann ich dann ULINK2 mit FOSS unter Linux verwenden? Was ist mit Fenstern ohne Keil? Wenn ich mich jetzt entscheide, dass ich nicht mit Keil gehen möchte, lohnt es sich dann, einen anderen generischen JTAG-Programmierer zu kaufen?
Letztendlich ist das Ziel, kompilieren und programmieren zu können
- LPC2921 / 2923/2925 (ARM9) (dies ist die für mich am wenigsten wichtige Kategorie)
- Alle LPC21 / 22/23 (ARM7)
- Alle Cortex M0 und M3
Ich konnte keine Anweisungen zum Einrichten einer Toolchain und eines Flash / Debugger-Programms für NXP-Mikrocontroller finden, und das ist der einzige Grund, warum ich über Keil-bezogene Produkte spreche. Ich würde lieber nur GCC und einen anderen Uploader verwenden. Ich bin es gewohnt, nach AVRs zu suchen.
Welche Art von Setup verwendet ihr für ARM- oder NXP-UCs? Welche JTAG-Programmierer empfehlen Sie? Gibt es weitere Anweisungen für die FOSS-Toolchain oder andere Software, die ich kennen sollte?
quelle
Haben Sie das LPC1343 (Cortex M3) Board von Microbuilder ausgecheckt? ( http://www.microbuilder.eu/Projects/LPC1343ReferenceDesign.aspx )
Könnte ein billiges Sprungbrett sein, um sich mit ARM-Entwicklungsumgebungen vertraut zu machen. Sie können das Programm einfach über USB hochladen (es wird als USB-Flash-Laufwerk angezeigt und Sie legen einfach Ihre Hex-Datei dort ab).
Microbuilder bietet auch Tutorials, mit denen Sie mit kostenlosen Tools (Codelite / YAGARTO) arbeiten können.
quelle
LPC2138 / 48 wäre ein guter Anfang. Es gibt viele Beispiele für diese Mikros.
quelle
Ich verwende Rowley CrossWorks mit ihrem CrossConnect Pro für die ARM-Entwicklung. Der Support ist sehr gut.
quelle
Nicht allzu vertraut mit allen Optionen, aber stellen Sie sicher, dass Sie etwas bekommen, das JTAG und SWD unterstützt - später verwenden Cortex-Teile letztere, die weniger Pins für das Debuggen verwenden.
quelle
Sie können Yagarto verwenden, um für jeden ARM-Mikrocontroller zu kompilieren (NXP natürlich enthalten), und ich habe dies für NXPs lpc4330 getan. Yagarto unterstützt jedoch nur Soft Floating Point (zumindest habe ich versucht, es für harte FP zu verwenden, und es beschwert sich wegen mangelnder Unterstützung, daher muss ich davon ausgehen, dass es nicht mit eingebauten harten FP kompiliert wurde). Wenn Sie jemals Hard Floating Point verwenden möchten (mein NXP lpc4330 unterstützt dies), müssen Sie Ihren eigenen Compiler erstellen oder IAR, Keil oder einen anderen vorgefertigten Compiler verwenden, der Hard Floating Point unterstützt. Nur etwas zu beachten. Außerdem ist lpc_dfu nützlich, wenn Sie nicht in einer Windows-Umgebung entwickeln und etwas in SPIFI flashen möchten. Funktioniert sehr gut.
Grundsätzlich benutze ich:
dfu-util -> Sie benötigen dies, um zu sprechen und etwas an den Bootloader von NXP zu senden. Außerdem müssen Sie -L verwenden, um den LPC-Header hinzuzufügen (zumindest für den lpc4330 ... Vielleicht sind die anderen anders, aber ich würde nicht denken, dass NXP ihren Bootloader so stark ändern würde).
lpc_dfu -> Ich verwende dies, um mit dem Spi-Flashing-Tool von NXP zu sprechen. Sie senden das Tool zuerst mit dfu-util, dann flashen Sie Ihren Code.
gcc -> Ich habe hier mein eigenes gebaut, aber wie ich oben sagte, funktioniert Yagarto (ich habe es benutzt), und es gibt ein paar andere, die Sie bekommen können. Grundsätzlich funktioniert hier fast alles, was sich als ARM-Binärdatei herausstellt. Machen Sie sich jedoch mit Linker-Skripten vertraut. Wenn Sie dies nicht tun, werden Sie sich fragen, warum Ihr Prozessor nicht funktioniert. Wenn Sie jedoch AVR verwendet haben, sind Sie wahrscheinlich bereits mit diesen vertraut, obwohl es eine Reihe von Tools für AVR-Produkte gibt, also möglicherweise nicht. Es ist jedoch ziemlich einfach, Linker-Skripte für die NXP-Produkte zu schreiben. Und ich mag es genau zu wissen, wohin mein Code geht.
Wenn Sie sich entscheiden, etwas wie OpenOCD mit dem lpc4330 zu verwenden (ich habe einen lpc4330-xplorer, der ziemlich nett ist. Hat ein paar Probleme, aber es hat mich dazu gebracht, ihren lpc4330-Chip wirklich zu mögen. Ich LIEBE den SCT. Das ist ein wirklich schönes Peripheriegerät. ), beachten Sie, dass möglicherweise ein Problem vorliegt. Mein lpc4330-xplorer muss normalerweise 2 Resets haben, wenn ich von SPI Flash boote. Dies führt zu OpenOCD-Schwierigkeiten. Andere NXP-Demo-Boards oder Chips haben dieses Problem wahrscheinlich nicht, aber es ist etwas, das Sie beim lpc4330 beachten sollten. Wie auch immer, ich hoffe, Sie finden das richtige Setup für Sie.
quelle