12

ARMCortex-M3とCortex-M4を使用しています。GCCの固定小数点型拡張を利用したい。私はsummon-arm-toolchainを使用しています。次のコード行

_Fract f = 0.1;

次のコンパイルエラーをスローします。

error: fixed-point types not supported for this target

GCCは実際にはCortex-M3/M4の固定小数点型をサポートしていませんか、それともここで何かが足りませんか?

4

2 に答える 2

11

念のため、私自身の質問に答えます。

TL; DR:固定小数点型の拡張機能は、gccの組み込みブランチ(バージョン4.6以降)のARM Cortex-M/Rアーキテクチャでサポートされています。そのgccブランチに基づくツールチェーンはここにあります

長い答え

これを書いている時点で、 summon -arm-toolchainはデフォルトでlinaro-gcc-4.5-2011.02(またはgcc-4.5.2)をダウンロードします。デフォルトでは、固定小数点型の拡張機能は有効になっていません。にパラメータを追加しようとしましたが、このバグで説明されているコンパイルエラーが発生しました。より新しいバージョンの(linaro-)gccを使用してみましたが、summon -arm-toolchainには、独自に提供されたgccパッチをこの新しいバージョンに適用する際に問題がありました。また、このツールチェーンのdevブランチ(linaro-gcc-4.6-2011.10を使用)を使用しようとしましたが、成功しませんでした。現時点では、固定小数点拡張は、LINaro-gccでもARM Cortex-M/Rでもサポートされていないようです。--enable-fixed-pointconfiguregccのメインブランチ。

次に、gccの埋め込みブランチに基づくgcc-arm-embeddedツールチェーンを試しました。ターゲットARMCortex-M3およびCortex-M4について、固定小数点型のサンプルプログラムを問題なくコンパイルできました。このスレッドで見られるように、Cortex-M/Rのこの拡張機能のサポートは2011年後半に追加されました。

于 2012-06-14T22:26:21.463 に答える
6

GCC Wikiによると--enable-fixed-point、構成中にGCCにパラメーターとして渡すことにより、固定小数点拡張を有効にできます。

さらに、このgccバグこれに関するコメントによると。

固定小数点のサポートは、現在MIPSターゲットでのみサポートされています。

于 2012-06-14T18:10:40.333 に答える