6

I was strongly considering writing a Forth implementation designed to run bare-metal on a Raspberry Pi, that is, booting directly into Forth with no OS. I thought this might be of interest to the community both for educational reasons and probably nostalgic ones as well.

However, I feel like this is something that should have been done already. Is there anything like this that's been done already? If there's an existing project along these lines, I'd rather contribute to that than start all over.

I've also considered the BeagleBoard as a target for this, so any information on projects for that would also be nice.

  • what your Forth implementation will be able to do besides switching GPIO pins? no video output, no USB access, no network. seems quite pointless to me. – lenik Apr 10 '14 at 2:33
5

Forth was one of the first languages I hacked on, long ago on my Apple IIc. So I understand the nostalgic appeal.

Here are the projects I'm currently aware of for Forth on Raspberry Pi.

  • rpiForth - An actual bare-metal Forth OS. However, the last commit was a year ago. It does not appear to be in active development.

  • ForthARM - Built specifically for Raspberry Pi ARMv6, but according to GitHub it's not currently in a working state.

  • isForth - This is a more recent and more active project. isForth is already maintained for x86. The developer has built it for BeagleBoard and is looking for Raspberry Pi testers to help get it live on the Raspberry Pi as well.

isForth looks like your best bet for getting into an active project at present, but if you're aiming for baremetal you may prefer to fork rpiForth and go from there.

5

I've recently forked the Raspberry Pi/ARM port of JonesGorth and removed the dependency on Linux. It now runs bare-metal on the Raspberry Pi, booting directly into the Forth interpreter. Many important words have been re-implemented in assembly, or as part of the built-in definitions. In addition, there is an XMODEM bootloader which allows hot-swap rebooting of new bare-metal kernels.

For more information on pijFORTHos, see our project on GitHub.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.