16-Bit Bootloaders Using MCC: Device Side

16-Bit Bootloaders Using MCC: Device Side

This class will focus on creating both a generic 16-bit bootloader and a secure 16-Bit bootloader using ECDSA signing features of the ATECC608B for the PIC24/dsPIC33 devices using MPLAB® X IDE and the MPLAB Code Configurator (MCC). (Updated May 2022)

rate limit

Code not recognized.

About this course

This class will focus on creating both a generic 16-bit bootloader and a secure 16-Bit bootloader using ECDSA signing features of the ATECC608B for the PIC24/dsPIC33 devices using MPLAB® X IDE and the MPLAB Code Configurator (MCC).  The class will walk the student through the automated creation of both bootloaders using MCC as well as creating application projects which are downloaded to the device using the 16-Bit bootloader and the Universal Bootloader Host Application.

For the Secure Boot portion of the class the student is shown how MCC can generate and use private and public keys and how the signing process is integrated into the build process for the user.  The class also discusses how to create a custom flow using customer generated private and public keys to sign the projects. The student is then shown how the Microchip’s ATECC608B is used to verify the signature of the application code prior to running the application code.

Finally, a set of detailed off-line labs covering more features of both the normal and the secure boot versions of the bootloader.  These detailed labs are given to the student to complete on their own.

Curriculum114 min

  • Introduction
  • Syllabus 1 min
  • Software and Hardware Used in This Class
  • Introduction 1 min
  • What is a Bootloader?
  • Bootloader Overview 2 min
  • Bootloader Concept 4 min
  • 16-Bit Bootloader
  • 16-Bit Bootloader Overview 3 min
  • 16-Bit Bootloader Details 6 min
  • 16-Bit Bootloader Kernel 6 min
  • 16-Bit Bootloader Application 3 min
  • Software Installation
  • Installing 16-Bit Bootloader into MCC 2 min
  • Installing Universal Bootloader Host Adapter (UBHA) Software 2 min
  • 16-Bit Bootloader Demo
  • Demo Description 3 min
  • Building a Base Project for the 16-Bit Bootloader 3 min
  • Configuring the 16-Bit Bootloader 6 min
  • Building the 16-Bit Bootloader 4 min
  • Building the Application Base Project 4 min
  • Enabling Application to use Bootloader 6 min
  • Downloading the Application with UBHA For the First Time 6 min
  • More Application Downloading Examples with UBHA 2 min
  • 16-Bit Secure Boot Bootloader
  • Secure Boot Background 5 min
  • Signing and Verifying an Application 6 min
  • 16-Bit Secure Boot Bootloader Demo Using the ATECC608 Secure Element
  • Demo Description 3 min
  • Creating the 16-Bit Base Project 3 min
  • Adding Secure Boot to the 16-Bit Base Project 8 min
  • Configuring and Building the 16-Bit Secure Boot Project 7 min
  • Creating the 16-Bit Application Project 4 min
  • Configuring the 16-Bit Application Project to Use the Secure Boot Bootloader 8 min
  • Using the UBHA to Download the 16-Bit Application 6 min
  • Common Issues
  • Common Issues Observed 3 min
  • Lab Materials
  • Lab Files For Download
  • Your Feedback
  • We Need your Feedback!

About this course

This class will focus on creating both a generic 16-bit bootloader and a secure 16-Bit bootloader using ECDSA signing features of the ATECC608B for the PIC24/dsPIC33 devices using MPLAB® X IDE and the MPLAB Code Configurator (MCC).  The class will walk the student through the automated creation of both bootloaders using MCC as well as creating application projects which are downloaded to the device using the 16-Bit bootloader and the Universal Bootloader Host Application.

For the Secure Boot portion of the class the student is shown how MCC can generate and use private and public keys and how the signing process is integrated into the build process for the user.  The class also discusses how to create a custom flow using customer generated private and public keys to sign the projects. The student is then shown how the Microchip’s ATECC608B is used to verify the signature of the application code prior to running the application code.

Finally, a set of detailed off-line labs covering more features of both the normal and the secure boot versions of the bootloader.  These detailed labs are given to the student to complete on their own.

Curriculum114 min

  • Introduction
  • Syllabus 1 min
  • Software and Hardware Used in This Class
  • Introduction 1 min
  • What is a Bootloader?
  • Bootloader Overview 2 min
  • Bootloader Concept 4 min
  • 16-Bit Bootloader
  • 16-Bit Bootloader Overview 3 min
  • 16-Bit Bootloader Details 6 min
  • 16-Bit Bootloader Kernel 6 min
  • 16-Bit Bootloader Application 3 min
  • Software Installation
  • Installing 16-Bit Bootloader into MCC 2 min
  • Installing Universal Bootloader Host Adapter (UBHA) Software 2 min
  • 16-Bit Bootloader Demo
  • Demo Description 3 min
  • Building a Base Project for the 16-Bit Bootloader 3 min
  • Configuring the 16-Bit Bootloader 6 min
  • Building the 16-Bit Bootloader 4 min
  • Building the Application Base Project 4 min
  • Enabling Application to use Bootloader 6 min
  • Downloading the Application with UBHA For the First Time 6 min
  • More Application Downloading Examples with UBHA 2 min
  • 16-Bit Secure Boot Bootloader
  • Secure Boot Background 5 min
  • Signing and Verifying an Application 6 min
  • 16-Bit Secure Boot Bootloader Demo Using the ATECC608 Secure Element
  • Demo Description 3 min
  • Creating the 16-Bit Base Project 3 min
  • Adding Secure Boot to the 16-Bit Base Project 8 min
  • Configuring and Building the 16-Bit Secure Boot Project 7 min
  • Creating the 16-Bit Application Project 4 min
  • Configuring the 16-Bit Application Project to Use the Secure Boot Bootloader 8 min
  • Using the UBHA to Download the 16-Bit Application 6 min
  • Common Issues
  • Common Issues Observed 3 min
  • Lab Materials
  • Lab Files For Download
  • Your Feedback
  • We Need your Feedback!