All Projects → IntergatedCircuits → DfuBootloader

IntergatedCircuits / DfuBootloader

Licence: Apache-2.0 license
STM32 USB device bootloader using DFU class interface

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects
Makefile
30231 projects

Projects that are alternatives of or similar to DfuBootloader

PIC16F1-USB-DFU-Bootloader
DFU protocol variant of Matt Sarnoff's PIC16F1-USB-Bootloader
Stars: ✭ 39 (-50.63%)
Mutual labels:  usb, bootloader, dfu
Sboot stm32
Secure USB DFU1.1 bootloader for STM32
Stars: ✭ 181 (+129.11%)
Mutual labels:  usb, stm32, bootloader
stm32-usb-bootloader
This repository contains bootloader for stm32f1xx microcontrollers. It works for stm32f103ret6, but you can simply adopt it to any MCU supporting STM32 HAL library with USB and SD-card
Stars: ✭ 40 (-49.37%)
Mutual labels:  usb, stm32, bootloader
f1usb
Einfaches Beispiel für die Entwicklung eines USB FullSpeed Device auf Basis des STM32F103 ohne die Verwendung externer Bibliotheken
Stars: ✭ 27 (-65.82%)
Mutual labels:  usb, stm32
STM32 USB CH341
STM32 USB simulates CH341.
Stars: ✭ 52 (-34.18%)
Mutual labels:  usb, stm32
kikpad
KiKPad : the Midiplus SmartPad reinvented !
Stars: ✭ 31 (-60.76%)
Mutual labels:  usb, stm32
Modbus-STM32-HAL-FreeRTOS
Modbus TCP and RTU, Master and Slave for STM32 using Cube HAL and FreeRTOS
Stars: ✭ 272 (+244.3%)
Mutual labels:  usb, stm32
Teenyusb
Lightweight USB device and host stack for STM32 and other MCUs.
Stars: ✭ 287 (+263.29%)
Mutual labels:  usb, stm32
usb stack
Tiny and portable USB device/host stack for embedded system with USB IP
Stars: ✭ 175 (+121.52%)
Mutual labels:  usb, dfu
Libusb stm32
Lightweight USB device Stack for STM32 microcontrollers
Stars: ✭ 372 (+370.89%)
Mutual labels:  usb, stm32
Toboot
Bootloader for the EFM32HG Tomu Board
Stars: ✭ 65 (-17.72%)
Mutual labels:  usb, bootloader
ISASTM
STM32-based ISA-over-USB-adapter
Stars: ✭ 86 (+8.86%)
Mutual labels:  usb, stm32
Stm32f103 Usb Cdc Cmsis
STM32F103 USB CDC CMSIS
Stars: ✭ 40 (-49.37%)
Mutual labels:  usb, stm32
Micronucleus
ATTiny usb bootloader with a strong emphasis on bootloader compactness.
Stars: ✭ 1,240 (+1469.62%)
Mutual labels:  usb, bootloader
stm32 tiny monitor
A tiny external monitor for PC using STM32 and ST7789. Connects to PC over USB and displays the captured screen on ST7789 (240x240) display.
Stars: ✭ 61 (-22.78%)
Mutual labels:  usb, stm32
stm32 i2c to usb hid multitouch
i2c to usb hid multi touch with stm32
Stars: ✭ 55 (-30.38%)
Mutual labels:  usb, stm32
STM32 XPD
STM32 eXtensible Peripheral Drivers
Stars: ✭ 38 (-51.9%)
Mutual labels:  usb, stm32
Dapboot
DFU Bootloader for STM32 chips
Stars: ✭ 194 (+145.57%)
Mutual labels:  stm32, bootloader
Hoodloader2
16u2 Bootloader to reprogram 16u2 + 328/2560 with Arduino IDE
Stars: ✭ 509 (+544.3%)
Mutual labels:  usb, bootloader
Usbdevice
Highly flexible Composite USB Device Library
Stars: ✭ 144 (+82.28%)
Mutual labels:  usb, stm32

DFU Bootloader Build Status

This repository contains a generic USB device bootloader firmware for STM32 controllers.

Features

  • Fully-featured DFU class (with support to STMicroelectronics protocol Extension) USB device
  • Small footprint: consumes only 8kB flash with -Os (50% smaller than the STM32Cube solution)
  • The DFU interface is allocated to a fixed address, so it can be mounted on the application's USB device, allowing convenient entry to firmware update mode
  • Easy to port on virtually any STM32 device that is supported by STM32_XPD
  • C# CLI application available for performing the update: LibUsbDfu

How to build

Simply run make with the following arguments:

Symbol Name Use
SERIES The series of the STM32 device
TARGET_HEADER String of the device-specific STM32_XPD header
APP_ADDRESS Value of the application's flash start address
APP_SIZE The total available flash space for the application in bytes
TOTAL_ERASE_MS Average erase time of the application flash area
VID Vendor ID of the USB device in hexadecimal format (no prefix)
PID Product ID of the USB device in hexadecimal format (no prefix)
DFUSE Set to 1 if DFUSE protocol is desired
DESC_STR DFUSE specific flash layout descriptor string
BINPATH Path to build toolchain binaries (/usr/bin by default)

An example for an STM32F042K6 device with (VID,PID)={FFFF,FFFF}:

make TARGET_HEADER="\<stm32f042x6.h\>" SERIES=STM32F0 APP_ADDRESS=0x08002000 APP_SIZE=24568 TOTAL_ERASE_MS=480 VID=FFFF PID=FFFF

Further examples can be found in .travis.yml.

Built with GCC. (arm-atollic-eabi- is preferred over arm-none-eabi- as it provides better size optimization)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].