Ist es möglich, kompilieren von C/C++ - code für den ARM Cortex M3 (LPC1768) mit Vanille-GCC mit der --target wechseln, oder muss ich zum kompilieren von GCC, binutils, etc, dies zu tun?
Wie gesagt, das sind nicht Ihre einzigen zwei Optionen. Ich schlage vor, Sie versuchen, diese toolchain vorbereitet ARM Ingenieure: GNU Tools for ARM Embedded Processors . Es ist speziell für Cortex-M und Cortex-R-cores, und es erfordert keine Registrierung zum download.
CodeSourcery G++ unterstützt eine Breite Palette von ARM-Prozessoren, einschließlich Cortex-M3. Es ist auch kostenlos, es sei denn, Sie brauchen professionelle Unterstützung.
Danke. Ich war nicht bewusst, es war kostenlos - Dank für das heads-up!
nun gibt es eine lite-version, und Sie müssen Lesen Sie die Lizenzvereinbarung.
llvm, obwohl, cross-kompiliert aus der box, können Sie mit -march=arm-build für arm. Hängt davon ab, was Sie tun, wenn
der cortex-m3 ist thumb/thumb2 nur so vorsichtig sein, um anzugeben, das mit dem Prozessor-Typ beim compilieren (mit gcc), ansonsten wird es standardmäßig auf arm-Anweisungen. und mein Kommentar über llvm -march=arm arm bauen könnte es sein -march=Daumen zu bauen für den Daumen.
Und stellen Sie sicher, dass Sie nicht angeben -mthumb-interwork beim kompilieren für die Cortex-M, ansonsten bekommen Sie ARM32-code drin, die deine MCU nicht verstehen, so wird Ihr Programm Abstürzen.
Wie gesagt, das sind nicht Ihre einzigen zwei Optionen. Ich schlage vor, Sie versuchen, diese toolchain vorbereitet ARM Ingenieure: GNU Tools for ARM Embedded Processors . Es ist speziell für Cortex-M und Cortex-R-cores, und es erfordert keine Registrierung zum download.
Finden Sie eine hervorragende Reihe von tutorial-Stil, blog-Beiträge hier, zum Beispiel diese eine über bare-metal-Programmierung für den M3.
CodeSourcery G++ unterstützt eine Breite Palette von ARM-Prozessoren, einschließlich Cortex-M3. Es ist auch kostenlos, es sei denn, Sie brauchen professionelle Unterstützung.