2020-04-09 04:02 AM
Dear.
I use WB55 with MBed OS.
I needed to receive huge file(over 1M) from Android and
send to Another Device by SPI interface.
It sometimes work well. but mostly I met hardFault by monitoring Serial.
Android App setting
- requestMTU :241
Connection Interval : CONNECTION_PRIORITY_HIGH
(ConnectionInterval: 12/ConnectionLatency: 0/ConnectionSupervisionTimeout: 500)
Data Send interval : 50ms(after confirmed send Data)
Write Type: Write_NO_RESPONSE
Data SIze : over 1M
WB55 setting :
"cordio.rx-acl-buffer-size":245,
"cordio.max-att-writes":1,
"cordio.desired-att-mtu": 241
MemoryPool /Queue size 16
CODE Structure :
Data received(BLE) - MemoryPool alloc - Queue -> Check Queue Evevt(Another Thread) - Data Send(SPI) - Free MemoryPool
Situation :
Board Stuck after receiving some Data. and displayed HARD_FAULT after few moment.
++ MbedOS Fault Handler ++
FaultType: HardFault
Context:
R0 : 20000508
R1 : 00000000
R2 : E7D85466
R3 : 0000008C
R4 : 00000001
R5 : 20004F58
R6 : 006200F0
R7 : 200053E0
R8 : 00000000
R9 : 00000000
R10 : 00000000
R11 : 00000000
R12 : FFFFFFFF
SP : 2002FFC0
LR : 0802311D
PC : E7D85466
xPSR : 40000035
PSP : 20004950
MSP : 2002FFA0
CPUID: 410FC241
HFSR : 40000000
MMFSR: 00000001
BFSR : 00000000
UFSR : 00000000
DFSR : 00000000
AFSR : 00000000
Mode : Handler
Priv : Privileged
Stack: MSP
-- MbedOS Fault Handler --
++ MbedOS Error Info ++
Error Status: 0x80FF013D Code: 317 Module: 255
Error Message: Fault exception
Location: 0xE7D85466
Error Value: 0x200030D8
Current Thread: rtx_idle <handler> Id: 0x20004644 Entry: 0x801D475 StackSize: 0x300 StackMem: 0x200046D0 SP: 0x2002FFC0
For more info, visit: https://mbed.com/s/error?error=0x80FF013D&tgt=NUCLEO_WB55RG
-- MbedOS Error Info --
plz help me to solve this problem.
thanks.