/ueforth

esp32forth

Primary LanguageForthApache License 2.0Apache-2.0

µEforth / ESP32forth

This EForth inspired implementation of Forth is bootstraped from a minimalist C kernel.

Building from Source

To build from source:

sudo apt install ninja-build gcc-arm-none-eabi
git clone https://github.com/flagxor/ueforth
cd ueforth
./configure.py
ninja

The resulting output will have this structure:

  • out/deploy - A copy of the eforth.appspot.com / esp32forth.appspot.com ready to deploy.
  • out/esp32 - A source build for ESP32.
  • out/esp32-sim - A POSIX build approximating ESP32 for testing.
  • out/pico-ice - A build for pico-ice.
  • out/pico-ice-sim - A POSIX build approximating pico-ice for testing.
  • out/gen - Intermediate / generated files.
  • out/posix - A build for Linux / POSIX.
  • out/resources - Intermediate / generated resources.
  • out/web - A build for Web.
  • out/windows - A build for Windows.

Individual platforms can be built as follows:

ninja posix
ninja esp32
ninja pico-ice
ninja win32
ninja win64
ninja web

A build that excludes the slower components can be configured with:

./configure.py -f

To install to /usr/bin on Linux / POSIX do:

ninja install

ESP32 boards can be compiled and flashed with:

ninja esp32-flash
ninja esp32s2-flash
ninja esp32s3-flash
ninja esp32c3-flash
ninja esp32cam-flash

Set PORT=com3 etc. to select board.