cancel
Showing results for 
Search instead for 
Did you mean: 

MCUDEV no ST-LINK

SGold.3
Associate II

I just got an MCUDEV board for the STM32H743 chip. I have been using an eval board and have my code configured in the CubeIDE. When I connect the MCUDEV board to my computer via a Micro USB to USB cable, LED D1 turns on and LED D2 starts flashing. But when I press "Run" in the CubeIDE, I get an error of "No ST-LINK detected". I do not get this error when I use the eval board, and the MCUDEV board is not showing up in my COM ports. Is there a step I missed in getting my code onto the board and running it?

18 REPLIES 18
SGold.3
Associate II

I get the ding sound for the Eval board but not the dev board. I also just noticed the voltage at the 3V3 pin is about 1.4Vand very slowly decreasing. I'm connected directly into the USB port in my desktop. How would I connect using the DIO and CLK signals on the SWD?

Sounds like you have a short somewhere/somewhen. Watch the type of surface you allow the board to rest on

https://stm32-base.org/guides/connecting-your-debugger.html

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

I moved it onto an ESD sheet and the short went away so thank you for that suggestion. I see the guide saying to connect SWCLK to PA14 and SWDIO to PA13 but I am not sure how that is flashing the software onto the microcontroller. Unless I am supposed to be splitting open a USB cable and manually connecting that to the GPIO pins.

The SWDIO(DIO) and SWCLK(CLK) export the debug interface of the MCU, you need a debug pod like the ST-LINK, J-LINK or U-LINK to communicate over this interface, and IDE's integrate programming of the MCU via these pods.

The EVAL and DISCO board typically integrate the debug pod functionality via an extra STM32F103 or STM32F723 IC placed on the board for that purpose. The DevEBox and WeAct boards do not integrate additional ICs so you use the MCU's own USB connection and a ROM based System Loader to perform In-System Programming.

If you create your own loader code this could provide different avenues and methods of connectivity.

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

I found the STM32F723 on my eval board. Are you saying that for me to run my code on the DevEBox I would need this added or just to run the Debug mode? And if I'm using CubeIDE to run my code, can I just press play or should I run my code some other way? The device is now showing up on the Device Manager so thank you for that and in general all your help.

As I've explained you can push code into the STM32H7 here via the System Loader on the chip itself and STM32 Cube Programmer on the PC in USB/DFU mode.

If you wish to use the ST-LINK method, on a board lacking an ST-LINK, you need to use an External ST-LINK connected via the SWD header (ie 3V3, SWCLK, SWDIO, and Ground). During development this is perhaps the easiest route to download and/or debug the software.

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

I want to thank you for all your help. I switched over to CubeProgrammer from CubeIDE and now better understand what you were explaining. This is a very different question from this original post but if I have been programming in C, is there an easy way to convert that to firmware to download onto my board?

Easy is a subjective term, I have a draw full of ST-LINKs, and I also wrote a HEX2DFU tool many years ago to automate the build process in Keil, and for a colleague using Micro Python. I built a boot loader that could pull .DFU files off the MicroSD card.

On the bench here when I have devices in sealed metal cans that export a serial connection I use STM32 Cube Programmer in UART/COM mode, or I use a Termial/X-Modem delivery method I can initiate from the app or boot-loader. Some of the newer STM32 families will enter the system loader if the part is completely blank (factory)

Many of the STM32 based flight controllers have a BOOT0 button and a USB connection, they use the USB/DFU delivery method, and have test pads for SWDIO/SWCLK for the developers to solder down flying leads.

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

Hmm I'm on a bit of a time crunch for this project so I'm not sure that I can completely redo all my code and everything learning something new. I greatly appreciate all your help the past couple days and hopefully the next rev of the system I will be able to apply this.