STM32F10x light HID driverless bootloader supporting HD devices
STM32F10x light HID driverless bootloader supporting HD devices
Hi all.
Just to inform you that I just published the code for my TKG-HID-Bootloader and its companion CLI tool TKG-Flash.
https://github.com/TheKikGen/stm32-tkg-hid-bootloader
This is a HID (Human Interface Device) driverless booloader for the STM32F10x family line, including the famous Bluepill. It was largely inspired from the STM32_HID_Bootloader of Vassilis Serasidis (respect to him !), but this project is not really a fork anymore due to a lot of enhancements, code optimizations and bug corrections.
EDIT : I need also to mention here Michel Stempin (squonk42) for his work on the HID bootloader !
The bootloder supports transparently low-medium and high density devices without recompilation (HD devices support is not working properly with the STM32_HID_Bootloader). As its parent project, tkg-hid-bootloader doesn't use any ST libraries, but only CMSIS from the ST SDK. So, the bootloader size is under 2 Kbytes, allowing more space for user programs (user flash memory starts at 0x08000800).
The TKG-FLASH CLI has many new features, like dump, simulation mode, progression bar, etc... and compatibilty with the STM32DUINO platform, and original HID-FLASH CLI is preserved.
Be free to test it with your own projects !
Just to inform you that I just published the code for my TKG-HID-Bootloader and its companion CLI tool TKG-Flash.
https://github.com/TheKikGen/stm32-tkg-hid-bootloader
This is a HID (Human Interface Device) driverless booloader for the STM32F10x family line, including the famous Bluepill. It was largely inspired from the STM32_HID_Bootloader of Vassilis Serasidis (respect to him !), but this project is not really a fork anymore due to a lot of enhancements, code optimizations and bug corrections.
EDIT : I need also to mention here Michel Stempin (squonk42) for his work on the HID bootloader !
The bootloder supports transparently low-medium and high density devices without recompilation (HD devices support is not working properly with the STM32_HID_Bootloader). As its parent project, tkg-hid-bootloader doesn't use any ST libraries, but only CMSIS from the ST SDK. So, the bootloader size is under 2 Kbytes, allowing more space for user programs (user flash memory starts at 0x08000800).
The TKG-FLASH CLI has many new features, like dump, simulation mode, progression bar, etc... and compatibilty with the STM32DUINO platform, and original HID-FLASH CLI is preserved.
Be free to test it with your own projects !
Last edited by TheKikGen on Mon May 04, 2020 3:49 am, edited 1 time in total.
Re: STM32F10x light HID driverless bootloader supporting HD devices
+1
Thanks for sharing!
Very nice! Congratulations!
Thanks for sharing!
Very nice! Congratulations!
-
- Posts: 502
- Joined: Fri Dec 27, 2019 4:53 pm
- Location: Munich, Germany
- Contact:
Re: STM32F10x light HID driverless bootloader supporting HD devices
+1
I see that bootloaders are very popular nowadays
I assume you will port it to F3 and F4 soon.
I see that bootloaders are very popular nowadays
I assume you will port it to F3 and F4 soon.
Re: STM32F10x light HID driverless bootloader supporting HD devices
Most f4's have internal system dfu bl, so its not necessary unless you need some specific functions for your own project
-
- Posts: 502
- Joined: Fri Dec 27, 2019 4:53 pm
- Location: Munich, Germany
- Contact:
Re: STM32F10x light HID driverless bootloader supporting HD devices
Yes, I need to upload over USB without setting jumpers and pressing buttons.
And is practical, unless the core supports direct jump to ROM bootloader via USB serial trigger.
And is practical, unless the core supports direct jump to ROM bootloader via USB serial trigger.
Re: STM32F10x light HID driverless bootloader supporting HD devices
Im sure, implementing cdc triggered jump to sysbl for yours or roger's core which supports limited amount of mcus will not be difficult, at least its easier than writing your own bl. For hal based core its wip and im using it for several months already.
-
- Posts: 502
- Joined: Fri Dec 27, 2019 4:53 pm
- Location: Munich, Germany
- Contact:
Re: STM32F10x light HID driverless bootloader supporting HD devices
Nice.
But that needs, again, a special driver to be installed on the host system right? Otherwise you cannot use DFUse or dfu-util or cubeprog.
The HID or CDC bootloaders do not require any special driver.
But that needs, again, a special driver to be installed on the host system right? Otherwise you cannot use DFUse or dfu-util or cubeprog.
The HID or CDC bootloaders do not require any special driver.
Re: STM32F10x light HID driverless bootloader supporting HD devices
Sure, and we already discussed it)stevestrong wrote: ↑Thu Apr 30, 2020 12:57 pm Nice.
But that needs, again, a special driver to be installed on the host system right? Otherwise you cannot use DFUse or dfu-util or cubeprog.
The HID or CDC bootloaders do not require any special driver.
1. it's needed only once to install a driver, and also, you need a driver anyway, to initially flash your bootloader, for usbttl device via system serial bootloader, or for system dfu bootloader or for stlink dongle, no matter, all these ways require drivers
2nd, it's a Windows only stuff, so i personally don't care
Re: STM32F10x light HID driverless bootloader supporting HD devices
+1stas2z wrote: ↑Thu Apr 30, 2020 3:57 pm Sure, and we already discussed it)
1. it's needed only once to install a driver, and also, you need a driver anyway, to initially flash your bootloader, for usbttl device via system serial bootloader, or for system dfu bootloader or for stlink dongle, no matter, all these ways require drivers
2nd, it's a Windows only stuff, so i personally don't care