Skip to main content
ENovk.1
Associate II
March 23, 2021
Solved

What debug capabilities should I put on my proto board for STM32F373?

  • March 23, 2021
  • 4 replies
  • 1810 views

I'm designing a proto board for my application and can't use a discovery board since there isn't one for this chip. So I have to put debug capabilities on my board. However, I can't find documentation on how to hook it up to the processor once I've configured the processor with CubeMX. Questions I have include: which debug capabilities do I need to support, what connector type should I use, how to wire it up (I presume like the example in the STM32373C-EVAL schematics?), can I use these capabilities with the STLINK-V3SET, where is overall documentation on how to debug?

Any pointers would be appreciated!

This topic has been closed for replies.
Best answer by Tesla DeLorean

Put a JTAG or SWD header on the board, wiring it to the respective pin indicated in the Data Sheet, they are fixed rather than random/choseable

Would suggest SWDIO, SWCLK, SWO, NRST, and VCC/GND for target. Connect up access to BOOT0 pin and PA9/PA10 USART1

Would suggest a through review of the content of Data Sheet, Reference Manual and Programming Manual for the F3 part

4 replies

Tesla DeLorean
Tesla DeLoreanBest answer
Guru
March 23, 2021

Put a JTAG or SWD header on the board, wiring it to the respective pin indicated in the Data Sheet, they are fixed rather than random/choseable

Would suggest SWDIO, SWCLK, SWO, NRST, and VCC/GND for target. Connect up access to BOOT0 pin and PA9/PA10 USART1

Would suggest a through review of the content of Data Sheet, Reference Manual and Programming Manual for the F3 part

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
Uwe Bonnes
Chief
March 23, 2021

Reconsider using the F373. The SDADC is sub-par and the F373 does not have other unique feature. Otherwise, get a F3 disco and replace the F303 to a F373 for a start. Starting from scratch will give you (too) many pitfalls.

ENovk.1
ENovk.1Author
Associate II
March 24, 2021

Thank you for the advice. I have my doubts about STs ADCs anyway. I also got a new requirement that the AFE be galvanically isolated, and isolated across multiple channels, so I'm pursuing a different approach that eliminates the need for the ADC any way since it will be on the other side of an isolation circuit.

Also I needed a kick in the pants about designing a board with no prototyping ;)

Andrew Neil
Super User
March 23, 2021

Apart from the specifics mentioned above, here are some general tips & suggestions for "debuggability":

https://www.avrfreaks.net/forum/how-do-i-check-life-signs-scope-atmega2560-standalone

"where is overall documentation on how to debug?"

See the documentation for the ST-Link

Debugging is covered from Section 3 in the CubeIDE User Guide:

https://www.st.com/resource/en/user_manual/dm00629856-stm32cubeide-user-guide-stmicroelectronics.pdf

The Quick Start Guide has a section on debugging:

https://www.st.com/resource/en/user_manual/dm00598966-stm32cubeide-quick-start-guide-stmicroelectronics.pdf

There's also videos: https://www.youtube.com/watch?v=4wT9NhlcWP4 etc ...

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Andrew Neil
Super User
March 24, 2021

One thing to note is that the STLINK-V3SET is for 3V targets only - so, if you're planning on running at lower voltage, you'll need the B-STLINK-VOLT level shifter board:

https://blog.st.com/stlink-v3/

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
ENovk.1
ENovk.1Author
Associate II
March 24, 2021

I'm running my entire system at 3V3 so I'm good for now! Thank you.

Andrew Neil
Super User
March 25, 2021

0693W000008ww08QAA.png

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.