Hello,
I’m planning to create my own custom STM32 board instead of using external development boards like the Nucleo boards. I’m considering the STM32L476RG and would like to use the Nucleo (NUCLEO-L476RG) schematic as a starting point for my design.
My goal is to simplify the layout by omitting the onboard ST-Link device, opting instead to program the MCU with an external ST-Link V2 programmer.
From what I understand, all bare STM32 devices purchased (via Digi-Key or other vendors) come with the bootloader pre-installed, correct?
According to application note AN2606, the bootloader enables downloading the application program to the internal flash memory using one of the available serial interfaces (like USART, CAN, USB, I2C, or SPI).
However, in the Nucleo schematic, I see that the ST-Link devices program the main MCU via the SWD interface. The documentation mentions that I can remove the ST-Link part of the PCB and connect jumper wires from CN6 to the MCU portion.

This leads me to conclude that programming through the ST-Link is done via the SWD interface, rather than the methods outlined in AN2606. How do these two methods relate?

When designing my own board, what pins do I need to ensure I can connect to an external ST-Link programmer for MCU programming?
Additionally, what is the purpose of the RX/TX pins? Are they solely for debugging purposes?
Thank you for your help!