GNU PIC Utilities

What is GPUTILS?
GPUTILS is a collection of tools for the Microchip (TM) PIC microcontrollers. It includes gpasm, gplink, and gplib. It's distributed under the terms of the GNU Public License. There are other GNU PIC tools available such as gpsim, a gputils compatible simulator.
GPUTILS was created by Craig Franklin and James Bowman. Currently, it is primarily supported by Molnár Károly. Until recently has been supported Borut Ražem. In the past it has been supported by David Barnett, Scott Dattalo and Marko Kohtala .
What Platforms are Supported?
Linux (and other unixes), Mac OS X, and MS-Windows are supported. GPUTILS will compile natively on Linux using gcc. Mac OS X users will need the December 2001 Developer Tools. Windows 98/NT users will need MinGW32 if they wish to compile the tools.
Downloading GPUTILS
See the Sourceforge download page for source and binary packages.
The latest development sources are available from our svn server.
The following commands will checkout all of the sources and place them in a gputils subdirectory:
  • RW access:
    svn checkout --username=user_name svn+ssh:// .
  • RO access:
    svn checkout svn:// .
  • HTTP access:
    svn checkout --username=user_name .
You can browse our svn tree here.
Older gputils and gpasm releases are available.
Users have ported gputils to many other platforms. Some of these binaries are for the old gpasm package. If you have generated a binary of gputils please notify the maintainer of this website, so that it can be added.
MPLAB Plugin
Microchip offers an integrated development environment called MPLAB. This environment is only available for MS-Windows. The gputils project has developed an MPLAB plugin. With this plugin, gputils-mplab, MPLAB can be used as an IDE for gputils.
Test Files
Microchip provided the project with a set of test files that they use to test MPASM for each release. These files were reformatted, some typos were fixed, and scripts to run the tests were generated. The files and scripts are located in svn and can be accessed here.
For anyone interested, the original unaltered files are available in this archive. For information about the archive please read this file. These files were provided by Microchip without any warranty or any level of support. If you have a question about the files ask the current gputils project administrator, not Microchip.
Recent NEWS
Aug 21, 2016 -- gputils-1.5.0 Released
  • Several pre-defined constant and variable in the gpasm.
  • Extension of error and messg directives: These directives - inside of the parameter string - recognize and execute the #v() macro.
  • New directives: __badrom, assume, elif, elifdef, elifndef
  • New gplink feature: Remove the unnecessary banksel and pagesel directives.
  • The errorlevel directive accept number ranges. E.g. +303-310 or -303-310
  • The gpvo utility use the disassembler to decode the program memory sections.
  • The gplink save the local RAM symbols to COD file.
  • The ".direct" directive - inside of the parameter string - recognize and execute the #v() macro.
  • The length of source file names in COD file, now 256 bytes long instead of 64 bytes. The gpvc utility thereafter also able to correctly detect the shorter names.
  • The inc and lkr files are synced with MPLABX 3.35
Previous News
Support for GPUTILS
GPUTILS comes with some documentation and examples. When that isn't enough, you can find help in the following places: