-
Notifications
You must be signed in to change notification settings - Fork 66
Home
Welcome to the STM8 eForth Wiki!
Here you'll find information on the following topics:
- Technical documentation, e.g. start-up code, interrupts or programming tools (refer to the sidebar)
- Intro to using STM8 eForth for interactive programming, and Example Code
- STM8S Value Line Gadgets documents supported boards (e.g. thermostats, breakout boards)
- STM8 Programming tips with the focus on SDCC (assembler, C-compiler and simulator)
Some topics, mainly community discussions, are easiest to find by clicking on Pages in the sidebar. The Issue tracker and the Release notes also contain a lot of additional information.
TG9541/STM8EF is an improved version of Dr. C.H.Ting's STM8 eForth for the STM8S Discovery. It aims to be a lightweight "untethered" Forth for low-end STM8 µCs with a good "feature-to-binary-size" ratio. With the kind permission of the original author it provides a permissive FOSS license.
Carefully designed embedded control features (e.g. background task, interrupts, RAM and Flash operation), e4thcom support, and a framework approach, turn STM8 eForth into a powerful tool for very low-cost STM8S Low Density devices (for an example see W1209 data logging thermostat). STM8S Medium and High Density devices, as well as some STM8L devices, are also supported.
This project has the following goals:
- provide an easy to use Forth kit for STM8 µCs,
- engage with the Forth community on core, development environment, libraries, and applications,
- provide board support for common low-cost Chinese control boards, and
- maximize the product features * free space even for Low-End STM8 controllers (for fun and profit)
With respect to Forth standardization, STM8 eForth takes a practical approach. When gaps in the original code had to be filled, inspiration was taken from Forth-79, Forth-83, FIG-Forth, ANS-Forth, and later standardization attempts. For interactive embedded control on simple devices it's best to use what fits the budget.
Some open-source µC Forth implementations have a richer feature set, or a bigger community (good examples are e.g. AmForth for AVR8 and MSP430, noForth for MSP430, Mecrisp for MSP430, or Mecrisp-Stellaris for Cortex-M). STM8 eForth, however, has found its place thanks to innovations and valuable contributions by experienced Forth community members - Thanks a lot :-)
The GitHub repository has a sister project eForth for Cheap STM8S Gadgets on Hack-a-Day. There are other projects HaD projects and GitHub repositories that use STM8 eForth code (some or listed in STM8 eForth Example Code).
eForth is a well documented implementation of a basic Forth by Bill Muench and Dr. C.H. Ting. eForth is based on a set of about 30 Forth core words written in assembly or in C. Higher level words, e.g. for interpreter and compiler, are written in Forth. eForth was designed with portability in mind there are implementations for many µCs and µPs.
Forth, the programming language that does things differently, is the work of Charles H. Moore and others.
There are many on-line Forth resources. Some of the most notable are:
- Leo Brodie's books Starting Forth, and Thinking Forth
- scans of the magazine Forth Dimensions (indexed)
- some issues of Forthwrite, the FIG UK Magazine
- publications by the German Forth-Gesellschaft e.V. (mostly German, some in English).