cancel
Showing results for 
Search instead for 
Did you mean: 

One-time HID bootloader? ("destroying" the STM32F103's ability to load bootloader again) ?

pilot
Associate III

In order to make it easier for others to upload software, I decided to add the HID Bootloader:

https://github.com/Serasidis/STM32_HID_Bootloader

 

it is small and effiecient

 

uploaded this to Bluepill (both jumpers in "0" position)

 

$ ./STM32_Programmer.sh -c port=SWD -w ~/Downloads/stm32_HID\ bootloader2.2/F103/low_and_medium_density/hid_generic_pc13.bin 0x08000000 ------------------------------------------------------------------- STM32CubeProgrammer v2.5.0 ------------------------------------------------------------------- ST-LINK SN : 7287090032124647524B4E00 ST-LINK FW : V2J29S7 Board : -- Voltage : 3.18V SWD freq : 4000 KHz Connect mode: Normal Reset mode : Software reset Device ID : 0x410 Revision ID : Rev X Device name : STM32F101/F102/F103 Medium-density Flash size : 64 KBytes Device type : MCU Device CPU : Cortex-M3 Memory Programming ... Opening and parsing file: hid_generic_pc13.bin File : hid_generic_pc13.bin Size : 1976 Bytes Address : 0x08000000 Erasing memory corresponding to segment 0: Erasing internal memory sectors [0 1] Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:00.181
View more

 

 

 

In order to test it, I uploaded "blink" using Arduino method "HID bootloader 2.2"

it worked, the device started blinking - tried again, but was unable, no matter what I did the HID device 1209:BEBA does not appear anymore. 
Re-uploaded the bootloader using SWD - but this time it does not work at all.

I repeated this two times, this process does somehow mess up the device.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
pilot
Associate III

oh, I see, the main program gets executed first, unless I move the jumper!

 

Are there other small bootloaders ?

View solution in original post

1 REPLY 1
pilot
Associate III

oh, I see, the main program gets executed first, unless I move the jumper!

 

Are there other small bootloaders ?