"arm-elf"を生成するコンパイラ(gnuarm GCC 4.1.1)を使ってブートローダとアプリケーションをコンパイルした製品があります。arm-eabiとarm-elfを混在させることはできますか?
ブートローダとアプリケーションは、リンカスクリプトの異なるFLASHメモリ領域に分かれています。
アプリケーションには、(2つのパラメータを持つ単純なc-functionとして)ブートローダを呼び出すことができる機能があります。
私は世界中の既存製品をアップグレードする必要があります。これは、常に同じコンパイラを使用して安全に行うことができます。
私はarm-eabiを出力する新しいGCCバージョンを使ってこの製品アプリケーションをコンパイルできるようにしたいと思います。
アプリケーションとブートローダの両方が同じツールチェーンを使用してコンパイルされている新しい製品はすべて問題なく動作しますが、既存の製品はどうなりますか? GCC 4.6.xとarm-none-eabiでコンパイルされた新しいアプリケーションをフラッシュすると、私のアプリケーションは古いarm-elfブートローダのブートローダ関数を呼び出せますか?また、直接、上記の質問に関連していない
、私は腕-EABIでコンパイルされたバイナリに腕エルフでコンパイルされたオブジェクトファイルを混在させることができますか?
編集:私はそれはどんな違いがあれば...
私はWindowsに限られていません。そのままにする大きな理由の1つは、開発がはるかに容易な、すぐに使えるLinux用の新しいツールチェーンを簡単に手に入れることができるということです。とにかく、私はファンクションコールをしようとすると、私はできるだけ早くニュースを返すだろう。ありがとう。 – j4x
私はそれがうまくいくかもしれないが、私は間違いなく実際のシステムでこの動作に頼ることは推奨しないことに注意してください。 – djs
ちょっと@fljx - それは動作しましたか?あなたは今これを試して4年かかっています:) – blueshift