この情報は、さまざまな場所から組み合わせることができます。まず、対象の ARM プロセッサを特定してから、そのプロセッサの TRM を見つける必要があります。この場合、Cortex-M4 TRM は次の場所から入手できます。
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0439d/DDI0439D_cortex_m4_processor_r0p1_trm.pdf
これにより、Cortex-M4 の FPU が次のようになっていることがわかります (セクション 7)。
ARMv7-M Floating-Point Extension (FPv4-SP) の単精度バリアントの実装。
ARMv7m アーキテクチャ リファレンス マニュアル ( http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0403c/index.htmlでライセンス取得後に入手可能) を見ると、セクション A1.3 の浮動小数点アーキテクチャ拡張。ここには、次のアドバイスもあります。
ARMv7-A および ARMv7-R アーキテクチャ プロファイル用に定義された VFP 実装オプションに基づいて、ARMv7-M 浮動小数点拡張の完全な特性は FPv4-SP-D16-M です。一部のソフトウェア ツールでは、この特性評価が必要になる場合があります。
GCC はキャラクタライゼーションの末尾に「m」を追加しないため、これによりオプション -mfpu=fpv4-sp-d16 が表示されます。
VFPv4-d16 の意味については、ARMv7a アーキテクチャ リファレンス マニュアルを参照する必要があります (ライセンスの背後にあるhttp://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0419c/index. html ) ここで、セクション A1.4.1 で次の定義が提供されます。
VFPv4 は、32 個または 16 個のダブルワード レジスタで実装できます。A2-56 ページの Advanced SIMD および浮動小数点拡張レジスタを参照してください。必要に応じて、これらの実装オプションは次の用語を使用して区別されます。
• VFPv4-D32、または VFPv4U-D32、32 レジスタ実装用
• VFPv4-D16 または VFPv4U-D16 (16 レジスタ実装用)。
VFPv4 という用語が使用されている場合、両方のオプションが含まれます。