Bis zu diesem Moment habe ich Atmel Studio verwendet, um Software für AVR-basierte Geräte zu entwickeln. Jetzt möchte ich zu ARM Cortext M wechseln. Außerdem möchte ich Codesign und Versionskontrolle ausprobieren (ich habe noch keine Erfahrung mit diesen nützlichen Dingen).
Ich weiß, dass Atmel Studio das Plugin hat, um mit GitHub-Repositories zu arbeiten. Aber ich habe gerade den Sublime Text 2 Editor erworben, mit dem man sehr gut arbeiten kann. Es ist auch in der Lage, mit GitHub zu arbeiten (wie ich im Internet gelesen habe, ich habe es nur nicht selbst ausprobiert), aber ich bin mir nicht sicher, ob Sublime Text nützlich sein wird, um GCC- und ASM-Quellen in HEX zu kompilieren.
Hat jemand versucht, Sublime Text 2 als Quellbearbeitungstool für solche Implementierungen zu verwenden? Oder traditionelle IDEs werden viel einfacher zu arbeiten sein?
Ja, Sie können SublimeText verwenden, um Quellcode zu bearbeiten, und zwar nicht nur für ARM, sondern für alles; und viele Leute tun. Es ist ein sehr beliebter Quellcode-Editor.
Der schwierige Teil kommt, wenn Sie mehr als nur bearbeiten möchten. Eine traditionelle IDE bietet weit mehr als nur Bearbeitungsfunktionen, sodass Sie die Funktionen, die Sie für die Arbeit mit ARM benötigen, entweder implementieren oder jemanden im Internet finden müssen, der dies bereits implementiert hat. Zu diesen Funktionen gehören nicht zuletzt:
Wie Sie das tun würden, hängt in gewisser Weise von Ihrem Host-Betriebssystem ab und davon, welche Skripting-Tools Ihnen für die Aufgaben zur Verfügung stehen. Im Allgemeinen ist der Compiler GCC, der für alle wichtigen Betriebssysteme frei verfügbar ist. Wenn Sie also die richtigen Flags kennen, die Sie beim Kompilieren des Quellcodes für Ihr spezifisches Ziel verwenden müssen, sollte das Erstellen von Skripts für die Kompilierung kein allzu großes Problem darstellen.
Beim Hochladen des Codes hängt jedoch alles davon ab, wie Sie das Hochladen durchführen. Verwenden Sie einen Hardware-Programmierer? Ist auf Ihrem Zielchip ein Bootloader installiert? Welche Tools sind für beide verfügbar, die skriptfreundlich sind und mit denen Sie SublibeText Funktionalität hinzufügen können?
Wenn Sie also keine Online-Ressource finden, in der jemand tatsächlich genau das getan hat, was Sie tun möchten, für denselben Zielchip oder dieselbe Chipfamilie, die Sie verwenden, wird es eine Menge Arbeit sein, um loszulegen. Sie sollten besser mit einer traditionellen IDE beginnen und diese als Vorlage verwenden (untersuchen Sie, wie sie kompiliert und hochgeladen wird) und sie zu SublimeText migrieren oder eine hybride Umgebung betreiben, in der Sie die Bearbeitung in SublimeText vornehmen, aber die IDE zum Kompilieren und Verwenden verwenden laden Sie den Code hoch.
make
als Build-Tool unterstützt wird, sodass Sie nach einem coolen Makefile zum Kompilieren und Hochladen von ARM googeln und es verwenden können.Wie andere gesagt haben, ist Sublime ein Editor (ein sehr leistungsfähiger), keine IDE, daher ist die Verwendung von Sublime zum Debuggen umständlich, wenn auch nicht unmöglich (siehe Fußnote unten).
Ich mache jedoch viel Embedded-Programmierung, daher kann es hilfreich sein, meinen Arbeitsablauf zu beschreiben.
Meine gesamte Codierung erfolgt in ST2 mit einigen Schlüsselpaketen:
Ich verwende auch benutzerdefinierte Snippets für die Codeformatierung. Sobald meine Codierung bereit ist, auf der Hardware getestet zu werden, verwende ich eine IDE zum Debuggen. Alle Codeänderungen, die ich vornehmen muss, werden jedoch immer noch in Sublime vorgenommen. Manchen mag das unangenehm vorkommen, aber ich habe mich daran gewöhnt.
Was IDEs betrifft, bieten viele der IC-Hersteller ihre eigenen IDEs an (TI, Freescale, Microchip usw.), es gibt jedoch jetzt einige gute und kostenlose ARM-zentrierte IDEs. Em::Blocks habe ich am häufigsten verwendet. Es ist gut gepflegt und eine solide Anwendung. CooCox ist auch ziemlich gut.
Fußnote: Derselbe Entwickler, der SublimeClang erstellt hat, hat auch ein GDB-Plugin ( SublimeGDB ) erstellt, aber zum Debuggen denke ich, dass eine dedizierte IDE mit Speicheransichten, Variablenüberwachungen und Ausdrücken schwer zu schlagen ist.
Seit diese Frage gepostet wurde, und es ist jetzt mehr als 2 Jahre her (Juni 2018), ist ein neuer Editor mit vollem Funktionsumfang auf der Bildfläche erschienen: https://atom.io/packages/language-arm
Atom unterstützt unter anderem die Git-Versionskontrolle out-of-the-box.
Connor Wolf
Connor Wolf
Connor Wolf
Roman Matwejew
Connor Wolf
Roman Matwejew
Majenko