This is an old revision of the document!
Table of Contents
PyMCUProg
Python cross platform programmer and debugger for Microchip CMSIS interfaces.
This can work with boards with built-in interfaces or the SNAP and PICKIT 4 interfaces updated with new firmware and switched into AVR mode (untested).
Install
Python 3 is a requirement and the tool is installed using pip.
apt install python3 python3-pip rehash pip3 install pymcuprog
Supported MCUs
Listing the devices directory will inform you of the supported controllers.
ls /usr/local/lib/python3.7/dist-packages/pymcuprog/deviceinfo/devices/
The help file mentions getting software packs for more options but visiting the pack site offers nothing useful.
Microchip ATMEGA328PB XPLAINED MINI
Supported interface but unsupported processor.
USB
This is a virtual console port (AKA USB software modem).
Bus 001 Device 024: ID 03eb:2145 Atmel Corp. ATMEGA328P-XMINI (CDC ACM)
Test
Unknown MCU
pymcuprog ping Connecting to anything possible Connected to mEDBG CMSIS-DAP from Atmel (serial number ATML2523052700002178) Debugger firmware version 1.22.134 Debugger hardware revision 0 Device mounted: 'atmega328pb' No device specified. Using on-board target (atmega328pb) Unable to setup stack for device atmega328pb Currently supported devices (in 'devices' folder): attiny84a, avr32dd32, avr16dd28, pic16f17146, avr64dd20, pic18f47q10, pic16f1769, attiny814, avr64dd14, attiny417, pic16f1768, avr32da28, avr64du28, atmega1609, dspic33ck64mc105, avr128da28, avr64ea32, avr64db48, pic18f57q84, pic16f18146, avr64db32, pic16f18076, pic18f16q41, attiny1614, pic16f15276, uc3a3256, attiny1617, attiny1616, avr64db64, attiny824, avr32db28, atsamd21g18a, avr64da32, pic16f15376, pic18f47q43, pic16f18456, atmega808, avr64da28, pic18f56q71, avr64du32, avr128db48, attiny426, attiny806, attiny402, attiny804, pic18f06q20, avr128da64, attiny427, atmega328p, attiny3226, atmega4808, pic16f18446, attiny817, attiny1626, attiny104, attiny414, avr128db28, pic18f57q43, pic24fj128ga705, pic16f1779, attiny212, avr64ea28, avr32da32, attiny406, avr32db48, avr64da48, avr16dd20, avr64da64, avr128db32, avr64dd28, pic18f16q20, attiny826, pic18f47k40, avr32dd14, attiny816, pic18f16q40, attiny404, avr16dd14, atmega1608, attiny416, attiny3227, pic18f46q71, avr32da48, attiny1604, attiny3217, atmega809, pic16f15244, avr64db28, pic18f47k42, avr32dd28, atxmega128a1u, atmega3209, atmega3208, avr64dd32, attiny1624, avr128da32, avr16dd32, attiny202, avr128da48, pic16lf18456, avr32dd20, attiny214, avr64ea48, atmega4809, attiny827, attiny3224, pic24fj64gu205, attiny3216, avr32db32, attiny412, attiny424, atmega324pb, attiny1606, atsamd21e18a, attiny807, attiny1607, avr128db64, attiny204, attiny1627
Microchip DM164140 - MPLABXpress Evaluation Board
Unsupported.
USB
This is mass storage device and no idea if the firmware can be altered othewise.
Bus 001 Device 023: ID 04d8:0057 Microchip Technology, Inc.
Test
pymcuprog ping Connecting to anything possible pyedbglib.hidtransport.hidtransportbase - ERROR - No CMSIS-DAP devices found. Unable to connect to USB device