こんにちは、皆さん
現在、i.MXRT1170 EVKBボード上のNXP MIMXRT1176DVMAAプロセッサを使った概念実証(PoC)プロジェクトに取り組んでいます。
私の開発環境は、Embedded FuSa用のセーフティ認証済みArmコンパイラを備えたMCUXpresso IDEで構成されています。コンパイル中は16ビット命令の生成を避け、ツールチェーンが32ビット命令のみを出力するように強制したいと考えています。Thumb-2(T32)命令セットは、性能とコードサイズのバランスを取るためにデフォルトで16ビットと32ビットの命令を混ぜていると理解しています。しかし、私たちのプロジェクト要件では、生成されるすべての命令が正確に32ビット幅である必要があります。
MCUXpresso IDEで32ビット幅の命令生成を強制するために、コンパイラやツールチェーンのオプションをどのように設定すればよいか、どなたかご案内いただけませんか?
ありがとう、
カルティ
こんにちは、 @KD7 さん。
NXP MIMXRTシリーズにご関心をお寄せいただきありがとうございます!
RT1170 / Cortex-M7では、これはグローバルコンパイラ設定としてサポートされていません。このコアはARMv7-M Thumb/T32コードを実行し、T32は本質的に16ビットと32ビットが混在した言語です。A32 -marm オプションは、固定の 32 ビット命令セットオプションですが、M プロファイルのターゲットには有効ではありません。
手書きアセンブリのみの場合、 。Wは有効な場合、選択されたT32命令を32ビットエンコーディングに強制できますが、すべてのコンパイラ生成のC/C++命令を32ビットに強制することはできません。
Armはこのトピックについてさらに詳しい情報を提供できるかもしれません。
ありがとうございます。よろしくお願いいたします。
ギャビン