Microchip Technology Inc

Microchip Easy Bootloader for PIC24 and dsPIC33

Microchip Easy Bootloader for PIC24 and dsPIC33

The Microchip Easy Bootloader for PIC24 and dsPIC33, or EZBL for short, is a library of software components and example projects designed to facilitate creation of Bootloaders and compatible Applications. It aims to simultaneously support a wide range of target PIC® MCU and dsPIC® DSC processors, minimize implementation effort/design time and maintain sufficient flexibility to accommodate many different communications protocols and bootloading topologies. Using build-time automation tools and efficient run-time heuristics, numerous manual code changes and bootloader restrictions are eliminated as compared to historical bootloader App Notes and Code Examples.

EZBL Features

Targets supported
•  Common code set supports almost all PIC24 and dsPIC33 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
• Push and Pull topology ready with minimal Application down-time or user interaction

Automatic linker script creation
• No .gld file maintenance or understanding of GNU ld syntax required

Decoupled communications
• 2-wire UART and I2C Slave protocols exampled
• 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 ‘now.c’ time measurement and unit conversion API
• ICSP™ library routines for reprogramming secondary PIC24 and dsPIC33 devices, including embedded use without a PC interface controlling erase/write operations
• Flash Erase/Write API available to assist with non-volatile data storage

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
• 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
• ICSP routines portable to non-Microchip processors
• Script-accessible Java PC command line communications executable ready for branded GUI wrapping and redistribution


KB Size
Updated as of
EZBL Release Notes