% Off Udemy Coupon - CourseSpeak

STM32Fx Microcontroller Custom Bootloader Development

Learn fundamentals of Bootloader Development for your ARM Cortex Mx based STM32Fx Microcontroller

$9.99 (90% OFF)
Get Course Now

About This Course

<div>Get started with Micro-controller Bootloader Development.</div><div>This course will be suitable for beginners in the domain of embedded systems and programming.</div><div><br></div><div>This course is all about learning to develop a custom BootLoader for ARM CORTEX Mx powered STM32Fx microcontroller.</div><div><br></div><div>In this course, I will guide you through a step-by-step procedures to develop your own BootLoader and we will explore many things related to BootLoader programming.</div><div><br></div><div><br></div><div><br></div><div>The BootLoader we are going to develop in this course will have the following features</div><div><br></div><div>1) It can do in-application programming(IAP). You can use the BootLoader to flash a given application binary</div><div><br></div><div>2) Read microcontroller-specific data</div><div><br></div><div>3) Flash related configurations like setting up read and write protections for different sectors</div><div><br></div><div>4) Flash sector erase</div><div><br></div><div>5) Mass erase of the user flash</div><div><br></div><div>6) Read and display the protection status of the flash memory</div><div><br></div><div>7) Jump to the specified address to execute the code</div><div><br></div><div><br></div><div><br></div><div>Along with custom BootLoader development, you will also understand</div><div><br></div><div>1) The different memory organization of a microcontroller</div><div><br></div><div>2) Memory aliasing and different boot modes of STM32</div><div><br></div><div>3) How MCU boots after power-up</div><div><br></div><div>4) Vector table mapping and vector table relocation use case of arm cortex mx processor.</div><div><br></div><div>5) Difference between In-system programming(ISP) and in-application programming(IAP)</div><div><br></div><div>6) Custom boot loader design flow chart</div><div><br></div><div>7) Host and Boot loader communication method</div><div><br></div><div>8) Implementation of different boot loader commands</div><div><br></div><div><br></div><div><br></div><div>You can also extend this BootLoader by giving the following features once you complete the course</div><div><br></div><div>1) Encrypt and Decrypt the firmware sent by the host using AES</div><div><br></div><div>2) Over-the-air programming by interfacing WIFI or Zigbee Modules</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>Hardware used in this course:</div><div><br></div><div>In this course, STM32F446RE Nucleo board is used.</div><div><br></div><div>If you have any other board based on the STM32 microcontroller then also you can use the codes developed in the course with no or minor changes.</div><div><br></div><div><br></div><div><br></div><div>Software used:</div><div><br></div><div>1) KEIL-MDK-5 for WINDOWS</div><div><br></div><div>2) OpenSTM32 SystemWorkbench for (WINDOWS/LINUX/MAC OS)</div><div><br></div><div><br></div><div><br></div><div>Learning order of FastBit Embedded Brain Academy Courses,</div><div><br></div><div>If you are a beginner in the field of embedded systems, then you can take our courses in the below-mentioned order.</div><div>This is just a recommendation from the instructor for beginners.</div><div><br></div><div>1) Microcontroller Embedded C Programming: absolute beginners(Embedded C)</div><div><br></div><div>2) Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)</div><div><br></div><div>3) Mastering Microcontroller with Embedded Driver Development(MCU1)</div><div><br></div><div>4) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)</div><div><br></div><div>5) Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)</div><div><br></div><div>6) Embedded System Design using UML State Machines(State machine)</div><div><br></div><div>7) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)</div><div><br></div><div>8) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)</div><div><br></div><div>9) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)</div><div><br></div><div>10) Embedded Linux Step by Step using Beaglebone Black(Linux)</div><div><br></div><div>11) Linux device driver programming using Beaglebone Black(LDD1)</div><div><br></div><div><br></div><div><br></div><div>Other programming courses</div><div><br></div><div>1) Master The Rust Programming Language : Beginner To Advanced</div>

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