gpsim

Screen Shots

Download

SVN

Install

Processors

Documentation

Support

Modules

Links

gpsim

gpsim is a full-featured software simulator for Microchip PIC microcontrollers distributed under the GNU General Public License

gpsim has been designed to be as accurate as possible. Accuracy includes the entire PIC - from the core to the I/O pins and including ALL of the internal peripherals. Thus it's possible to create stimuli and tie them to the I/O pins and test the PIC the same PIC the same way you would in the real world.

gpsim has been designed to be as fast as possible. Real time simulation speeds of 20Mhz pics are possible. ( A 'goto $' program runs at the same speed as a 25Mhz pic when simulated on my 400Mhz PII Linux Box. Of course, as you add stimuli and begin interacting with peripherals, the performance drops. But it's still fast!)

gpsim has been designed to be as useful as possible. (At least that's the intent - honest.) The standard simulation paradigm including breakpoints, single stepping, disassembling, memory inspect & change, and so on has been implemented. In addition, gpsim supports many debugging features that are only available with in-circuit emulators. For example, a continuous trace buffer tracks every action of the simulator (whether you want it or not). Also, it's possible to set read and write break points on values (e.g. break if a specific value is read from or written to a register).

gpsim is not^B^B^B fancy, but^B^B^Band it's improving. It supports a good ol' fashioned CLI like gdb and a gui based on gtk.

Screen Shots

Register viewer

Source browser

Bread board viewer.

Scope viewer 1. Scope viewer 2.

Downloading

Download. Also, Windows snapshots are available on the gpsimWin32 page

Linux

Don't forget the latest version of the gnupic assembler .

Here are a few notes from the gnupic mailing list about installing gtk+extra from the tar file.

Windows

Borut Ražem has ported gpsim to Windows and called the package "gpsimWin32". In addition, he's created a slick installer and makes regular snap shots.

SVN

The gpsim source is on the gpsim SourceForge page. From there you may browse the SVN and check out the very latest versions. The instructions for getting gpsim from SVN provide a step-by-step description on how you can get the code.

Installing

Download the gpsim tar ball and type

tar -xvzf gpsim-0.x.y.tar.gz

Where 'x.y' is the version number. This will create a subdirectory called gpsim-0.x.y . All of gpsim's source code will be untarred to here. From there, you can read the README and INSTALL files for more info. But they basically tell you to

cd gpsim-0.x.y
./configure This will create the Makefile
make <--- This will create the executable
su root if you have root privileges
make install places a copy of the executable in /usr/local/bin

Oh, don't forget to check the gpsim-0.x.y/examples subdirectory for some example asm and stimulus files...

Supported Processors

PIC12C508 PIC12C509 PIC16C54 PIC16C55
PIC16C61 PIC16C62 PIC16C63 PIC16C64*
PIC16F627 PIC16F628
PIC16C65* PIC16C71 PIC16C72* PIC16C73*
PIC16F73* PIC16F74*
PIC16c712 PIC16C716
PIC16C74* PIC16C84 PIC16CR83 PIC16F83
PIC16CR84 PIC16F84 PIC16F873* PIC16F874*
PIC16F877*
PIC18C242* PIC18C252* PIC18C442* PIC18C452*
PIC18F442* PIC18F452*

* Not fully supported (yet).

Documentation

Here's the beginning of gpsim.ps and gpsim.pdf, the gpsim documentation.

Or if you perfer, here's the Lyx source gpsim.lyx.

Support

There are two mailing lists where support for gpsim is discussed. The gpsim-devel is devoted to gpsim specific issues. While primarily intended for gpsim development, this list may also be used as a user resource to ask any question. The other list where gpsim is discussed is GNUPIC mailing list. The GNUPIC project is devoted to Open Source tools for Microchip PICs.

Modules

gpsim supports loadable modules. This means that it is is possible to add devices to gpsim that are totally separate from gpsim. They reside in their own libraries and are distributed separately. The goal, of course, is to provide the simulation infrastructure for users to easily construct a custom simulation environment.

gpsim provides a basic module library with the following components:

  • Pullup/Pulldown resistors
  • USART
  • switch
  • AND, OR, XOR, and NOT Logic Gates
  • Single or 7-segment LEDs
  • PAL Video emulator
  • Rotary Encoder
  • I2C EEPROM

The gpsim LCD module provides support for character LCD displays.

Related Links

gpasm - The GNUPIC assembler that is compatible with MPASM.

gpsim Source Forge Project page contains the SVN source for gpsim.

gpsim Native Win32 port.

Byte Craft is the creator of the .cod symbol file format.

The gnupic webpage has links to other pic tools. Paul Vollebregt has another gnupic webpage with links to tools for other microcontrollers as well.


This page is maintained by Scott Dattalo. You can reach me at home: scott@dattalo.com
Last modified on $Date: 2007-12-23 09:03:42 +0100 (ned, 23 dec 2007) $.

This site is hosted by

SourceForge.net Logo

Made with Nvu Valid XHTML 1.0!
Valid CSS!