Ich habe ein Produkt, das Bootloader und Anwendung mit einem Compiler (Gnuarm GCC 4.1.1) kompiliert werden, die "Arm-Elf" generiert.Kann ich Arm-Eabi mit Arm-Elfe mischen?
Der Bootloader und die Anwendung sind im Linker-Skript in verschiedene FLASH-Speicherbereiche unterteilt.
Die Anwendung verfügt über eine Funktion, die es ermöglicht, den Bootloader aufzurufen (als einfache c-Funktion mit 2 Parametern).
Ich muss in der Lage sein, bestehende Produkte auf der ganzen Welt zu aktualisieren, und ich kann dies sicher immer mit dem gleichen Compiler tun.
Jetzt möchte ich in der Lage sein, diese Produktanwendung mit einer neuen GCC-Version zu kompilieren, die arm-eabi ausgibt.
Bei neuen Produkten, bei denen sowohl die Anwendung als auch der Bootloader mit der gleichen Toolchain kompiliert werden, ist alles in Ordnung, aber was passiert mit bestehenden Produkten? Wenn ich eine neue Anwendung flash, die mit GCC 4.6.x und arm-none-eabi kompiliert wurde, kann meine Anwendung immer noch die Bootloader-Funktion vom alten arm-elf Bootloader aufrufen?
Darüber hinaus können nicht direkt auf die obige Frage bezogen, kann ich Objektdateien mit Arm-Elf in einen mit Arm-EABI kompilierten binären kompilierten mischen?
EDIT:
Ich denke, gut ist klar, dass ich für eine Bare-Metal-ARM7 bin Gebäude zu machen, wenn es einen Unterschied macht ...
Ich bin nicht auf Windows beschränkt, und ein großer Grund, es zu verlassen, ist, dass ich leicht eine lauffähige und glänzende neue Toolchain für Linux bekommen kann, wo die Entwicklung deutlich einfacher ist. Wie auch immer, ich werde den Funkruf versuchen und ich werde so schnell wie möglich mit den Nachrichten zurückkommen. Vielen Dank. – j4x
Ich sollte bemerken, dass, während ich anzeigte, dass es funktionieren könnte, ich definitiv nicht empfehle, sich auf dieses Verhalten in einem echten System zu verlassen. – djs
Hey @fljx - Hat es funktioniert? Du hast 4 Jahre Zeit, es jetzt auszuprobieren :) – blueshift