1

float へのキャストが STM32F429ZI (App_Fault_ISR) でハード エラーになるのはなぜですか?

ここで何が起こっているのか正確にはわかりません。Atollic TrueSTUDIO で Nucleo Board STM32F429ZI を使用しています。

コード

CPU_FP32 speed;
CPU_INT32U val = (CPU_INT32U)(0x20u >> 4u);
speed = (CPU_FP32)val;

最後にクラッシュしたアセンブリ

080026f2:   bl      0x8001dc8 <BSP_Tick_Init>
51            CPU_INT32U val = (CPU_INT32U)(0x20u >> 4u);
080026f6:   movs    r3, #2
080026f8:   str     r3, [r7, #4]
52            speed = (CPU_FP32)val;
080026fa:   ldr     r3, [r7, #4]
080026fc:   vmov    s15, r3            <----  

移動の問題のようです

Hard Fault Detected Window shos

バス、メモリ管理、または使用障害 (FORCED) 追加詳細 コプロセッサ命令の実行を試みる (NOCP)

これ は、ハード フォールトのように見えるApp_Fault_ISRに到達します。

アセンブラ、コンパイラ、および C リンカの設定で FPU が有効になっている限り (FPv4-SP-D16)、ハードウェア実装が選択されています。

4

1 に答える 1