Skip to main content
SA.17
Associate III
April 2, 2020
Question

Hardware changes required for programming through UART, USB DFU, I2C, SPI, and CAN bootloader interfaces

  • April 2, 2020
  • 2 replies
  • 1523 views
  • I am using STM32L072RB microcontroller,new to stm32cubeprogrammer,does all interfaces (UART, USB DFU, I2C, SPI, and CAN bootloader interfaces) support debug and programming ?
  • What hardware changes are required to implement programming features via these interfaces ?
  • Are these interfaces can be multiplexed . for e.g. same UART can be used to send data to PC and can be used to program microcontroller using PC ?
  • Is this software free?
  • Does my current microcontroller supports this or any specific requirements for using these interfaces for programming?
This topic has been closed for replies.

2 replies

Tesla DeLorean
Guru
April 2, 2020

Try reviewing application note AN2606​

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
Tesla DeLorean
Guru
April 2, 2020

https://www.st.com/resource/en/application_note/cd00167594-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf

The ROM loader comes on the parts as delivered.

The most critical hardware consideration is NOT to generate noise on interfaces other than the one(s) you want to use. For example don't connect a GPS receiver to a USART the loader is looking for.

Use an interface you expose. If you have a RS232 port on product, connect the boot loader USART to that, so you can program in factory or field.

If you don't normally provide a USART port, expose one to pin headers or test points for factory use.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
SA.17
SA.17Author
Associate III
April 3, 2020

The document explains connection for uart and DFU USB,can i have some circuit example for Boot pin and how to set and reset nBoot1 bit.

TDK
Super User
April 2, 2020

The bootloader does not support debugging. It is meant for programming. The SWD interface (ST-Link) is meant for the usual programming/debugging.

"If you feel a post has answered your question, please click ""Accept as Solution""."