PFAVR is a Forth language program designed for Atmel AVR microcontrollers that utilizes ANS standards to operate as a software development tool.
The software offers multiple key features that are useful in quick prototyping and interactive control of the Atmel AVR. PFAVR is almost entirely compliant with the ANS Forth specification, implementing words in the core, extended core, double-number, exception, programming tools, and string word sets. Additionally, it is built to fit into less than 13Kwords of FLASH and, as it is written entirely in C, it can easily be extended or embedded with custom code. Furthermore, PFAVR is open-source and completely free, licensed under the terms of the GNU General Public License.
There is no need to type 'make' as PFAVR already comes in a pre-built version. An Intel HEX format version can be found in the directory, under the name pfavr.hex. For those in need of a different format, the pfavr.elf can be converted using avr-objcopy.Documentation regarding the pre-built version is available in (doc/index.html).
If you do not plan on recompiling PFAVR from source, all you need is to download one of the provided HEX files in the misc/ directory to your target system and start using PFAVR immediately. The provided HEX files are designed for the ATmega128 processor, although other AVR's may work too if they have at least 13Kwords of FLASH and 32Kbytes of external RAM.
PFAVR allows for configuration to reset the watchdog of the AVR (if programmed by the fuse bits), but it's important to understand that this feature has not been tested.
The latest update to PFAVR includes a fix for a GCC crash when the pre-built dictionary was not an even number of bytes, which was causing text section misalignment. The tools/doprebuild.py script was modified to generate a well-aligned pre-built dictionary.
In summary, PFAVR offers an ANS Forth implementation that enables quick prototyping and interactive control of Atmel AVR. It is highly compliant with ANS Forth specification, flexible and open-sourced, making it a valuable software for developers who want to create efficient and reliable applications.
Version 1.2: N/A