PICKitCMD-Pi
Overview
We call PICKitPlusCommandLine for the Raspberry Pi PICKitCMD-Pi.
PICKitCMD-Pi is the Raspberry Pi application that provides support for the latest generation of Microchip microcontrollers and EEPROMs devices. The software is feature rich and easy to use via the console.
See below for supported Pi Hardware.
PICKitCMD-Pi application is the replacement application for existing Raspeberry Pi Python scripts as this is fully supported software.
The intent of PICKitCMD-Pi is enable operations using either a PICKit 2 or PICKit 3 programmers via the Raspberry Pi Linux console interface. Console arguments are passed to the software to configure the operation of write, reading, verify. The software capabilities are shown in the table.
PICKitCMD-Pi supports nearly 1000 different types of microcontrollers and EEPROMS.
- PIC10F, PIC12F, PIC16F, PIC18F, PIC24.
- dsPIC30 and dsPIC33 family.
- A wide range of EEPROMs.
- MCP2502X/5X & HCSxx.
- EEPROM 11LCxx, 24LCxx, 25LCxx and 93LCxx, M25Px and FL127x.
- See here for the full list of supported parts.
New functionality
- Turbo mode - optimised write and read operations.
- Manages Microchip HEF and SAF memory with automatically merge of HEF/SAF memory into target part.
- New programming protocols to support for new classes of Microchips microcontrollers.
- Simple of command line arguments.
- Part type, revision and family displayed during read operations.
- Reset of Bandgap.
- Updated and managed database for Microchip and other EEPROM devices.
- Automatic programming of programmer firmware.
PICKitCMD-Pi features:
- Supports the standard Microchip PICKit 2 and PICKit 3 programmer firmware. PICKitPlus does not require an update to the Microchip PICKit 2 and PICKit 3 programmer firmware.
- Supports multiple voltages within constraints of physical programmer - noting that some clone programmers do not support voltage control.
- Read/write program and data memory of microcontroller.
- Erase of program memory space with verification.
- Supports IDEs with hold-on-exit.
- Write/Read and Verify options.
- Control power on and off independent of programming state.
- OSCCAL support
Safe Usage Enhancements
- Generation of log file.
- Generation of error log file.
- Internet connection not required.
PICKitCMD-Pi Prerequisites and Constraints
PICkit2 and PICkit3 Device Programmers supported.
Tested on 32-bit and 64-bit Debian-based Linuxes, but should work on all flavours, within specific constraints:
-
Requires
libcv2.28 or above. This is linked to specific distro. If the libc version is too low, only recourse is to install a newer distro. -
Requires root (or sudo) during installed and configuration.
-
Requires
fuse(i.e.fusermount), if you want to run PKCMD-LX without root privileges. -
Expects
libfusev2.9.0 or greater, although older versions may work. For example, v2.8.5 prints warning messages but does function.
Distros known to have a compatible version (and later) of libc include:
-
Arch 2011.08.19
-
CentOS 7.8.2003 (released in 2020)
-
Debian 7 (Wheezy)
-
Fedora 15 (Lovelock)
-
Gentoo 11.2
-
Mint 11 (Katya)
-
openSUSE 12.1
-
Slackware 13.37
-
Ubuntu 11.04 (Natty)
Distros that do not use libc (such as Abyss, Alpine, Sabotage, Vanilla and Void) are not compatible unless libc is install on those distros - but, this is not supported.
Supported Pi Hardware
Raspberry Pi 4 is supported but the following constraint. The Pi4 has a defect in its USB subsystem, which causes Microchip or clone PICKit 2 and PICKit 3 programmers to work poorly or not at all. We provide a revised PICKit 2 programmer called PICKitPlus PI4 which resolves this issue.
The PICKitPlus PI4 is a special variant programmer designed to work correctly on a Raspberry Pi 4. It operate 4% slower than the standard PICKitPlus model; but unlike the any PICKit2 or PICKIt3 the PICKitPlus programmer will function on a Pi 4. The Raspberry Pi 4 USB subsystem has a subtle flaw that causes PICKit2 or PICKIt3 programmer to "lock up" very frequently and need to be unplugged and replugged by hand. Previous models of Raspberry Pi and Raspberry 5 do not have this flaw. The PICkitPlus PI4 solves this problem, and as a bonus also works everywhere a PK2 would. Also, see here
Raspberry Pi 5 is fully supported using a Microchip or clone PICKit 2 and PICKit 3 programmer.
What is the difference between the PICKitCMD-Pi and other Microchip console software?
The table below compares the capabilities.
| PICKitCMD-Pi | Other Microchip software | |
|---|---|---|
|
Hex File Operations
|
Same capability | Same capability |
|
Device Family - microcontrollers and EEPROMs
|
Legacy parts and latest parts |
PICkit2 software limited to legacy parts. PICkit3 supports legacy and latest parts via MPLAB-X Java interface. |
|
Programmer Operations
|
Same capability | Same capability |
|
Yes | Partial |
|
Yes | No |
|
Yes | No |
|
Tool Operations
|
Yes | No |
| Operation features of the programmers | PICkit2 | PICkit3 |
|
Maintain |
Maintain
|
|
Large VDD Allowed VDD rise time is 500 us or less. |
Large VDD Allowed VDD rise time is 500 us or less. |
|
range of 2.5v to 5.0v |
range of 2.5v to 5.0v |
|
maximum external VDD is 5.0 v |
maximum external VDD 5.5 v. |