We detect you are using an unsupported browser. For the best experience, please visit the site using Chrome, Firefox, Safari, or Edge. X
Maximize Your Experience: Reap the Personalized Advantages by Completing Your Profile to Its Fullest! Update Here
Stay in the loop with the latest from Microchip! Update your profile while you are at it. Update Here
Complete your profile to access more resources.Update Here!
Item Qty
Your cart is empty.

Bootloader for dsPIC33 DSCs and PIC24 MCUs


As embedded devices evolve in both capability and connectivity, so does the need to enable remote application updates. Not limited to a single communications protocol, embedded connectivity takes many forms and is essential in growing markets including the Internet of Things (IoT). Remote firmware updates allow for simplified and efficient upgrades to an existing application while increasing a product's useful life. The addition of new features to a product can be used to maintain a competitive advantage against new market offerings or unlock existing fee-based premium content. Additionally, software fixes can be quickly propagated to ensure reliable system operation.

To take advantage of this connectivity, bootloader firmware must reside within memory to provide self-programming capability to the microcontroller. Developing custom bootloader code can be a complex and time-consuming process. We provide a 16-bit bootloader to assist developers using PIC24 microcontrollers (MCUs) and dsPIC33 Digital Signal Controllers (DSCs). The simple GUI interface enables you to create bootloader firmware designed to suit your application needs. We also provide application firmware configuration that enables you to easily customize the bootloader with your application.

To complement the bootloader generator, we also provide a unified bootloader host application. This tool is used to transfer new application code to the embedded device that contains the bootloader code. This GUI application can communicate with the target device using the bootloader command protocol through any of the supported physical layer interfaces.

Key Highlights:

  • Support for bootloading over UART, CAN 2.0 and CAN FD communication
    • Supports CAN Transport Protocol (CAN TP ISO 15765-2)
  • Secure boot and secure firmware upgrades
  • Adds the ability for the bootloader to optionally verify that the application image is correct and authentic using the Elliptical Curve Digital Signature Algorithm (ECDSA with ECC P-256/SHA-256 and ECCP-384/SHA-384) via the ATECC608 CryptoAuthentication™ and TrustAnchor TAxxx CryptoAutomotive™ secure elements
  • Immutability
  • Adds support for the CodeGuard™ Flash Security Module in the bootloader, which allows devices with this module to configure the boot segment as a read-only section of memory to protect the bootloader from modification via remote digital attacks
  • Optionally supports the ability to use the SHA-256, SHA-384 or 32-bit CRC-Q algorithm to verify that the application image is correct before it is allowed to execute
  • Optionally supports multiple application images
  • Bootloader can be configured to maintain the existing active image (not overwrite it) while receiving an updated firmware image
  • Enables newly downloaded and updated firmware to be verified for integrity and optionally for authenticity before making it an active firmware image
  • Optionally facilitates the maintenance of a Golden Image or Factory Default Image
  • Helps to build resiliency in the system
  • Adds support to use ATECC608 and TrustAnchor TAxxx key storage slots for ECDSA verification
  • Enables customers to use TrustFLEX and Trust&GO versions of the ATECC608 and TrustAnchor TAxxx secure elements
  • Offers robust security with public key safely stored in the ATECC608 or the TrustAnchor TAxxx
  • This feature is available in addition to the option of storing public key for ECDSA verification in immutable boot segment of PIC24 or dsPIC33 devices
  • Optionally supports anti-rollback protection
  • Adds support for a semantic versioning (semver) based version number

Refer to the MPLAB® Code Configurator (MCC) 16-bit Bootloader release notes for the list of supported devices. Future releases of the MCC 16-bit Bootloader will include support for additional PIC24 MCUs and dsPIC33 DSCs and features.

For devices and communication interfaces that are not yet supported by the MCC 16-bit Bootloader, please use Easy Bootloader (EZBL). For advanced Live Update feature support to update firmware in real time, please refer to Online Firmware Updates in Timing-Critical Applications (AN2601) along with Easy Bootloader (EZBL).

Refer to MPLAB Code Configurator (MCC) for MCC installation instructions and additional information.

Learning Opportunities

The software in this section is subject to the U.S. Export Administration Regulations and other U.S. law, and may not be exported or re-exported to certain countries or to persons or entities prohibited from receiving U.S. exports (including Denied Parties, entities on the Bureau of Export Administration Entity List, and Specially Designated Nationals).

Latest Firmware and Release Notes:

Downloads and Documents


Title
Date
Unified Bootloader Host Application 12 Feb 2024 Download