私は、開発ボード用にセットアップしているツールチェーンのgccオプションを理解しようとしています。これは、FreescaleのiMX6qクアッドプロセッサをベースにしたSabre-liteです。
これで、iMX6は基本的にcortex-a9プロセッサであり、コプロセッサvfpv3とneonに加えて、ベクターグラフィックス、2D、さらには3Dエンジンを搭載していることがわかりました。
ただし、リリースノートと使用ガイドのドキュメントでは、gccで有効にできるオプションを有効にする方法についてあまり明確にされていません。
実際、私が「遊ぶ」ことができるオプションは次のとおりです。
-march= armv7-a - ok this one is pretty obvious.
-mfpu= vfpv3/neon - i can use only the vfpv3 co-processor, or both (respectively, depends on option)
-mfloat-abi=softfp/soft/hard - I guess I can choose hard here, as there is hardware for fp operations
-mcpu=cortex-a9 - is it option even necessary? it is not clear if it just an alias for -march or something else.
有効にする必要がある他のオプションはありますか?ツールチェーンに、Linuxカーネル/uboot/パッケージをビルドするためのデフォルトオプションとして次のものがあるのはなぜですか。
-march= armv7-a -mfpu= vfpv3 -mfloat-abi=softfp
ご協力ありがとうございました