2010-05-21 12:11 PM
Only half of Device ID received via JTAG
2011-05-17 04:52 AM
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.2011-05-17 04:52 AM
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.2011-05-17 04:52 AM
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.2011-05-17 04:52 AM
>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.2011-05-17 04:52 AM
Hi,
Just a note: Have you tried Serial Wire Jtag ? (In this mode you have less pins to carry of)2011-05-17 04:52 AM
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.2011-05-17 04:52 AM
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 470nF2011-05-17 04:52 AM
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