cancel
Showing results for 
Search instead for 
Did you mean: 

Programming external STM32H750 MCU using NUCLEO-STM32H743 board

Slina
Associate III

I have NUCLEO-STM32H743 board and some STM32H750 MCU-s. As I can see in the board manual, it has on board SWD interface. I want to use that board to program and debug aforementioned MCU-s and, as far as I can see, this should be possible. Where can I find connection diagram for this?

I am just starting to build the PCB board for my project and I have to reserve pins for SWD connection.

Also some questions:

  1. If I stick to programming debugging using NUCLEO boards, what are the drawbacks of using it instead of ST-Link?
  2. ST-linkV2 is much cheaper than ST-linkV3. What are the differences?
1 ACCEPTED SOLUTION

Accepted Solutions
Andreas Bolsch
Lead II

ZI2 is the new one with ST-Link V3, right. To use the imbedded ST-Link for an external target see this:

https://community.st.com/s/question/0D53W00000OmiV6SAJ/nucleoh732zg-has-strange-new-stlink-part

So, either cut the traces or flash the program attached there into the internal target.

View solution in original post

8 REPLIES 8
Andreas Bolsch
Lead II

You're not specific regarding Nucleo-H743: Is this the old version or the new one? First one has embedded ST-Link V2, latter V3. Furthermore, the first is designed to allow debugging of external targets with the internal ST-Link only, whereas for the latter it's just the other way round. Not impossible to use those the opposite way, but slightly inconvenient.

The V3 isn't more expensive than V2 if you consider the STLINK-V3MODS and attach the wires for SWD by soldering. Main advantage of V3: allows up to 24 MHz SWD clock in contrast to just 4 MHz. This comes in handy when external flash is to be programmed via this debug interface. Whether you get 150 kBytes/s or 1 MBytes/s does matter then. Disadvantage of V3: supports only ST chips, whereas V2 wasn't nailed down to these.

Sorry, I didn't know that it makes a difference. I have NUCLEO-H743ZI2, so I guess it's the new one. What did you mean by "other way around"? That I can only debug internal targets with external ST-Link? Does that mean that I can't use the board to program/debug external MCUs?

Andreas Bolsch
Lead II

ZI2 is the new one with ST-Link V3, right. To use the imbedded ST-Link for an external target see this:

https://community.st.com/s/question/0D53W00000OmiV6SAJ/nucleoh732zg-has-strange-new-stlink-part

So, either cut the traces or flash the program attached there into the internal target.

What about programming/debugging using arduino? Is it feasible and do you advice for/against it? Any links?

Andreas Bolsch
Lead II

What do you mean by "using arduino"?

I can use arduino for progamming some 8-bit MCU-s. There are free apps available on github, so I thought there are 3rd pary tools for STM32 MCUs too.

Andreas Bolsch
Lead II

What's "programming" in this context? Flashing firmware or developping firmware? For the first, arduinos use a preprogrammed bootloader, something similar is available in the STM32, see AN2606 "STM32 microcontroller system memory boot mode". But that's all for flashing only, not debugging.

Regarding free apps: STM32CubeIDE, Eclipse, arm-gcc, OpenOCD are free (the last two even open source). Only a programming/debugging adapter is necessary, e.g. ST-Link, Black*magic Probe, CMSIS-DAP (different implementations available), J-Link, FTDI-adapters ... So plenty of choices, just pick your favourite.

Yes, I was counting on flashing AND debugging using something I already have, but I'll stick to ST-link then. Another question: I see that the binary generated by STM32CubeIDE is quite big even when I have no code at all (around 22KB, and I have an 128KB flash device (i tried with both debug and release configuration). I guess there is a lot of debugging information that I could strip after the debugging is done, right? How do I do that? I guess it's for IDE topic, but if it's a quick fix ...