gnupic: Thread: Another PIC simulator you might be interested in


[<<] [<] Page 1 of 1 [>] [>>]
Subject: Another PIC simulator you might be interested in
From: Bill Couture ####@####.####
Date: 22 Dec 2002 22:24:05 -0000
Message-Id: <Pine.WNT.4.10.10212221712020.-186581@junkvalue.speakeasy.net>

Hi!

I originally posted this to PICLIST, and Scott Dattalo though the people
on this list might also be interested.

I started using PICs at work about a year and a half ago, and quickly
discovered that MPLAB's simulator just wasn't good enough (too slow,
no support for UART's etc).

So, being the computer geek I am, I wrote my own PIC simulators --
a 12-bit core and a 14-bit core, currently implemented as a 12C509A,
a 16F84A, a 16F628, and a 16F877 (each in a separate program).

The programs include support for hardware UARTS (628, 877), software
(bit-bang) UARTS (all), I2C EEPROM (bit-bang, all), toggle I/O pins
via keypress, visual state of I/O pins, oscilloscope functions,
execution history, stimulus files, ADC result files (877), breakpoint
on program address, breakpoint on RAM address, and more.

They are fast, with a PIII-600 doing about 5MIPS simulating a 12C509A,
down to about 3MIPS simulating a 16F877.

There are some minor limitations, the analog comparitors of the 628 have
not been implemented, and the MSSP and PSP of the 877 have not been
implemented.

In addition, I've also written a disassembler for PICs, currently targeted
at the 12C509A, 16F84A, 16F628, and 16F877.  PICDIS based on PICEMU, and
uses the 12-bit and 14-bit cores to track program execution and determine
the actual location (RAM bank, program bank) that an instruction
references.  This makes it much easier to determine which SFR's are being
used, differentiate between variables at the same offset in different
banks, and generate correct labels for CALL's, GOTO's and instructions
that modify PCL.

They are written as DOS programs, in C with some inline assembly, and are
open source.  You can download executables, source, and compiler at
   www.picemulator.com

And, let me answer some of the "usual" questions:

   * Why not just use GNUPIC?
      1) I had been writing PICEMU for a month before I found out about
         GNUPIC.
      2) I don't use Linux either at work or at home.
      3) I wouldn't be learning about PICs if I didn't write my own
         program.

   * Why not add to GNUPIC instead of re-inventing everything?
      1) I'm not a C++ programmer.
      2) I'm not a Linux programmer.

   * Why is this a DOS program instead of a Windows program?
      1) I'm not a Windows programmer.
      2) I didn't think that PICEMU would wind up being anything like
         the program it is, so I started writing it "quick and dirty"
         using the C compiler I've been using since 1985.

Please feel free to make comments, suggestions, and derisive remarks.  :)

Bill

Subject: Re: Another PIC simulator you might be interested in
From: Scott Dattalo ####@####.####
Date: 23 Dec 2002 05:10:33 -0000
Message-Id: <Pine.LNX.4.44.0212222100140.24718-100000@ruckus.brouhaha.com>

On Sun, 22 Dec 2002, Bill Couture wrote:

> Hi!
> 
> I originally posted this to PICLIST, and Scott Dattalo though the people
> on this list might also be interested.
> 
> I started using PICs at work about a year and a half ago, and quickly
> discovered that MPLAB's simulator just wasn't good enough (too slow,
> no support for UART's etc).

Sounds familiar!

> 
> So, being the computer geek I am, I wrote my own PIC simulators --
> a 12-bit core and a 14-bit core, currently implemented as a 12C509A,
> a 16F84A, a 16F628, and a 16F877 (each in a separate program).

<snip>

Sounds great.

I've added a link to http://www.gnupic.org/

> And, let me answer some of the "usual" questions:

<snip>


> Please feel free to make comments, suggestions, and derisive remarks.  :)


No derisive remarks here! 

Scott

[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.