CYPD5225 locks up occasionally when starting up

Announcements

Live Webinar: USB-C adoption. Simple & Cost-efficient solutions | April 18th @9am or 5pm CEST. Register now !

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

cross mob
KiLe_4629881
Level 3
Level 3
25 sign-ins 10 replies posted 10 questions asked

I noticed that sometimes when our SDK project based on CYPD5225_notebook_tbt is starting up and during i2c communication the CYPD5225 will hang until the watchdog timer trips and resets the device. This happens about 1/20 times on startup. 

If I disable the watchdog timer - the CYPD5225 device will hang until power is removed - holding the SDA/SCL line to the EC low. So I suspect there is something causing the lockup in the HPI interface code. 

I was hoping to debug over SWD to see where the device is getting hung up. however the i2c pin used for SWD is also used for address muxing in cypress object code, which if disabled skips several initialization steps. Do you have any suggestions for debugging this? 

 

 

Also there is a bug in the project - where if you disable the software watchdog - but keep the hardware watchdog - then the cypd5225 will continuously reset every time the watchdog triggers every few seconds. 

Eg if you have the following definitions:

#define RESET_ON_ERROR_ENABLE (0u) 

#define WATCHDOG_HARDWARE_RESET_ENABLE (1u)

This is because the reset on error fires a timer event every so often in instrumentation, which runs the event loop one time and clears the WDT before it resets the system. 
If the software timer does not fire, then there is no code to trigger the WDT clear. 

0 Likes
1 Solution
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi,

 

It is recommended to use uart print to do debugging: 

https://www.cypress.com/documentation/code-examples/ce224431-psoc-4-uart-printf

You can use any available GPIO

View solution in original post

0 Likes
2 Replies