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.

Microchip Easy Bootloader Library


Microchip Easy Bootloader (EZBL) Library

 

Note: For new designs that do not need Live Update feature support, please use the latest 16-bit Bootloader for PIC24 MCUs and dsPIC33 DSCs supported in MPLAB® Code Configurator (MCC).

 

The Microchip Easy Bootloader Library or EZBL for short, is a library of software building blocks and example projects facilitating creation of Bootloaders and compatible Applications. Select dsPIC33 DSCs which can support dual-panel flash with Live Update capability are supported in EZBL library with multiple communications protocols and live update bootloading topologies. Using a pre-compiled API archive and build-time automation tools, numerous manual code development scenarios and bootloader restrictions are eliminated as compared to historical bootloader App Notes and Code Examples. EZBL brings code sharing and advanced feature sets not previously feasible with manually developed bootloader projects.

 

Note: To access EZBL Bootloader library, contact us

 

EZBL Features

Targets supported

• Single and Dual Partition bootloading topology examples on Dual Partition capable targets

• Supported devices include select dsPIC33 DSCs which can support dual-panel flash with Live Update capability

• Dual Partition with Live Update for time and state sensitive application continuity

• Dual Partition with Live Update bootloading topology examples on Dual Partition-capable targets

 

Code reuse

• Transparent Bootloader function, ISR and variable access from executing Application

• Existing code can be integrated into a Bootloader or Application project without significant changes

• File-oriented push/pull and onboard-memory bootloaders ready to use - can be adapted to Over The Air (OTA) and chip-to-chip designs

 

Automatic linker script creation

• No .gld/.ld file maintenance or understanding of GNU ld syntax required

 

Decoupled communications

• 2-wire UART and I2C Client protocols exampled

• USB Mass Storage thumb drive bootloading (USB Host/MSD Class)

• Passive, self-recognizing protocol scalable to multi-node broadcast oriented communications buses

• Multiple peripheral instances and peripheral types can simultaneously listen for firmware updates

• Partitioned to facilitate customer and 3rd party protocol additions

 

Robust self-preservation

• Flash erase/write routines self-aware of Bootloader geometry

• Bootloader will not erase or corrupt itself when externally given destructive commands

• Will not attempt to execute a corrupt or partially bootloaded Application

• CRC32 communications and image integrity checking with reusable API

 

Interrupt vector management

• IVT entries forwarded to optimized Interrupt Goto Table in Application space

• Bootloader and Application can share any Interrupt Vector with individual run-time selection

• No AIVT or Boot Segment (BS) hardware support required

 

Application support functionality

• Optimized general purpose 64-bit time measurement and task scheduling API

• Flash Erase/Write APIs for data EEPROM emulation and content survival independent of application upgrades

• Multi-instance FIFO buffering API with interrupt/non-blocking, polled, timeout and callback notification functions

 

Designed for performance without hardware luxuries

• Latency adaptive software flow control tolerates Bluetooth or TCP/Internet propagation delays without hardware RTS/CTS or sideband signaling

• .hex contents automatically converted at build time to smaller binary .bl2 image with improved identification, version and error detection features

• Software FIFOs on Bootloader communications interrupts permit high throughput

 

Code secrecy compatible

• Operation unaffected by ICSP Code Protect

• Bootloader does not expose program memory or RAM for external read back

• External program verification/version identification facilitated by internal CRC32 computation

 

Full source with no-cost Microchip license

• No GNU GPL code contamination or 3rd party code requiring independent licensing

• Script-accessible, portable C PC command line communications executable ready for branded GUI wrapping and redistribution