Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

PSoC™ 4

ErGo_3681856
Level 1
Level 1

We are using the CY8C4248 and having an intermittent, irregular lock-up of the main loop. Interrupts are still able to occur, so our WatchDogTimer still fires. After 60 of not running all the way through the main loop, we print the main stack (__get_MSP) and compare memory addresses to the elf file. The main stack trace appears to read:

InterruptPointer(Same address as _getPSP)

ll_wait_to_enter_dsm (possibly deep sleep mode?)

ll_enter_sm_mode

ll_derive_ce_length_for_s

llft_service_queue

CyBle_SignalBleStackTask

OS_scheduler

enterLowPowerStateIfPossible (where we call CySysPmDeepSleep())

main

1) Is it possible for deep sleep mode to stop waking when our timer is fired?

2) What tools other than the debugger does cypress have to trace the source of lockups? We are using the bootloader, deep sleep mode, and interrupts. All of which aren't happy with attaching a debug tool.

0 Likes
4 Replies