Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Embedded Bootloader Development From Ground Up™

Posted By: ELK1nG
Embedded Bootloader Development From Ground Up™

Embedded Bootloader Development From Ground Up™
Last updated 9/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.96 GB | Duration: 6h 48m

Essentials of Custom Bootloader Development

What you'll learn

Develop a deep understanding of the fundamentals of bootloader development, including the embedded build process and memory layout.

Gain hands-on experience working with linker scripts, creating custom sections, defining memory regions, and storing functions in custom sections.

Develop a multi-slot bootloader system that allows you to store multiple application firmware in memory.

Build complex firmware solutions.

Requirements

No programming experience needed - I'll teach you everything you need to know.

NUCLEO-F411

Description

Get ready to dive into the exciting world of bootloader development with this beginner level course of our bootloader development series on STM32 microcontrollers.Throughout this beginner-friendly course, you will explore the fundamentals of bootloader development, from the build process to the memory model and beyond.Through a number of bite-sized modules, you will learn how to create custom bootloaders that enable you to take control of your firmware and unlock the full potential of your STM32 microcontrollers. You will gain understanding of the embedded build process, the STM32F4 memory model, and the critical role of linkerscripts and the linking process.In addition to theory, you will get hands-on experience working with the linkerscript; creating custom sections, and defining memory regions etc.But that's not all - you'll also have the opportunity to get further hands-on experience with  linkerscripts and design and develop your own bootloader. And in the final project, you'll apply your newfound knowledge to create a multi-slot memory system  bootloader which is capable of storing multiple firmware applications on the same microcontroller, implement a push-button trigger for entering bootloader mode, and develop a simple communication driver for selecting different firmware  applications stored in memory.By the end of this course, you'll have the skills and knowledge needed to confidently develop custom bootloaders for STM32 microcontrollers, opening up new possibilities for firmware updates, recovery, security, and customization.With the flexible online format, you can study at your own pace, from anywhere in the world. Plus, we offer a 30-day money-back guarantee, so you can enroll with confidence. Here's a sneak peek at what you can expect to learn:The Right BootWhat is a boot loader?Why is it needed?The Embedded Build Process and Memory ModelOverview of the Embedded Build ProcessA closer look at the Embedded Build ProcessOverview of the STM32F4 Memory ModelUnderstanding the Linkerscript and Linking ProcessAnalyzing the Linkerscript and Memory LayoutWorking with the LinkerscriptCreating SECTIONS in the LinkerscriptDefining custom MEMORY RegionsStoring functions in Custom SectionsBare-Metal Bootloader DevelopmentImplementing the Jump-to-Application functionImplementing the Default ApplicationSharing functions between the Bootloader and User ApplicationMulti-Slot Bootloader SystemReceiving UART CommandsDesigning the SystemImplementing the Multi-Slot Bootloader System

Overview

Section 1: Introduction

Lecture 1 Downloading CubeIDE

Lecture 2 Installing CubeIDE

Lecture 3 Getting the required documentation

Lecture 4 Getting the required package for bare-metal development

Lecture 5 Testing the project setup

Section 2: The Right Boot

Lecture 6 The Need for a Bootloader

Section 3: Developing Some Generic Drivers

Lecture 7 Important information about this section

Lecture 8 Programming : Enabling the Floating Point Unit (FPU)

Lecture 9 Programming : Developing a UART Driver - Analyzing the Documentation

Lecture 10 Programming : Developing a UART Driver - Listing out the steps

Lecture 11 Programming : Developing a UART Driver - Implementing the Init. function

Lecture 12 Programming : Developing a UART Driver - Implementing the Write function

Lecture 13 Programming : Developing a UART Driver - Testing the Driver

Lecture 14 Programming : Developing the System Timebase - Analyzing the Documentation

Lecture 15 Programming : Developing the System Timebase - Implementing the Init. function

Lecture 16 Programming : Developing the System Timebase - The rest of the functions

Lecture 17 Programming : Developing the System Timebase - Testing the Timebase

Lecture 18 Programming : BSP : Listing the out the Required Functions

Lecture 19 Programming : Writing the LED Driver

Lecture 20 Programming : Writing the PushButton Driver

Lecture 21 Programming : Testing the Board Support Package

Section 4: The Embedded Build Process and Memory Model

Lecture 22 Overview of the Embedded Build Process

Lecture 23 A closer look at the Embedded Build Process

Lecture 24 Overview of the STM32F4 Memory Model

Lecture 25 Understanding the Linkerscript and Linking Process

Lecture 26 Analyzing the Linkerscript and Memory Layout

Section 5: Working with the Linkerscript

Lecture 27 Source Code Download

Lecture 28 Programming : Creating SECTIONS in the Linkerscript

Lecture 29 Programming : Defining custom MEMORY regions

Lecture 30 Programming : Storing functions in Custom Sections

Section 6: Bare-Metal Bootloader Development

Lecture 31 Programming : Implementing the Jump-to-Application function

Lecture 32 Programming : Implementing the Default Application(Pt.1)

Lecture 33 Programming : Implementing the Default Application(Pt.2)

Lecture 34 Programming : Sharing functions between the Bootloader and User Application(Pt1)

Lecture 35 Programming : Sharing functions between the Bootloader and User Application(Pt2)

Section 7: Final Project- Multi-Slot Bootloader System

Lecture 36 Programming : Receiving UART Commands

Lecture 37 Programming : Designing the System

Lecture 38 Programming : Implementing the Multi-Slot Bootloader System(Pt.1)

Lecture 39 Programming : Implementing the Multi-Slot Bootloader System(Pt.2)

Lecture 40 Programming : Implementing the Multi-Slot Bootloader System(Pt.3)

Section 8: Closing

Lecture 41 Closing Remarks

Embedded systems engineers and developers who want to expand their knowledge of bootloader development and develop custom firmware for STM32 microcontrollers.