Some of stm32 boards have build-in USB DFU protocol support. For those you can use tools like DFuSe demo from ST or open-source dfu-util to directly upload firmware image through USB. Its obvious and i’m not going to describe it here. (You can find full list of DFU-enabled MCUs in app note AN3156).
For those MCUs without DFU support (like STM32F103C8T6 used in BluePill) you need separate hardware programmer, for example ST-Link V2 Mini
You need to connect it to dev mini board and wiring is simple:
ST-Link STM32F103C8T6 3.3V --- 3.3V GND --- GND SWDIO --- DIO SWCLK --- DCLK
Like this:
Then you have to download from st.com and install ST-Link Utility. When you connect programmer first time, it is recommended to upgrade firmware of programmer itself. Open ST-Link Utility program and choose in menu ST-Link -> Firmware update, then click Device Connect and if newer firmware is available, you will see something like this:
Click Yes and newer firmware will be installed.
Then you have to open file with firmware and choose Target -> Connect. If your wiring between programmer and board is correct, you can see info about your MCU:
The next step is necessary and it’s full chip erase. Choose Target -> Erase Chip.
Then you have to choose Target -> Program and thats all!
If my firmware for Pedal & Buttons controller already flashed to the board and needs to updated or reflashed than programmer will can’t connect to the board. Its because I disabled SWD and used its pins as normal GPIO. We have here 2 choices:
- Switch both yellow jumpers, so your board will load directly to internal bootloader
- Make a «Connect under Reset». So in this case you have to do:
- choose Target -> Settings in ST-Link utility
- choose Hardware Reset in Reset Mode
- push and hold Reset button on the board
- click OK in ST-Link utility
- release Reset button
ST-Link utility should now connect to stm board and you can flash a newer firmware. (don’t forget to make full chip erase!)
PS. If you have another development board, for example STM32F4Discovery, you can use its build-in programmer. In this case you need to remove both CN3 jumpers and use Disco’s SWD connector this way:
STM32F4Discovery STM32F103C8T6 3.3V --- 3.3V PIN2 --- DCLK PIN3 --- GND PIN4 --- DIO
Something like this:
Hello, Can you help me.
I have a ST-Link V2 Mini programer and a STM32F103C8T6 board.
When I connect ST-Link V2 to pc I can update firmware, but when I connect the STM32F103C8T6 board to ST-Link V2 and this to pc, the utility software can’t connect and when I go to target-connect, appears the message «Not ST-Link conected» .
I revised wire connections, reinstall drivers, and use another STM32F103C8T6 board, but the problem persist.
Thanks.
НравитсяНравится
Hi!
At first check status of ST-Link device in windows device properties. If there are some errors like «device needs troubleshooting» than its probably drivers/hardware issue. If device state is OK than try to switch both yellow jumpers on the board and try to connect again
НравитсяНравится
Hello, thanks for the reply.
The status in the windows device properties is correct and I tried to change the jumpers but the problem persist. I ordered another hardware programer if the problem is solved I will publish it here.
НравитсяНравится
Hi! When I go to ST-LINK—> Firmware update, —> device connect, I get the error message » ST-Link is not in the DFU mode. Please restart it» and I don’t have any firmware version.
So I tried what you explain : erase chip, program but I do not see the device in the OSH studio . Nothin connected.
I do not understand what I’m doing when I go to the STM32 ST-link Utility so it’s not obvious why I’m not connected. I can see the device in the windows device list.
Thanks
НравитсяНравится
Hi! Firmware update for stlink is recommended but not nesessary.
So you can see device (OSH controller, right?) in the devices list, but the app does’t show «connected» status?
НравитсяНравится
Sorry was wrong topic and email adres
Question still the same
Ron
НравитсяНравится
Hi, I can’t get OSHstudio to detect the BluePill. I have also tried to flash the stm32, but it is impossible. Do you know what my problem could be?
НравитсяНравится
Did you find solution for your problem? I think i have the same issue and dont know what to do
НравитсяНравится
Hello, it’s a good project, but after I use st-link to brush and write, my computer can’t recognize the device. Do you know what the problem is
НравитсяНравится
have problem with the conexion on w10, undetected….
НравитсяНравится
Where can I get v0.15 source code?
НравитсяНравится
hi, i loaded the software and everything, i get to osh change the conmfiguration for as many buttons i need but windows does not detect any button when is press, keep showing all the bottons and encoders, what i can do?
НравитсяНравится