Developer(s) Philippe Paternotte Website www.pmpcomp.fr | Operating system License Freeware | |
Stable release 2.0.6 / September 9, 2014; 2 years ago (2014-09-09) |
Pic Micro Pascal a.k.a. PMP is a free Pascal cross compiler for PIC microcontrollers. It is intended to work with the Microchip Technology MPLAB suite installed; it has its own IDE (Scintilla-based) and it is a highly optimized compiler.
Contents
It is intended to target 8-bit processors only: PIC10, PIC12, PIC16, PIC16 enhanced, PIC18.
The main axis of development was to avoid special built-in functions and procedures to interface hardware registers. These registers are accessed directly as variables, there are no wrapper functions, and emitted code is quite compact.
PMP does not include an assembler or linker. It is designed to work with the Microchip MPLAB suite installed, and directly uses MPASM and MPLINK .lkr files for memory mapping initializations; as of V2 it comes with its own database for processor features and standard register definitions.
PMP also supports the GPUTILS suite.
Language features
PMP does not support object-oriented programming, but a RECORD can have methods.
As of 2014, the implementation supports multiple file compiling, by include directives and by a per unit concept. PMP supports a unique feature: variables may be declared in EEPROM and then used transparently as any other variable (with some limitations).
PMP's data types:
Language dialect
PMP syntax is very close to the non-OOP syntax of Turbo Pascal or Delphi, with some extensions to support some target processor features (bit manipulations ...).
Since version 1.6, some language "extensions" may be used (with explicit activation), most of them coming from other Pascal-Like languages such as Oberon or Modula:
History
PMP was created in 2006 by Philippe Paternotte and released as freeware for now, as free software in the future. The latest version is 2.0.6, September 2014.
PMP has been the subject of an article in SERVO Magazine in March 2015.