Riscy Pygness is a 32-bit multitasking Pygmy Forth for the ARM. It includes full source code for both the host (your desktop PC) and target (your ARM development board). The license is BSD/MIT-like so you can do (nearly) anything with it.
It is aimed at relatively small embedded systems rather than desktop systems or large embedded systems running an operating system (OS).
Riscy Pygness is a stand-alone system that is its own multitasking OS. It can run in less than 7 K bytes of flash. The size can be reduced further depending on your needs. This makes it suitable for use in even the smaller ARM variants such as the NXP LPC2101, LPC2102, and LPC2103. It can address the full 4 GB address space, so it can take advantage of all the flash and RAM available in even the larger variants.
During development, the host communicates with the target via a serial port. The host provides the smart terminal and the compiling services. The host can generate a new, customized Forth image for the target.
The Forth itself runs on the target but you interact with it by typing commands on the host, much as you would with a Forth running locally on the host.
As you type each word (command) at the terminal, the word is looked up on the host which then sends a request to the target to execute the word. Numbers typed at the terminal are sent to the target to be put on the target's data stack. Word headers are kept on the host, not the target, and all compilation work is done on the host.
The host and the target, working together, provide the effect of a fully interactive Forth running on the target while conserving the possibly limited resources of the target.
Versions of Riscy Pygness earlier than October, 2009, are now obsolete.
Here is an "early adopters" version for the brave. It needs a lot of work yet before it will be ready for an official release. A few things in the code still need to be added or verified. The documentation needs a lot of work.
While waiting for the full documentation to be completed, see especially the comments in these files (included in the above zip file):
Flash images are included in the zip file for 4 Olimex boards. Suppose you have the Olimex LPC-P2106 board. Here are the steps to follow:
./riscy.tcl -image kernel-lpc2106 -port /dev/ttyS0
I am running on Linux, typically Debian or Ubuntu.
Any Linux or Unix or Unix-like operating system that can run Tcl/Tk (i.e., all of them) should work great. If you insist on running a Microsoft operating system, you can do so, but everything is likely to be just a little more difficult. It might be worth setting up a spare machine (or booting from a Live CD) to have Linux available.
The zip file includes binary images for the kernel for several ARM boards. So, you do not necessarily need to be able to run an ARM assembler, at least at first. Eventually, you might want to assemble a custom kernel. At that point, access to a Linux machine will be convenient.
If you try it, feel free to email me at frank@pygmy.utoh.org for help. Until the documentation is fully fleshed out, I will be happy to be your interactive manual.