External tool-chain

Operation ››
Parent Previous Next


PMP is intended to be used with an external assembler / linker tool-chain installed.

It cannot compile anything if it is not able to find processors' linker script files, along with assembler and linker executables.


PMP is compatible with Microchip Technology's MPLAB® V8 or MPLAB-X® suites and with GPUTILS open source suite.


At the first execution, by default PMP searches for GPUTILS's GPASM and GPLINK executables.

If it does not found them, it searches for MPLAB-X® MPASM™ and MPLINK™ executables.

If it does not found them, it searches for MPLAB® V8 MPASM™ and MPLINK™ executables.


Executables may be further changed in the project's options form.


As of version 2.0, PMP doesn't use the MPLAB's .dev files nor the assembler's .inc files anymore, it comes with its own processor definitions database. This database cannot be updated by the user, a new PMP version must be released to have an updated database.

The tool-chain's linker script files (.lkr) are still used.


After many attempts to have enough information on how to seamlessly integrate PMP as a third party compiler tool-chain in MPLAB, unanswered e-mails and kicks into touch from several MCHP guys, I gave up.

Microchip wants to keep secret some internal MPLAB behaviors that they give only to main compiler editors. That's it.

Nevertheless, a project can be set-up manually in MPLAB and the PMP's project may be debugged from inside MPLAB: just create a project in MPLAB, add all the .asm files (except "processor.asm" which is auto-included in each other .asm file), select MPASM / MPLINK as the tool-chain, your debugger, your programmer and go!