philburk / pforth

Portable Forth in C
BSD Zero Clause License
598 stars 99 forks source link

Guide for building on an embedded platform #116

Open znmeb opened 2 years ago

znmeb commented 2 years ago

I'm interested in building pForth for an ARM Cortex-M micro-controller. I've looked at the existing Makefiles in platforms but I can't figure out from that how to create one for, say, an Electro-Smith Daisy, a Raspberry Pi Pico or a Teensy. The Daisy and Pico have full C/C++ SDKs that run on Linux (and MacOS and Windows). I think there's an SDK for Teensy as well but I've only used the Arduino IDE with it.

How would I go about doing such a port? I am probably only going to need the CORE and BLOCK word sets in the final build, but I will eventually want to write a Forth-style assembler.

philburk commented 2 years ago

Have you tried the cross compiling docs here? http://www.softsynth.com/pforth/pf_ref.php#Compiling-Embedded

Please let me know if they do not work or you have questions. Also how is the memory fit?

znmeb commented 2 years ago

Also how is the memory fit?

The base Pico has 264K bytes of RAM and at least 2 MB of flash - some variants go as high as 16 MB of flash. The Arduino IDE lets you configure some of the flash as a filesystem.

The Teensy (4.1) has 1 MB of RAM and 8 MB of flash. The Daisy Seed has 64 MB of RAM and 8 MB of flash.