1

gcc を使用してプロジェクトをコンパイルし、main で関数 sscanf() を使用します。スタック サイズは 4k です。gdb でプログラムをデバッグし、VPUSH 命令が例外をスローすることを示します。

関数 sprintf() をテストしましたが、うまくいきました。関数 sscanf() が stm32 の newlib で機能しないのはなぜですか?

4

1 に答える 1

4

STM32 F4 シリーズを除いて、これらのコントローラーは浮動小数点命令をサポートしていませんがvpush、その 1 つです。

この問題は、 newlib を-mfloat-abi=soft( softfporではなくhard) でコンパイルすることによって解決する必要があります。

于 2012-01-08T22:45:59.850 に答える