TC387QP startup after debugger is removed

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

cross mob
abadave
Level 1
Level 1
First reply posted 5 sign-ins First question asked

Hello community members,

I am facing same issue mentioned in following link, with same setup: https://community.infineon.com/t5/AURIX/AURIX2G-Power-On-Reset-TC387QP-Start-Up-Issue/m-p/319356#M52...

 

Problem in short: when I connect the device with Lauterbach and flash my Hex/Sre/Elf File, it works properly. But when I de-attach the Lauterbach JTAG, my Application/Software does not run after Power OFF and On.

Solution of this thread suggested servicing the both watchdog has resolved the problem but in my case it is not working after that as well. 

Watchdog code:

abadave_1-1657639487962.png

WD Serviced under 100ms task:

abadave_3-1657639602670.png

 

 

Below you can have register images which might be useful:

1. UCB/BMHD --> valid.

abadave_0-1657639244404.png

2. WDT 

abadave_4-1657639706849.png

3. DMU

abadave_5-1657639843643.png

 

0 Likes
3 Replies
Nambi
Moderator
Moderator
Moderator
50 likes received 5 likes given 100 solutions authored

Hi,

For test purposes, can you try disabling the watchdogs and check the behavior?

Best Regards.

0 Likes
abadave
Level 1
Level 1
First reply posted 5 sign-ins First question asked

Firstly I did the test by disabling the watchdogs then I got the above issue so I started looking for resolution and found that I need to add + serve the both watchdogs. But still issue is not resolved. I thinking it might be the issue of reset handling mechanism, in current software we did not add PMS or reset handling , what would be your suggestion?  

0 Likes
Nambi
Moderator
Moderator
Moderator
50 likes received 5 likes given 100 solutions authored

Hi,

1. CPU0 and Safety watchdogs are enabled by default.

i) Could you let us know the instance in the program flow and how you disable the watchdogs?

ii) You can refer to ADS examples for disabling the watchdog.
You can find the example. https://www.infineon.com/dgdl/Infineon-AURIX_Blinky_LED_1_KIT_TC397_TFT-Training-v01_01-EN.pdf?fileI...
ILLD provides the following functions. This can be executed in the CPU0.

IfxScuWdt_disableCpuWatchdog(IfxScuWdt_getCpuWatchdogPassword());
IfxScuWdt_disableSafetyWatchdog(IfxScuWdt_getSafetyWatchdogPassword());

You can use this as the first line of code in your CPU0 main function.

After adding this, you can check the behavior of your application to ensure that adding these lines does not break your current system.

2. In your application, I recommend you to toggle an LED just after the above lines of code to check if the program flow reaches this point. If not, please toggle the LED at earlier instances of the startup to find the point till which the program flow reaches. You can try to add IfxScuWdt_disableCpuWatchdog() and IfxScuWdt_disableSafetyWatchdog() functions before this instance where the program flow can reach.

3. Are you using an Infineon evaluation kit or a custom board?
Suppose you are using an Infineon evaluation kit. In that case, I recommend you start checking with an existing example project and ensure that it works without an issue, then customize it based on that.

4. Could you elaborate more about "in current software, we did not add PMS or reset handling"?

Best Regards.

0 Likes