Erste Schritte mit NXP-Mikrocontrollern - Programmierern / IDEs / Compilern / Eval-Boards


7

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?

Antworten:


2

Für den professionellen Einsatz sind IAR, Keil oder Rowley CrossWorks die wichtigsten Optionen. Keil gehört ARM, was ihnen einen leichten Vorteil verschaffen kann oder nicht. Ich würde sagen, die Leistung zwischen IAR und Keil ist nahezu identisch. Rowley ist ein Schnäppchen der 3. Rowley lässt Sie auch billigere Debugger wie den J-Link verwenden. Möglicherweise können Sie den J-Link auch mit IAR verwenden, aber ich denke, Keil zwingt Sie dazu, die Ulink-Produkte zu verwenden, die etwas teurer sein können. Was die Unterstützung angeht, glaube ich, dass Rowley nur über ihre Website geht. IAR und Keil bieten Telefonunterstützung für ca. 1 Jahr an. Nach allem, was mir gesagt wurde, scheint Keil in den USA eine bessere Unterstützung zu bieten, während sich IAR mehr auf Europa konzentriert. Ich habe Keil ohne Probleme benutzt und die Unterstützung war gut. Davon abgesehen wird jede dieser 3 wahrscheinlich genauso gut abschneiden.


Ich habe 10 Jahre lang ausschließlich Keil verwendet und fand den Compiler, die Hardware und den Support sehr gut. Sie sind jedoch die teuersten der 3, die Sie erwähnen!
BullBoyShoes

3

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.


+1: Ich wusste nichts über YAGARTO, danke. Microbuilder ist auch eine schöne Seite. Danke noch einmal. Sie interessieren sich nicht für ihre Referenztafeln, da sie in derselben Kategorie wie mbed sind und YAGARTO für Fenster war. Ich weiß, dass ich eine Arm-Toolchain unter Linux erstellen kann. Ich habe es bereits getan, aber ich weiß nicht, ob ich spezielle Dinge an einer Toolchain für NXP-Mikros tun muss. Habe auch keine Ahnung, wie man einen JTAG-Programmierer / Debugger unter Linux benutzt.
Chris H

Haben Sie sich OpenOCD angesehen?
XTL

1

LPC2138 / 48 wäre ein guter Anfang. Es gibt viele Beispiele für diese Mikros.


1
Können Sie uns mit diesen Beispielen verknüpfen?
Kortuk

1

Ich verwende Rowley CrossWorks mit ihrem CrossConnect Pro für die ARM-Entwicklung. Der Support ist sehr gut.


Gib uns Links! Sie helfen Benutzern, direkt
einzutauchen

0

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.


0

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.