GithubHelp home page GithubHelp logo

agsb / fiveforths Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aw/fiveforths

0.0 0.0 0.0 434 KB

32-bit RISC-V Forth for microcontrollers

Home Page: https://fiveforths.a1w.ca

License: MIT License

C 2.20% Assembly 94.01% Makefile 3.19% GDB 0.61%

fiveforths's Introduction

FiveForths: 32-bit RISC-V Forth for microcontrollers

GitHub Workflow Status GitHub release justforfunnoreally.dev badge

FiveForths is a tiny Forth written in hand-coded RISC-V assembly, initially designed to run on the 32-bit Longan Nano (GD32VF103) microcontroller.

fiveforths-terminal

FiveForths currently uses the indirect threading model and only has 19 built-in primitive words. It is 100% fully functional and can be extended by adding new primitives (in Assembly) or by defining new words (in Forth). This implementation is loosely inspired by sectorforth, jonesforth, and derzforth.

Development progress has been logged regularly in the devlogs.


  1. Quick start
  2. Documentation
  3. Todo
  4. Contributing
  5. Changelog
  6. License

Quick start

The quickest way to get started is to download and flash one of the firmware binaries listed below:.

See the TUTORIALS for detailed download and flashing information.

Documentation

  • TUTORIALS: a quick guide to get started
  • EXPLAIN: learn the story behind FiveForths
  • HOWTO: build, usage, and code examples in Forth and RISC-V Assembly
  • REFERENCE: learn the technical details, what's under the hood

TODO

  • Code cleanup and optimizations

Contributing

Please create a pull-request or open an issue on GitHub.

Changelog

0.5 (2023-05-29)

  • Fix issue #19 - Error building without zicsr extension
  • Fix issue #20 - Specify stm32loader instead of dfu-util in docs

0.4 (2023-01-23)

  • Fix issue #16 - Add the ability to read hex numbers
  • Update documentation
  • Add example for toggling an LED

0.3 (2023-01-19)

  • Fix issue #7 - Implement bounds checks for stacks
  • Fix issue #8 - Implement bounds checks for user dictionary
  • Fix issue #13 - TOIN should not be an address
  • Fix issue #14 - STORE primitive is incorrect
  • Add better error messages
  • Add detailed documentation in docs
  • Add djb2.c to generate a word's hash locally
  • Add RAM zerofill of unused dictionary space on reset

0.2 (2023-01-10)

  • Fix issue #9 - Handling of carriage return
  • Fix issue #11 - Ignore non-printable characters
  • Re-organize code to support different boards and MCUs
  • Add boot message when the device is reset
  • Add GitHub action to automatically build and publish the firmware binaries

0.1 2023-01-09 - First release

License

MIT License

Copyright (c) 2021~ Alexander Williams

fiveforths's People

Contributors

aw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.