STM32Fx Microcontroller Custom Bootloader Development

h264, yuv420p, 1280×720, 248 kb/s | English, aac, 44100 Hz, 2 channels, s16, 125 kb/s | 7h 30mn | 3.4 GB
Instructor:FastBit Embedded Brain Academy

I have designed this course for students to get started with Micro-controller Bootloader Development.

Learn fundamentals of Bootloader Development for your ARM Cortex Mx based STM32Fx Microcontroller What you’ll learn

Write your own custom bootloader for your STM32Fx microcontroller and test

Host Bootloader Communication implementation

Custom Bootloader command packets

Different boot modes of the STM32 Microcontroller

Boot loader flash handling implementation : Sector Erase/Program/Mass erase

Boot loader options bytes(OB) Program handling implementation

Boot loader Flash sector protection status handling implementation

Boot loader In application programming implementation (IAP)

Vector table relocation of ARM cortex Mx processor

Requirements

STM32Fx based board is needed if you want to test the code developed

Basic ‘C’ Programming Knowledge is required but not mandatory

Description

This course will be suitable for beginners in the domain of embedded systems and programming.

This course is all about learning to develop a custom BootLoader for ARM CORTEX Mx powered STM32Fx microcontroller.

In this course, I will guide you through step by step procedure to develop your own BootLoader and we will explore many things related to BootLoader programming.

The BootLoader we are going to develop in this course will have the following features

1) It can do the in application programming(IAP). You can use the BootLoader to flash a given application binary

2) Read microcontroller specific data

3) Flash related configurations like setting up read and write protections for different sectors

4) Flash sector erase

5) Mass erase of the user flash

6) Read and display the protection status of the flash memory

7) Jump to the specified address to execute the code

Along with custom BootLoader development, you will also understand

1) The different memory organization of a microcontroller

2) Memory aliasing and different boot modes of STM32

3) How MCU boots after power up

4) Vector table mapping and vector table relocation use case of arm cortex mx processor.

5) Difference between In-system programming(ISP) and in application programming(IAP)

6) Custom boot loader design flow chart

7) Host and Boot loader communication method

8) Implementation of different boot loader commands

You can also extend this BootLoader by giving the following features once you complete the course

1) Encrypt and Decrypt the firmware sent by the host using AES

2) Over the air programming by interfacing WIFI or Zigbee Modules

Hardware used in this course

In this course, STM32F446RE Nucleo board is used.

If you have any other board based on STM32 microcontroller then also you can use the codes developed in the course with no or minor changes.

Software used:

1) KEIL-MDK-5 for WINDOWS

2) OpenSTM32 SystemWorkbench for (WINDOWS/LINUX/MAC OS)

Who this course is for:

Students in the field of Microcontroller and Embedded Systems

Professionals working in the field of Embedded systems

DOWNLOAD
(Buy premium account for maximum speed and resuming ability)