cancel
Showing results for 
Search instead for 
Did you mean: 

Only half of Device ID received via JTAG

justas2
Associate II
Posted on May 21, 2010 at 21:11

Only half of Device ID received via JTAG

8 REPLIES 8
justas2
Associate II
Posted on May 17, 2011 at 13:52

Hi clive1,

Try a device in regular dev/eval board. (verify if it is a device problem, or a board problem)

> Don't have one that could fit 48 pin device, but if everything else will fail, I will make one myself 🙂

Check for shorts, check BOOT0/1 pin states, check power on reset, state of reset pins.

> BOOT1 is tied low via 10Kohm resistor. BOOT1 is floating. I have double checked everything with 10x loupe, no shorts. What do you mean by ''check power on reset''?

Check the power supply pins with a voltmeter, and scope.

> Just checked with voltmeter - 3,28 on all supply pins. Don't have a scope at home, will check that in lab on Monday.

Try a J-Link or U-Link JTAG adapter with current firmware/drivers.

> Don't have one - I have only ST-Link and DLC-5

EDIT:

About schematcs - my board is empty, I haven't soldered anything. Board has STM, clock generator and decoupling caps only.

Posted on May 17, 2011 at 13:52

Post a PDF schematic of the STM32 and it's connections.

Try the USART boot loader.

Try a device in regular dev/eval board. (verify if it is a device problem, or a board problem)

Check for shorts, check BOOT0/1 pin states, check power on reset, state of reset pins.

Check the power supply pins with a voltmeter, and scope.

Try a J-Link or U-Link JTAG adapter with current firmware/drivers.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on May 17, 2011 at 13:52

What is the exact part number of your device, I don't see a 48-pin STM32F107RC, only a 64-pin TQFP.

http://www.st.com/stonline/products/literature/ds/15274/stm32f107rc.pdf

Without a schematic, even a partial one, it's hard to double check if you haven't switched a pin around, or got something going on that you are not explaining clearly. Or if the JTAG connection is wired correctly

BOOT0 - Pull Down

BOOT1 - Pull Down

NRST - Pull Up - Check what state it is in, also if external POR circuits

JNTRST - Pull Up

JTDI - Pull Up

JTMS - Pull Up

JTCK - Pull Up

JTDO - Pull Up

I'd trust a J-Link over something else, well supported by Segger.

The part should start on it's own internal clock.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
justas2
Associate II
Posted on May 17, 2011 at 13:52

>Just a note: Have you tried Serial Wire Jtag ? (In this mode >you have less pins to carry of)

Nope - I didn't. AFAIK ST-Link does not support sw-jtag with Cortex-M3 targets.

Furthermore - I have tried adding external resistors as per clive1 suggestion, and have same results. I will try to post screenshosts from scope tomorrow of TDI/TDO/TCK signals.

Also I have tried using USART1 bootloader to no success. USART1 starts up and begin sending random junk (I have tried attaching analyser to TX pin of USART1). Flash loader application report that device is unrecognized.

And for the note, exact PN is: STM32F107RCT6

EDIT: I have downloaded ST-Link Utility, and yes, indeed SWD is working without problems. I can edit memory contents and read registers values. The only question remaining is how to make uC work with JTAG instead of SWD, since this mean that board layout is OK and TDI/TDO/TCK/TMS pins are all connected correctly.

chikos332
Associate II
Posted on May 17, 2011 at 13:52

Hi,

Just a note: Have you tried Serial Wire Jtag ? (In this mode you have less pins to carry of)

Posted on May 17, 2011 at 13:52

Scope pictures are of little use of trouble shooting on a forum. Post a partial schematic, even if you need to redact portions of it.

The boot loader mode should not be outputting anything. It should be waiting to receive an 0x7F character to calibrate the baud rate of the PC. The fact it is outputting is indicative of it not being in boot loader mode.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
justas2
Associate II
Posted on May 17, 2011 at 13:52

Hi clive1 and thanks for your help.

I have attached partial schematics. It is more like full one, because apart from parts in schematic, everything else is unsoldered.

All caps are 470nF

Posted on May 17, 2011 at 13:52

Looks OK.

UART1 header looks OK. 1=RX (PC TX),2=TX (PC RX),3=GND

Would probably use pull up/down scheme previously suggested

Connect VBAT to 3V3

Connect 3V3 to your custom JTAG header (so it uses appropriate system voltages)

JTAG, next I'd want to look at how you are wiring your custom connector to the classic ARM 20-pin. (specifically VCC/GND)

BOOT0 - Pull Down (10K)

BOOT1 - Pull Down

NRST - Pull Up

JNTRST - Pull Up

JTDI - Pull Up

JTMS - Pull Up

JTCK - Pull Up

JTDO - Pull Up

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..