STM32 Tutorial #40 - Creating Custom Bootloader (USB DFU) and Relocated Application

Описание к видео STM32 Tutorial #40 - Creating Custom Bootloader (USB DFU) and Relocated Application

This is a big one. In this video we will explain and go through the process of creating a custom bootloader, which will allow firmware update using USB DFU (Device firmware update). This will ultimately allow us to upgrade firmware from a browser. The video will cover both the bootloader itself as well as relocating the application to an alternative memory address. We will be implementing both the bootloader and the application in real-time - in less than an hour.

The actual DFU functionality will be added at a later time.

As usual - if you learned anything from this video, please do like and subscribe. If there's something you do not like, please explain in a comment so I can learn to do better.

A bug is in this video! Please check    • STM32 Short #1 - FIXING Buggy Bootloader   for an explanation.

In an earlier video we looked at how to jump to the internal bootloader. It would be advisable to watch that first here:    • STM32 Tutorial #22 - AMAZING Jump to ...  

This will (work in progress) be described on the STM32World wiki here: https://stm32world.com/wiki/Custom_DF...

Project Files: https://github.com/STM32World/stm32fun

#stm32 #tutorial #GettingStarted #bootloader #usb #dfu #stm32cubeide #stm32cubemx #stm32world #arduino

00:00 Intro and recap
01:40 A bit of theory
03:00 Creating the new bootloader project
07:20 Creating the new application project
10:50 Analysing the bootloader build
11:20 Adding a bit of functionality to bootloader
16:15 Adjusting the linker script for the bootloader
19:26 Adding functionality to the application
23:30 Relocating the application
32:26 Testing both bootloader and application
34:45 Implementing switch between bootloader and application
40:30 Implementing button interrupt in bootloader
43:00 Implementing button interrupt in application
44:11 Jump to bootloader from application
47:20 Testing final solution and sorting out bugs
50:00 Working!!!!

Комментарии

Информация по комментариям в разработке