Design and Develop Your Own Bootloader

Course Content

 

Setting Up

 Course Requirements

 Downloading CubeIDE

 Installing CubeIDE

 Getting the required documentation

 Getting the required package for development

 Testing the project setup

The Right Boot

 The Need for a Bootloader

Developing some System Drivers for Implementing Real World Examples

 Important information about this section

 Code: Enabling the Floating Point Unit (FPU)

 Code: UART Driver – Analyzing the Documentation

 Code: UART Driver – Listing out the steps

 Code: UART Driver – Implementing the Initialization function

 Code: UART Driver – Implementing the Write function

 Code: UART Driver – Testing the Driver

 Code: System Timebase – Analyzing the Documentation

 Code: System Timebase – Implementing the Init. function

 Code: System Timebase – The rest of the functions

 Code: System Timebase – Testing the Timebase

 Code: BSP for the Dev Board – Required functions

 Code: BSP for the Dev Board – The LED Driver

 Code: BSP for the Dev Board – The Button Driver

 Code: BSP for the Dev Board – Testing the BSP

The Embedded Build Process and Memory Model

 A Closer Look at the Embedded Build Process

 Overview of the Embedded Build Process

 Overview of the STM32F4 Memory Model

 Understanding the Linkerscript and Linking Process

 Analyzing the Linkerscript and Memory Layout

Working with the Linkerscript

 Code: Creating SECTIONS in the Linkerscript

 Code: Defining custom MEMORY regions

 Code: Storing functions in Custom Sections

Bare-Metal Bootloader Development

 Code: Implementing the Default Application(Pt.1)

 Code: Implementing the Jump-to-Application function

 Code: Sharing functions between the Bootloader and User Application

Final Project- Multi-Slot Bootloader System

 Code: Designing the System

 Code: Receiving UART Commands

 Code: Implementing the Multi-Slot Bootloader System

 

Know your Instructor

Meet Rahul, our esteemed instructor with over 18 years of expertise spanning diverse industries. His extensive 
background includes stints in consumer electronics, process automation, automotive, medical devices, storage products,
 and more. Rahul’s wealth of experience from renowned organizations like Hyundai, Emerson, Seagate, Philips, and
 Belden enriches his teachings, offering invaluable real-world insights and practical wisdom in IoT and Embedded Systems training.
The course starts now and never ends! It is a completely self-paced online course – you decide when you start and when you finish.
Complete Source Code Included

Weekend Live Sessions

Next Batch 10-11 Feb

Saturday 2:30 PM – 5:30 PM

Sunday    2:30 PM – 5:30 PM

Frequently Asked Questions

What if I miss any of the live sessions?
You will be given access to the recorded sessions.

How long do I have access to the recorded sessions?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like – across any devices you own.

Do I get a certificate?
Yes, after a successful completion of the course.