Sony Spresense ハードフォルト (ArduinoIDE)
spresenseを用いてハンドサイン認識の実装をしています。
以下のPPTの通りにすすめ、エラー無くスケッチの書き込みまで完了しましたが、LCDの画面に映るはずのカメラの映像が映らず、縦線が入ったままで白くて映りません。
(現在)シリアルポートを見てみると、Auto White Balanceの処理が終わらずにずっと真っ白な画面のままです。dnnrt.forward()から先の処理が行われない。spresenseボードマネージャーを1.1.2にしたところ、シリアルモニタにて以下のような出力になりました。
16:20:19.997 -> up_hardfault: PANIC!!! Hard fault: 40000000
16:20:19.997 -> up_assert: Assertion failed at file:armv7-m/up_hardfault.c line: 171 task:
ハードフォルト。
ファイルでのアサーションに失敗しているようです。
https://stackoverflow.com/questions/54224121/troubleshooting-sony-spresense-hard-fault
よろしくお願いします。
PPT→https://github.com/takayoshi-k/algyan_spresense_ai_hands_on/releases/download/tmp_version/20190615_ALGYAN_SPRESENSSE_AI_HAnds_ON_at_.pdf
書き込んだスケッチ→https://github.com/takayoshi-k/algyan_spresense_ai_hands_on/releases/download/tmp_version/rps_sample.zip
以下シリアルモニタの出力
16:20:17.391 -> USB Mass Storage start
16:20:18.981 -> Loading network model
16:20:18.981 -> Initialize DNNRT
16:20:19.692 -> Prepare camera
16:20:19.760 -> Start streaming
16:20:19.963 -> Set Auto white balance parameter
16:20:19.997 -> up_hardfault: PANIC!!! Hard fault: 40000000
16:20:19.997 -> up_assert: Assertion failed at file:armv7-m/up_hardfault.c line: 171 task: <pthread>
16:20:20.031 -> up_dumpstate: sp: 0d0439d4
16:20:20.031 -> up_dumpstate: IRQ stack:
16:20:20.031 -> up_dumpstate: base: 0d043a00
16:20:20.031 -> up_dumpstate: size: 00000800
16:20:20.031 -> up_dumpstate: used: 00000128
16:20:20.031 -> up_stackdump: 0d0439c0: 0d0439d8 0d0254c1 00000000 0d0439d8 0d00c9e7 00000003 00000000 0d00c9ef
16:20:20.031 -> up_stackdump: 0d0439e0: 0d00c9cd 0d025af5 000000e0 0d0688bc 0d060060 0d04c0f0 0d068010 0d025a6d
16:20:20.031 -> up_dumpstate: sp: 0d068990
16:20:20.031 -> up_dumpstate: User stack:
16:20:20.064 -> up_dumpstate: base: 0d068a48
16:20:20.064 -> up_dumpstate: size: 000007fc
16:20:20.064 -> up_dumpstate: used: 00000190
16:20:20.064 -> up_stackdump: 0d068980: 00000000 41800000 00000010 0d0134a1 0d0679e0 0d0679e0 0d060060 0d011fbd
16:20:20.064 -> up_stackdump: 0d0689a0: 0d068010 0d041dac 0d068a14 0d068a14 0d041e5a 0d003b2f 0d041a90 0d068a14
16:20:20.064 -> up_stackdump: 0d0689c0: 0d068a14 0d041e5a 0d002bc1 00000000 00000000 0d002c0b 0d045b80 0d006cad
16:20:20.099 -> up_stackdump: 0d0689e0: 00000000 000000e0 00000004 0d045d40 0d041e44 0d068a14 0d068a10 0d041e5a
16:20:20.099 -> up_stackdump: 0d068a00: 0d002bc1 00000000 00000000 0d004857 0d069090 0d0690a0 0d0680a0 0d068230
16:20:20.099 -> up_stackdump: 0d068a20: 0d049ca0 0d049cb8 00000000 0d006e3d 00000000 00000000 00000000 00000000
16:20:20.099 -> up_stackdump: 0d068a40: 00000000 00000000 deadbeef 674d7d87 e70272d2 c27bb529 00000190 80000810
16:20:20.099 -> up_registerdump: R0: 0d067ba4 0d05fc24 0d0679e0 0d0553f0 00000001 0d060060 0d04c0f0 0d068010
16:20:20.133 -> up_registerdump: R8: 0d002bc1 00000000 00000000 00000000 00000000 0d068990 0d0134a1 0d0553f0
16:20:20.133 -> up_registerdump: xPSR: 00000000 BASEPRI: 000000e0 CONTROL: 00000000
16:20:20.133 -> up_registerdump: EXC_RETURN: ffffffe9
16:20:20.133 -> up_taskdump: Idle Task: PID=0 Stack Used=0 of 0
16:20:20.133 -> up_taskdump: hpwork: PID=1 Stack Used=584 of 2028
16:20:20.133 -> up_taskdump: lpwork: PID=2 Stack Used=352 of 2028
16:20:20.168 -> up_taskdump: lpwork: PID=3 Stack Used=352 of 2028
16:20:20.168 -> up_taskdump: lpwork: PID=4 Stack Used=352 of 2028
16:20:20.168 -> up_taskdump: init: PID=5 Stack Used=960 of 8172
16:20:20.168 -> up_taskdump: cxd56_pm_task: PID=6 Stack Used=320 of 996
16:20:20.168 -> up_taskdump: <pthread>: PID=7 Stack Used=336 of 1020
16:20:20.168 -> up_taskdump: scsid: PID=8 Stack Used=320 of 2028
16:20:20.168 -> up_taskdump: <pthread>: PID=9 Stack Used=400 of 2044
16:20:20.202 -> up_taskdump: <pthread>: PID=10 Stack Used=480 of 1020