The project repository provides access to prebuilt releases for the various supported targets. The release assets include an archive of release files for each target. Each archive includes a readme that describes how to run amforth on the specific target. The files in the archive include:
Binary Files
- amforth.bin - binary file for uploads into physical board
- amforth.hex - Intel hex file for uploads into physical board
- amforth.elf - executable for emulation
Documentation Files
- readme.md
- LICENSE.txt - GPL3 license text applies to this distribution
- amforth.html - reference card of all words in this build
- amforth.txt - reference card of all words in this build
- amforth.toc - list of headers of all words in this build
Build Files
- amforth.dep - list of files used in the build
- amforth.map - linker map of the executable
- amforth.sym - list of all symbols of the executable
- amforth.lst - assembler listing from the linker
- amforth.lst-as - assembler listing from the assembler
- amforth.sal - symbol and source line listing (debug info)
Tools
- amforth-shell.py - terminal emulator for AmForth
Using AmForth
Besides executing known words, AmForth supports compiling new words at runtime. It has a separate FLASH and RAM based dictionary. Words >flash and >ram switch the destination for newly compiled words. The RAM dictionary is a scratch space that can be used for words being developed, words can be redefined, the whole dictionary can be emptied, etc. When the development of a word is finished it can be compiled into the FLASH dictionary and thus become persistent (assuming FLASH is persistent on a given target). Words in the RAM dictionary will disappear when the system restarts.
Typical development cycle would use amforth-shell to load and reload word definitions from a file on the host computer. At the start the words are loaded into the RAM dictionary, tested, changed, reloaded again, tested, etc. Repeat as many times as necessary. Once the file has words in the shape that satisfies all tests and requirements. The mode is switched to FLASH and the file is loaded one last time. Then the words are persisted in the FLASH memory and ready to be used at any time later.
Note that the only tools needed for this process are AmForth running on the target device and a terminal emulator, like amforth-shell. This makes AmForth a powerful tool to explore the target platform with ease.