Verwendung von LPCxpresso mit Barebones LPC4337 Board

Ich habe kürzlich bei eBay ein Entwicklungsboard gekauft , mit dem ich mit dem Dual-Core-Prozessor LPC4337 ARM M4/M0 von NXP arbeiten kann.

Ich habe Erfahrung mit uVison4 von KEIL, für das FRDM-KL25 von Freescale, obwohl ich lieber die LPCxpresso-Umgebung von NXP verwenden würde.

Bei KEIL brauchte ich nur:

  • Die Chip-Header-Datei, die nur voller Makros für Definitionen war (wie LPC43xx.h)
  • Die Datei startup_(Chipname).S
  • und die Datei system_(Chipname).c/.h

Wenn ich diese hätte, könnte ich ein main.c-Programm machen, sie einbinden und Boom, ich bin weg und arbeite. Der Hauptgrund, warum ich KEIL in dieser Anwendung nicht verwenden möchte, ist, dass ihre Multi-Core-Unterstützung lückenhaft ist, während LPCxpresso von NXP entwickelt wurde, um die Multi-Core-Entwicklung zu unterstützen.

Bei LPCxpresso ist es nicht dasselbe wie bei einem Bare-Bones-Projekt. Angeblich werden einige Dateien generiert, die in die Entwicklungsumgebung eingebunden sind, und es wird nicht genau erklärt, was ich mit diesen Dateien zu tun habe.

NXP hat viele Codebeispiele, die alle vollständige Treiber und alles haben. Normalerweise wäre das großartig, obwohl ich meine eigenen Treiber schreiben möchte, da ich mit so wenig Overhead wie möglich genau wissen möchte, was los ist.

Ich habe in den LPCware-Foren nachgefragt , aber entweder waren sie nicht sehr hilfreich oder ich habe sie einfach nicht verstanden. Dieser Typ schien ein ähnliches Problem zu haben, aber er hat kein aktualisiertes Projekt mit allem, was er zum Laufen gebracht hat, gepostet.

Mein Punkt ist, dass es mir wirklich schwer fällt, ein Minimalarbeitsprojekt zum Laufen zu bringen, wie ich es in KEIL könnte. Hat das jemand geschafft? Oder welche Dateien brauche ich?

uVison 5 unterstützt LPC4337 und Sie können auch den Header dafür von hier bekommen: keil.com/dd/chip/7312.htm Warum holen Sie sich nicht uVison 5?
Ich habe uVision5 kurz nach seiner Veröffentlichung ausgecheckt und es schien immer noch fehlerhaft zu sein. Zu diesem Zeitpunkt hatte ich noch keine Erfahrung mit ARM, also war ich vielleicht nur ein Noob. Ich habe mir den Header angesehen, den Sie zuvor verlinkt haben. Wenn Sie sich diesen und dann den anderen Header für den Cortex M0-Kern im 4337 ansehen, handelt es sich um genau denselben Header. Ich bin mir nicht sicher, was ich davon halten soll.
Aber in diesem Header, den ich erwähnt habe, können Sie einige Makros sehen, die Unterschiede zwischen zwei Kernen machen (für die Codierung). Wenn Sie keine Erfahrung mit ARM haben, empfehle ich Ihnen, für den Anfang besser einen einfachen Cortex-M0 zu wählen.
Ich habe jetzt ein gutes Stück Erfahrung. Das ist mir nicht aufgefallen. Der Online-Textunterschiedsprüfer muss gerade abgestürzt sein, weil er nichts zurückgegeben hat, und ich dachte, das bedeutet, dass es keinen Unterschied gibt. Ich werde das überprüfen
Obwohl ich jetzt wahrscheinlich KEIL MDK5 verwenden werde, weiß ich, dass es einige andere Entwickler geben wird, die LPCxpresso auf diese Weise verwenden möchten. Wenn also jemand eine Antwort hat, posten Sie sie bitte.

Antworten (1)

Ok, ich würde Ihnen etwas sagen, aber jetzt versuche ich, auf Ihre Frage zu antworten.

Zuerst, welcher Compiler (oder IDE) ist besser? keil oder LPCxpresso?

Es hängt ganz von deinem Job und dir selbst ab. Nun, es gibt viele Funktionen für jeden von ihnen. für LPCxpresso:

  • Vollständige integrierte C/C++-Entwicklungsumgebung
    • Eclipse-basierte IDE mit vielen benutzerfreundlichen Verbesserungen
    • Die IDE kann mit vielen Eclipse-Plugins weiter verbessert werden
    • Eingebaute CVS-Quellcodeverwaltung; Git, Subversion, TFS und andere stehen zum Download bereit
    • Befehlszeilentools für die Integration in Build-, Test- und Fertigungssysteme enthalten
  • GNU-Toolchain nach Industriestandard, einschließlich
    • C- und C++-Compiler, Assembler und Linker
    • Konverter für SREC, HEX und binär
  • Voll ausgestatteter Debugger, der JTAG und SWD unterstützt
    • Eingebaute Flash-Programmierung
    • Debuggen auf hoher Ebene und auf Anweisungsebene
    • Ansichten von CPU-Registern und On-Chip-Peripheriegeräten
    • Unterstützung für mehrere Geräte in der JTAG-Scan-Kette
  • Bibliotheksunterstützung
    • Redlib: eine eingebettete C-Bibliothek mit geringem Platzbedarf
    • Newlib: eine vollständige C- und C++-Bibliothek
    • Cortex Microcontroller Software Interface Standard (CMSIS) Bibliotheken und Quellcode
    • Volle Unterstützung für LPCOpen-Bibliotheken
  • Gerätespezifische Unterstützung für ARM-basierte MCUs von NXP (einschließlich Cortex-M-, ARM7- und ARM9-basierter Teile)
    • Automatisch generierte Linker-Skripte für die korrekte Platzierung von Code und Daten in Flash und RAM
    • Startcode und Geräteinitialisierung bereitgestellt
    • Bei Cortex-M-basierten MCUs ist kein Assembler erforderlich
  • Rote Spur
    • Red Trace ermöglicht Debugging auf Befehlsebene über Embedded Trace Buffer (ETB) oder Micro Trace Buffer (MTB)
  • Red State Machine Designer und Codegenerator
    • Gestalten Sie Ihre Zustandsautomaten grafisch
    • Generiert Standard-C-Code
    • Konfiguriert NXP State Configurable Timer (SCT) sowie unterstützende Software-Zustandsmaschinen

für Keil:

  • Feature Die µVision Device Database konfiguriert automatisch die Entwicklungswerkzeuge für den Ziel-Mikrocontroller .:Nutzen:. Fehler bei der Werkzeugeinstellung werden praktisch eliminiert und die Werkzeugkonfigurationszeit wird minimiert.
  • Feature Die µVision IDE integriert zusätzliche Tools von Drittanbietern wie VCS, CASE und FLASH/Device Programming .:Nutzen:. Dadurch können Sie von einer einzigen Umgebung aus schnell auf alle Ihre Entwicklungstools (Entwicklungstools und Tools von Drittanbietern) zugreifen. Alle Konfigurationsdetails werden im µVision-Projekt gespeichert.
  • Feature µVision vereint Projektmanager, Editor und Debugger in einer einzigen Umgebung .:Nutzen:. Beschleunigt die Anwendungsentwicklung. Während der Bearbeitung können Sie Debugger-Funktionen konfigurieren. Während des Debuggens können Sie Änderungen am Quellcode vornehmen.
  • Funktion Identische Ziel-Debugger- und Simulator-Benutzeroberfläche .:Vorteil:. Verkürzt Ihre Lernkurve.
  • Feature Das Code Coverage Feature des µVision Simulators bietet eine statistische Analyse der Ausführung Ihres Programms .:Nutzen:. Sicherheitskritische Systeme können umfassend getestet und validiert werden. Ausführungsanalyseberichte können für Zertifizierungsanforderungen angezeigt und gedruckt werden.
  • Feature Der µVision Simulator ist der einzige Debugger, der alle On-Chip-Peripheriegeräte der Atmel-, Philips- und Samsung-Smartcard-ARM-Geräte vollständig simuliert.:Nutzen :. Auf diese Weise können Sie Anwendungscode schreiben und testen, bevor Produktionshardware verfügbar ist. Sie können verschiedene Hardwarekonfigurationen untersuchen, um das Hardwaredesign zu optimieren.
  • Feature- Simulationsfunktionen können mit dem Advanced Simulation Interface (AGSI) erweitert werden.:Vorteil :. Ihre anspruchsvollen Systeme können durch Hinzufügen Ihrer eigenen Peripherietreiber genau simuliert werden.

Außerdem können Sie hier die Vorteile des µVision Simulators sehen .

Wenn Sie mich nach der Auswahl des Compilers fragen, möchte ich den Keil wählen, weil diese Firma eine größere und ältere Erfahrung im Entwerfen und Erstellen der IDEs und Compiler hat und ich auch einige Nachteile für LPCxpresso sehe. Zum Beispiel scheint es keine Nicht-NXP-Produkte (ST und TI und Freescale usw.) zu unterstützen, und Sie können nicht viele Berater und Experten finden, um mit ihnen zu sprechen, um Ihre Probleme zu lösen. Wenn Sie andererseits nur die NXP-Produkte verwenden möchten, ist der LPCxpresso meiner Meinung nach besser als der Keil.

NXP hat viele Codebeispiele, die alle vollständige Treiber und alles haben. Normalerweise wäre das großartig, obwohl ich meine eigenen Treiber schreiben möchte, da ich mit so wenig Overhead wie möglich genau wissen möchte, was los ist.

Warum!? Verschwenden Sie nicht Ihre Zeit, Shannon! Es gibt viele HAL (Hardware Abstraction Layer (Standard Peripheral Library)), die Sie sich ansehen können und mit so wenig Overhead wie möglich genau wissen, was los ist. zum Beispiel: die HAL-Bibliothek des Unternehmens Ihrer MCU oder CMSIS oder MBED.org lib und oder etc.

eine Empfehlung für die Auswahl des Compilers:

Wenn Sie genug Geld haben, können Sie IAR (IAR Embedded Workbench for ARM) von IAR Systems kaufen . Ich habe gehört, dass es der beste Compiler ist, aber man muss genug Geschick haben, um damit zu arbeiten.

Ich hoffe, dies wird dir helfen. Wenn Sie noch Fragen haben, dann fragen Sie im Kommentar und wenn mein Wissen ausreicht, werde ich Ihnen antworten.

Referenz:

Keil Wikipage

Vorteile der µVision IDE für ARM

Vorteile des µVision Simulators für ARM

LPCXpresso-Startseite

MBed