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)、ハードウェア実装が選択されています。