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.
Who is GPUTILS?
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.
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:
svn checkout --username=user_name svn+ssh://firstname.lastname@example.org/p/gputils/code/trunk .
svn checkout svn://svn.code.sf.net/p/gputils/code/trunk .
svn checkout --username=user_name https://svn.code.sf.net/p/gputils/code/trunk .
Users have ported gputils to many other platforms. Some of these binaries are for the old gpasm package.
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.
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.
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
Support for GPUTILS
GPUTILS comes with some documentation and examples. When that isn't enough, you can find help in the following places:
- User Manual - for information on the tools in Acrobat format. You might also want to take a look at Microchip's MPASM manual. For information on Microchip's COFF files, look in this manual.
- gputils Wiki - for in-depth documentation, etc. (additions welcome).
- FAQ - for frequently asked questions.
- Relocatable object HOWTO - for brief information about using gputils with relocatable objects.
- if you have a general question about PIC micro controllers or the tools.
Subscribe to the GNUPIC
mailing list by sending a message to:
with the word subscribe in the body.
is the address of the list.
There's also the gnupic archive.
- Bug Reporting - if you have a problem using GPUTILS, we need to hear about it.
- Feature Requests - if you would like to see a new feature.
- Source Forge Website - for further information.
- GPSIM Information - for information on the gputils compatible simulator.
- XGPASM Information - for information on a gui for gpasm.
- PiKdev Information - for information on an IDE for gpasm.
- Piklab Information - for information on another IDE for gpasm.