Metadata-Version: 2.1
Name: mcbootflash
Version: 6.0.0
Summary: Flash firmware to devices running Microchip's 16-bit bootloader.
Keywords: firmware,flashing,bootloader,serial,uart,microchip,pic24,dspic33,16-bit
Author-email: Alexander Bessman <alexander.bessman@gmail.com>
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Requires-Dist: pyserial
Requires-Dist: intelhex
Requires-Dist: sphinx ; extra == "doc"
Requires-Dist: sphinx_mdinclude ; extra == "doc"
Requires-Dist: sphinx_rtd_theme ; extra == "doc"
Requires-Dist: progressbar2 ; extra == "progressbar"
Project-URL: Home, https://github.com/bessman/mcbootflash
Provides-Extra: doc
Provides-Extra: progressbar

# mcbootflash

![build](https://github.com/bessman/mcbootflash/actions/workflows/main.yml/badge.svg)
[![Documentation Status](https://readthedocs.org/projects/mcbootflash/badge/?version=latest)](https://mcbootflash.readthedocs.io/en/latest/?badge=latest)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/b0cdb1c0b3b94171866fbfc4489316be)](https://www.codacy.com/gh/bessman/mcbootflash/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=bessman/mcbootflash&amp;utm_campaign=Badge_Grade)
[![Codecov](https://codecov.io/gh/bessman/mcbootflash/branch/main/graph/badge.svg)](https://codecov.io/gh/bessman/mcbootflash)


Mcbootflash is a tool for flashing firmware to 16-bit Microchip MCUs and DSCs
from the PIC24 and dsPIC33 families of devices, which are running a
[bootloader](https://www.microchip.com/en-us/software-library/16-bit-bootloader)
generated by the MPLAB Code Configurator tool.

Microchip provides an official GUI tool for this purpose, called the
Unified Bootloader Host Application. Mcbootflash is intended to be a
drop-in replacement, with some differences:

-   No GUI
-   Free and open source
-   Written in Python instead of Java

Additionally, mcbootflash can be used as a library by applications which
want to implement firmware flashing as part of a larger suite of features.
See the documentation for details.

## Installation

`pip install mcbootflash`

## Usage

Once installed, mcbootflash can be run from the command line:

```console
$ mcbootflash --port=/dev/ttyUSB0 --baudrate=460800 firmware.hex
  Connecting to bootloader...
  Connected
  Existing application detected, erasing...
  No application detected; flash erase successful
  Flashing firmware.hex
  100%  88.7 KiB |########################################| Elapsed Time: 0:00:05
  Self verify OK
```

## Copyright

MIT License, (C) 2022-2023 Alexander Bessman

