Bootloader Design Techniques for MCU’s


Course Overview

Microcontrollers have proliferated into every nook and cranny of our daily lives from simple 8-bit devices that control our toaster ovens to powerful 32-bit DSP’s that provide us with the rich media and entertainment that we have all become accustomed to. Without microcontrollers, our lives would not only be less exciting but we would lose a level of control over our world that we can no longer live without. Billions of microcontrollers are sold each year with the number continually climbing.

What happens to these microcontroller based products when millions of units have shipped and a software “enhancement” needs to be made? Does every unit need to be returned to the manufacturer every time the software is updated? Are televisions, blue-ray players and other devices returned to the manufacturer periodically so that the customer can continue to have the latest and greatest software operating on their device? The obvious answer to these questions is absolutely not and the primary reason why is that most systems ship with a boot-loader on-board.

This course is designed for both newbies and experienced engineers looking to get a new understanding or a refresh on the fundamentals of bootloaders for microcontrollers. This course takes a hands on approach of tying key concepts with real world practice in the class room with a cutting edge Arm M0+ processor. A review of requirements definitions, memory maps, linkers files and much more are explored. Attendees will have no problem developing their own bootloader after this course.

Session 1 – Introduction to Boot-loaders

  • Boot-loader Requirements
  • Boot-loader Firmware Models
  • The boot-loader system
  • Boot-loader behavior
  • Application behavior
  • An example boot-loader

Session 2 – Boot-loader Implementation Fundamentals

  • Start-up Branching
  • Boot-loader Commands
  • Image Assembly
  • A generic implementation model
  • Resetting the system
  • Partitioning Memory
  • Reset Vectors
  • File formats
  • Troubleshooting

During this course the labs will lead the student to develop their very own basic boot-loader.

The course is organized as a “work at your own pace” course which allows the student to either complete the course in a single day or split it up over the course of a week or month. This course can be ordered by clicking the “Add to Cart” button located at the bottom of the page.

The course is also offered on-site and as series of webinars. Anyone interested in this method can contact us at [email protected] to request the course schedule.

For additional questions or comments please contact

Price: $295

* Please note that once the course is added to the cart you must return to the bottom of the Training Page to Check-out or click here to check-out.