Entwicklung für ARM-Prozessoren mit Arduino IDE
19. Januar 2016Es gibt viele Entwicklungsboards auf dem Markt. Es gibt auch Boards mit Mikrocontrollern, die einen ARM-Kern haben. Selbst für diese Boards ist es schwierig, in Wiring mit ArduinoIDE zu entwickeln. In diesem Artikel erfahren Sie, wie Sie Arduino-Entwicklungsressourcen verwenden, um ein Projekt für Boards mit ARM-Mikrocontrollern zu entwickeln.
Die Mikroprozessoren der AVR-Serie von Atmel oder andere 8-Bit-Prozessoren wie der PIC sind vor allem unter Heimwerkern bekannt. Sie gehen jedoch allmählich zu moderneren und leistungsfähigeren Mikroprozessoren über, oft mit einem ARM-Kern.
ARM-Prozessoren werden von verschiedenen Unternehmen hergestellt. Dabei handelt es sich um SoCs (System on Chip), bei denen der Mikroprozessorkern unter Lizenz von ARM Holdings hergestellt wird. Jedes Unternehmen stellt dann mehrere Prozessorlinien mit verschiedenen Versionen des ARM-Kerns her. Neben der CPU befinden sich weitere Peripheriegeräte auf einem Chip. Bei den modernsten Chips kann dies der Grafikprozessor sein, und das gesamte Betriebssystem läuft in der Regel auf solchen Chips - GNU/Linux.
Als leistungsfähigerer Ersatz für den ATmega328 reichen die schwächsten Prozessoren mit ARM-Kernen völlig aus.
Eine gute Wahl sind zum Beispiel die Mikroprozessoren von STMicroelectronics.
Entwicklungsboard mit STM32F103C8T6 Mikroprozessor:
Dank der großen Auswahl an ARM-Core-Prozessoren kann man je nach Bedarf die passenden Typen auswählen, egal ob die Kriterien Preis, Leistung oder geringer Stromverbrauch sind.
Entwicklungsboard mit einem leistungsfähigeren Mikroprozessor und mehreren ARM STM32F103ZET6 Ausgängen:
Mikroprozessorprogramme werden oft in C geschrieben.
Das Programm muss dann von einem Compiler kompiliert werden.
Unter den Compilern kann der hochwertige freie Compiler GNU GCC als Standard angesehen werden.
Um das Programm in den Mikroprozessor zu laden, wird ein Gerät verwendet, das Programmer genannt wird.
Programmierer:
Arduino
Der einfachste Weg, mit ARM-Mikroprozessoren zu arbeiten, ist, ein geeignetes Entwicklungsboard zu wählen und es im Arduino-Stil zu programmieren. Das heißt, in C unter Verwendung der Wiring-Bibliothek und das Programm über die serielle Verbindung in den Prozessor laden - diese Funktion übernimmt der Bootloader, der bereits in den Mikroprozessor geladen sein muss.
Eine wichtige Voraussetzung ist, dass auf der Platine bereits ein Bootloader vorhanden ist, denn damit kann man auf einfache Weise ein Programm darauf laden.
Entwicklungsumgebung
Für diejenigen, die nichts kompilieren wollen, ist bereits alles vorbereitet.
Man kann die Standard Arduino IDE (1.6.5) verwenden und die Unterstützung für ARM installieren.
In der Arduino IDE im Boards Manager muss man das Arduino SAM Board installieren,
das die Unterstützung für 32-Bit-ARM-Prozessoren mit CORTEX-M3-Kern enthält.
(In erster Linie ist dies für Arduino fällig - es enthält den notwendigen Compiler)
Sie müssen auch die
Dateien für STM32
herunterladen und das entpackte Archiv in das Verzeichnis hardware
im Verzeichnis der Arduino IDE hochladen.
Dann wählt man in der Arduino IDE einfach das Board/Prozessor aus, das man verwendet.
Hallo Word
Für den ersten Test habe ich ein Entwicklungsboard verwendet,u auf dem der Prozessor ein ARM STM32F103C8T6 ist, in den bereits der Bootloader geladen wurde.
Die Drähte des USB-UART-Konverters werden an die Pins RX1 und TX1 angeschlossen. Nach einem Reset startet der Bootloader und wartet auf unbestimmte Zeit auf das Laden des Programms. Einmal programmiert, startet das Programm direkt. Soll nach einem Reset das Programm und nicht der Bootloader gestartet werden, müssen die Jumper zwischen BT0-3V3 und BT1-GND entfernt werden. Die Verbindung zu JP4-GND bleibt bestehen.
Das Flashen der Diode ist dann für einen erfahrenen Entwickler einfach:
Ausführlichere Dokumentation Arduino STM32.
Artikel zu einem ähnlichen Thema
Python-Programm zur Steuerung von Docker über die API
Wie man MailCatcher zum Testen von E-Mails verwendet
Python OpenAI API
Erstellen einer WebSocket-Webanwendung und Einrichten eines Proxys
Projektmanagement: agile Softwareentwicklung
Wie man alte PHP-Anwendungen ausführt
Was ein guter Programmierer wissen sollte
Programmiersprache Rust
NodeJS: Entwicklung, Serverkonfiguration
Nette Sicherheitslücke CVE-2020-15227
REST API: Plattform-API
Kundenspezifisches Web- und E-Mail-Hosting mit ISP Config-Software
Programmierung in SQL: PostgreSQL, MySQL/MariaDB
HTTPS: sicheres Web
NoSQL-Datenbank Mongo DB
Herstellen einer Verbindung zu Microsoft SQL Server unter Linux
Was ist die Stellenbeschreibung eines Programmierers?
Lokalisierung von Python-Anwendungen
Welches Mail- und Webhosting Sie wählen sollten
Digispark - Atmel ATtiny Mikrocontroller mit Arduino IDE programmieren
Wie programmiere ich den ESP8266 WiFi-Prozessor?
Offenes Smartphone mit Linux - Openmoko Neo FreeRunner
Newsletter
Wenn Sie daran interessiert sind, gelegentlich Neuigkeiten per E-Mail zu erhalten.
Sie können sich registrieren, indem Sie Ihre E-Mail-Adresse eingeben
News-Abonnement.
+