- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
下記スレッドにて、FM4の例外処理について問い合わせましたが、その続きです。
ご指摘いただいた資料
https://www.cypress.com/file/276616/download
のp.357以降に例外の一覧があり、確認は致しましたが、その例外に入った場合の処理の詳細は
どこかに記載されているマニュアルはありますでしょうか。
知りたいのは、FM4として単刀直入に浮動小数点演算のアンダーフローを検出した際の例外処理はFM4にあるかどうか、です。
下記のM4のテクニカルリファレンスマニュアルには「アンダーフロー例外」と記載がありました。
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0439cj/DDI0439CJ_cortex_m4_r0p1_trm_ja-JP.pdf
具体的にどのようなルーチンなのかが理解できませんでした。
意図としては、先のスレッドの質問同様ですが、過去の他社MCUでの例として、ソースコードの実装上の都合で浮動小数点演算でアンダーフローが発生した場合に、MCUが例外処理のルーチン(浮動小数点例外)に入ってしまい動作が停止してしまったことがあったため、FM4側の設定で、そのような場合に例外処理を発生させず、処理を継続するような設定が可能かどうかを確認したい、ということです。
以上です。
解決済! 解決策の投稿を見る。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
FM4に搭載されているVFPについて確認しました。
結論から申し上げますと、VFPのExceptionに付きましては発生いたしません。
これはデバイスのデザイン上で、そのようになっております。
よって、浮動小数演算に於いてアンダーフローが発生した場合、デバイスレベルで例外は発生いたしません。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
FM4に搭載されているVFPについて確認しました。
結論から申し上げますと、VFPのExceptionに付きましては発生いたしません。
これはデバイスのデザイン上で、そのようになっております。
よって、浮動小数演算に於いてアンダーフローが発生した場合、デバイスレベルで例外は発生いたしません。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
ご回答ありがとうございます。了解しました。
アンダーフロー例外が発生しない、という前提であるので、浮動小数点の例外発生時は
当該の浮動小数点型のデータを0として処理を進める、という認識で正しいでしょうか。
※アンダーフロー例外が発生しない≒処理が継続される≒0に丸めて処理を継続する
という意味で理解しました。
以上です。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
アンダーフロー時の振る舞いについてですが、モードにより変わります。
詳しくはARMのドキュメントを参照ください。
以上です。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
了解致しました。確認いたします。
以上です。