Kann ein Hobby-ARM-Setup so einfach sein wie dieses AVR?

8

Mir gefällt, wie einfach ein Atmel AVR-Setup für die Assembler-Programmierung für Bastler sein kann. Zum Beispiel:

  • Legen Sie einen einfachen ATmega DIP-Chip {A} auf ein Steckbrett
  • Schließen Sie 6 Pins an einen USB-Programmierer {B} an , der an einen Computer angeschlossen ist ( z . B. ). (Der Chip wird sowohl während des Schreibens als auch während des normalen Betriebs von einem Teil dieser Verbindung mit Strom versorgt.)
  • Schreiben Sie ein Assembler-Programm mit einem beliebigen Texteditor.
  • Stellen Sie das Programm mit avra {C} zusammen
  • Schreiben Sie das Programm mit avrdude {D} auf den Chip

Ist die ARM-Welt nur grundlegend höher / komplexer oder können Sie mir Äquivalente für {A} {B} {C} und {D} nennen, die eine ähnlich einfache Einrichtung ermöglichen würden? Alles, was nur Windows ist, ist für mich nicht relevant.

Vielen Dank.

Hinweis: Das Motiv des einfachen Setups ist die Assembly-Programmierung, und ich möchte Compiler und IDEs vollständig umgehen.

xyz
quelle

Antworten:

6

Die Entwicklung von ARM-Mikrocontrollern ist etwas komplexer. Aber nur wirklich, weil DIP-Pakete im Allgemeinen nicht verfügbar sind.

Wenn Sie bereit sind, ein Entwicklungsboard zu verwenden, kann die ARM-Entwicklung noch einfacher sein.

Das mbed ist ein ARM-Mikrocontroller auf einer DIP-förmigen Platine.

Der C / C ++ - Compiler ist webbasiert und die Karte wird als USB-Massenspeichergerät angezeigt. Sie laden Code herunter, indem Sie ihn von Ihrem Browser auf dem mbed speichern. Noch einfacher als ein grundlegendes AVR-Setup.

Sobald Sie aus diesem Setup herausgewachsen sind, können Sie gcc lokal auf Ihrem PC ausführen und trotzdem über USB hochladen. Danach können Sie mit OpenOCD zu JTAG wechseln.

Toby Jaffey
quelle
Vielen Dank. Das Motiv des einfachen Setups ist die Assembly-Programmierung, und ich möchte Compiler und IDEs vollständig umgehen.
XYZ
Das Bett würde immer noch gut passen. Laden Sie eine Toolchain herunter (z. B. Codesourcery) und erstellen Sie mit dem GNU-Assembler eine ELF-Binärdatei. Kopieren Sie sie dann über USB auf das mbed.
Toby Jaffey
Weiß jemand, ob Arduino wie mbed EMV-getestet wurde ?
Federico Russo
Es gibt viel kostengünstigere Optionen als mbed - 10-Dollar-Evaluierungs- / Programmiermodule und Cortex-M3- oder M0-Chips mit UART-Boot-ROMs, für deren Betrieb nur ein einziger Widerstand und die üblichen Bypass-Kappen erforderlich sind. Dies erleichtert den Übergang vom Experiment zur Anwendung erheblich.
Chris Stratton
mbed ist Software, kein Board oder Chip.
Melab
5

Schauen Sie sich mbed an . Es wird eine Online-IDE verwendet, sodass Sie nicht auf Windows beschränkt sind. Jede Plattform, die einen Browser anbietet, reicht aus. Sie ziehen Ihren kompilierten Code einfach auf den mbed-Controller, der als USB-Speichergerät auf Ihrem Computer angezeigt wird.

Zu installierende Software: Null. Hardwareanforderungen: ein USB-Anschluss.

stevenvh
quelle
Vielen Dank. Das mbed sieht interessant aus, und ich sehe es mir anhand Ihrer und Tobys Antworten an.
XYZ
5

a) Kaufen Sie entweder einen LPC1114 (DIP28W), löten Sie einen ARM-Chip auf eine geeignete DIP-Bereakout-Platine oder kaufen Sie eine fertige Header-Platine

b) Verbinden Sie die entsprechenden Stifte mit einem geeigneten Programmierer. Für die meisten LPC-Chips reicht ein USB-zu-3v3-serieller Konverter aus

c) Kompilieren Sie Ihr Programm mit einer geeigneten Toolchain. Codesourcery ist mein Favorit. Vergessen Sie asm, wechseln Sie zu C ++ (oder zu C, wenn Sie den großen Schritt jetzt nicht richtig machen möchten). (Sie müssen nicht einmal zu ARM wechseln, um dies zu tun)

d) Verwenden Sie das entsprechende Werkzeug nach Ihrer Wahl unter b). Mein Favorit ist lpc21isp. Wenn Sie einen LPC1343 verwenden, schließen Sie ihn einfach an USB an, kopieren Sie Ihre Anwendung darauf (sie wird als Massenspeichergerät angezeigt) und los geht's.

Wenn Sie in IDE-basierte Dosenlösungen verliebt sind (ich nicht), können Sie beispielsweise diese LPC1343-Karte in Betracht ziehen .

Wouter van Ooijen
quelle
Vielen Dank. Ich überprüfe diesen Bereich. Ich programmiere C auf meinem "normalen Computer" und betrachte Hobby-Mikrocontroller als eine unterhaltsame Möglichkeit, die Montage zu erkunden.
XYZ
Das Gute an lpc2isp ist, dass es vollautomatisch ist. Der Massenspeicherungsansatz war für mich zu mühsam, da Sie einen Jumper hin und her wechseln müssen (mit diesem kleinen Olimex-Board: olimex.com/dev/lpc-p1343.html ).
Starblue
Der LPC1343 USB-Trick ist einfach einzurichten, aber für die Entwicklung umständlich. Ich benutze lpc21isp für fast alles. Die Killer-Funktion für mich ist die vollständige "Hands-off" -Programmierung (Verwendung der Handshake-Leitungen zum Zurücksetzen und Aktivieren des Bootloaders) sowie die serielle Kommunikation (Debug-Protokoll) über dieselbe serielle Leitung.
Wouter van Ooijen