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

MOTIX™ MCU Forum Discussions

markusl
Level 1
5 sign-ins First reply posted First like given
Level 1

Hi

I am using a TLE9872 in a new design and having issues with SWD debugging using a Keil ULINK2

The TMS and P0.0 pin are directly connected to SWD Connector without any pullups like explained in document "FAQ Application Note for TLE986xQX, TLE987xQX, Z8F56887800":

"The SWD Interface can be directly connected to the TLE987x and TLE986x family. The use of external pull up
or pull down resistors is not needed, due to internal pull down resistors. Figure 2 shows the interconnections
between TLE Device and and SWD Connector. "

markusl_0-1656527260974.png

 


(P0.2 is tied to GND btw). This way, I don't manage to program the device.

I noticed that the TMS pin is not pulled to 5V which is needed to enter SWD mode according to the datasheet so I tried to add a 100k pullup to TMS/SWD which didn't help.  Then I added 1k instead of 100k. After that, TMS was tied high and I managed to program the device. It looks like the internal pull down for the TMS/SWD pin is activated. The datasheet tells indeed  that after a reset the PD is activated:

markusl_1-1656527407273.png

So why is that application note telling no pullup is needed and also the evalkits seem to work fine with 100k but in my application it only works with a strong pullup resistor?

In addition, I also don't manage to enable Trace.

Best regards, Markus

0 Likes
1 Solution
Raj_JC
Moderator
Moderator 250 sign-ins 25 likes received 50 solutions authored
Moderator

Hi @markusl,

We checked internally and the following are the recommendations:

The SWD interface of all TLE98xx family members does not need external pull-ups. High external pull-ups (>47kR) do also work but are definitely not required nor recommended.

When programming a fresh or erased device the SWD connection can only be enabled if pre-reset and SYSRESETREQ (or for simplification Autodetect) are used as rest types are configured in the debugger configuration.

Raj_JC_0-1658815543066.jpeg

A fresh device can only enter debug mode if TMS is high during start-up (to enter Test mode)  or a SYSRESETREQ is performed after the power on reset.

Please, let us know if this helps.

Thank you

Best Regards

Raj Chaudhari

View solution in original post

4 Replies
Raj_JC
Moderator
Moderator 250 sign-ins 25 likes received 50 solutions authored
Moderator

Hi @markusl,

Yes as per the ULINK and EVALKIT manual, TMS needs to be pulled up using the 100KOhm and SWCLK to be pulled down using 100KOhm. Thanks for letting us know about this issue. 

We will check internally and update you with the resolution soon.

Thank you

Best Regards

Raj Chaudhari

0 Likes
markusl
Level 1
5 sign-ins First reply posted First like given
Level 1

Hi @Raj_JC 

Thanks for your answer. The 100k resistors don't help.

0 Likes
markusl
Level 1
5 sign-ins First reply posted First like given
Level 1

Hi @Raj_JC 

Were you able to reproduce the problem internally?

Markus

0 Likes
Raj_JC
Moderator
Moderator 250 sign-ins 25 likes received 50 solutions authored
Moderator

Hi @markusl,

We checked internally and the following are the recommendations:

The SWD interface of all TLE98xx family members does not need external pull-ups. High external pull-ups (>47kR) do also work but are definitely not required nor recommended.

When programming a fresh or erased device the SWD connection can only be enabled if pre-reset and SYSRESETREQ (or for simplification Autodetect) are used as rest types are configured in the debugger configuration.

Raj_JC_0-1658815543066.jpeg

A fresh device can only enter debug mode if TMS is high during start-up (to enter Test mode)  or a SYSRESETREQ is performed after the power on reset.

Please, let us know if this helps.

Thank you

Best Regards

Raj Chaudhari