ST Visual Programmer (STVP) is an early download and programming tool developed by STMicroelectronics, supporting ST7, STM8, and STM32 series microcontrollers.
While this tool may be considered older compared to ST-LINK utility and STM32CubeProg, it is still in an ACTIVE state. In this article, we will provide details on how to use STVP.
What is ST Visual Programmer?
STVP offers a comprehensive flash programming environment for ST microcontrollers, enabling easy reading, writing, and verification of internal memory and option bytes.
Supported Debuggers/Programmers:
- ST-Link
- R-Link
- STice
- STick
- ST7DVP3
- ST-TSLink
Programming Modes (Protocols):
The programming mode depends on the debugger/programmer in use. For example, ST-Link supports:
- JTAG
- SWD
- SWIM
How to Use ST Visual Programmer?
As STVP supports various debuggers/programmers, we will focus on the most commonly used one, ST-Link, to explain its usage. In this example, we will use an STM32F411 microcontroller.
STVP Download
Official Website:
https://www.st.com/en/development-tools/stvp-stm32.html
STVP Installation
The downloaded sttoolset_pack42.exe includes both STVD (ST Visual Develop) and STVP (ST Visual Programmer) tools. You can choose one or both for installation.
STVP Configuration
After opening the STVP software, go to the configuration window to select the debugger type, programming mode, and the target microcontroller.
STVP Uploading Files
Before programming the MCU, we need to upload the file to the ST Visual Programmer.
STVP Programming
Prior to programming, ensure that your STM32 is connected to the ST-Link:
STVP Erasing
During the programming process, you may encounter issues like write protection or lack of erasure. If programming or verification fails, check if the device needs erasing.
Select the sector to erase:
STVP Reading Flash
Sometimes, you may need to read the internal Flash memory of the microcontroller. You can use this tool to read and save it as a bin or hex file (provided that there is no read protection).
STVP Modifying Option Bytes
Some option bytes can be modified using programming tools, such as read/write protection settings: