An integrated editor, assembler and programmer interface for the PIC16F84 (and 16C84), running under Linux
5 Jan 2004: There is now a new, much improved Yappa available for testing. It handles many types of PICs, with the help of picprog 1.3. Installation ought to be easier too. Please have a go with the release candidate at ../yappa1.3dist . There are rpms and a tarball to choose from. In a revision to the plan I had at breakfast, in addition to bugfixes before a proper release, I'll probably rework it for picprog 1.4, also co-incidentally released over the weekend.
...........end of newsflash.............
Yappa is a graphical development environment for programming the Microchip PIC16F84 microcontroller. It features an easy learning curve, instant feedback and a seamless interface to the programming circuit, making it appeal to those of us who appreciate instant gratification. Speaking of which, click below for a full-size screenshot.
Yappa combines into a single application the editor, assembler and programmer interface that are needed to program a PIC. It runs under Linux on 386+ sytems, and is independent of any DOSish software such as the development tools supplied by Microchip. Ports to other platforms are conceivable, but the author has no such plans himself.
Code is assembled on screen, as you type.
Press one button to program the Pic directly from the editor.
Errors are indicated immediately.
On-screen, printed, and saved output use industry-standard layout and opcodes.
Fast programming algorithm (thanks, Jaakko).
Drives standard serial-port development programmers (design provided).
Linux, python >= 1.5, pygtk >= 0.5.12 (RedHat 6 is fine). (see resources elsewhere, below)
Picprog 1.0 (below).
A canonical serial programmer (simple one below).
Yappa was developed for use by undergraduate Physics students at the University of Birmingham. These students have generally had no previous experience of assembler programming. They use Yappa in a six-hour segment of an electronics laboratory course, in which they enter and modify a series of simple PIC programs and study the operation of circuits built with the programmed PICs.
The main design considerations were:
Plain user interface, very few options to worry about, but no PIC84 feature should be unavailable.
Educational display: real-time assembly, showing code and errors as they are entered.
Nothing to unlearn if the user later moves to a fully-fledged development environment.
The program had to be developed in a week.
These considerations lie behind many of the restrictions in Yappa: PIC84 only, small number of pseudo-ops, no macros, slightly spartan user interface...
The resulting program has not given any problems in its first year of student use, and has also proved to be of use to others who occasionally need to program a PIC.
Yappa relies on the separate program Picprog, written and distributed by Jaakko Hyvatti, for communication with the programmer hardware, and incorporates a parser (here called tp_parse) that was written and posted by Tim Peters. I thank them both for speeding the development. I also thank Birmingham student John Tanner for helping to develop the PIC experiment, and for building all the programmers. Linus and Guido's contributions need not be mentioned, but should be anyway.
Yappa was written by Mark Colclough, during a rather busy summer