Webinar

Writing a bootloader for Cortex-A35/A5x microprocessors

  • On-demand
  • 45 min

Design specifications call for the ability to dynamically update a device’s firmware in the field. This is done commonly via a bootloader.

In this webinar, we will discuss some of the issues involved with developing a bootloader and show you how to set one up from the scratch for Cortex-A35/A5x MPU’s with IAR Embedded Workbench for Arm.

The pragmatics of designing a bootloader are somewhat difficult to discuss because there can be so many different requirements placed on it, e.g. the mechanism for getting the new application into the MPU for some, it will be through the USB peripheral of the MPU, for others, it might be Over the Air (OTA). When creating a bootloader, there are many things to consider regarding project setup, and the execution handover from the bootloader to the application. Should you have one single project, or one for the bootloader and one for the application? When and what is the best way to perform the hardware initialization? What about configuring or resetting the stack pointer? How to avoid unexpected interrupts during startup? How to map the memory for the bootloader and allocate enough memory for the application? Additionally, debugging a bootloader can be a bit tricky since you will only have source-level access to either the bootloader or the application at debug-time. How to make the debugger aware of the two “applications”?

In this session, we will answer all these questions for you in a practical way. Creating a bootloader can be somewhat tricky, but with IAR Embedded Workbench and our tips and tricks, you should be well on your way to creating a successful dynamic software update mechanism for Cortex-A35/A5x MPU’s.

Register to watch