xForth - Experimental Forth cross compiler for tiny devices

  •        29

This is a Forth cross compiler for tiny devices. It's based on lbForth. Supported targets are 8051, AVR, Cortex-M, MSP430, PIC, and STM8. There's also support for some classic machines: 6502 and PDP-8. This is a temporary battleground to get things up and running. I expect to fold the finished result back into lbForth.




Related Projects

ChibiOS/RT free embedded RTOS

  •    C

ChibiOS/RT is a free and efficient RTOS designed for deeply embedded applications. It offers a comprehensive set of kernel primitives and supports many architectures: ARM7, Cortex-M0, Cortex-M3, Cortex-M4, PowerPC e200z, STM8, AVR, MSP430, ColdFire, H8S, x86.

FreeRTOS Real Time Kernel (RTOS)

  •    C

Market leading real time kernel for 32 microcontroller architectures

tock - A secure embedded operating system for Cortex-M based microcontrollers

  •    Rust

Tock is an embedded operating system designed for running multiple concurrent, mutually distrustful applications on Cortex-M based embedded platforms. Tock's design centers around protection, both from potentially malicious applications and from device drivers. Tock uses two mechanisms to protect different components of the operating system. First, the kernel and device drivers are written in Rust, a systems programming language that provides compile-time memory safety, type safety and strict aliasing. Tock uses Rust to protect the kernel (e.g. the scheduler and hardware abstraction layer) from platform specific device drivers as well as isolate device drivers from each other. Second, Tock uses memory protection units to isolate applications from each other and the kernel. Tock is documented in the doc folder. Read through the guides there to learn about the overview and design of Tock, its implementation, and much more.

Haxe - The Cross-Platform Toolkit

  •    Haxe

Haxe is an open source toolkit that allows you to easily build cross-platform tools and applications that target many mainstream platforms.

OpenEmbedded - Build Framework for Embedded Linux

  •    C

OpenEmbedded is the build framework for embedded Linux. It offers a best-in-class cross-compile environment. It allows developers to create a complete Linux Distribution for embedded systems. It support for many hardware architectures. It supports cross-compiles 1000's of packages including GTK+, Qt, the X Windows system, Mono, Java, and about anything else you might ever need.


  •    C

GCJ is a portable, optimizing, ahead-of-time compiler for the Java Programming Language. It can compile Java source code to Java bytecode (class files) or directly to native machine code, and Java bytecode to native machine code.

FlashForth: for PIC and Atmega


FlashForth is a standalone Forth system for the Microchip PIC 18, 24, 30, 33 and the Atmel Atmega series of microcontrollers. A Forth system with interpreter, compiler, assembler and multitasker is provided.

GCC toolchain for Microchip PIC


This is a port of the GNU C Compiler (GCC) to cross-compile C programs for the microcontroler family PIC from Microchip.



Compiler and device support for Ada programs on the ultra-low-power TI MSP430 microcontrollers. This project builds on the Gnu Gnat/GCC Ada compiler, the Sourceforge mspgcc back-end and MSP430 CPU support. It was inspired by the Sourceforge AVR-Ada project.

ferret - Ferret is a free software lisp implementation for real time embedded control systems.

  •    Makefile

Ferret is a free software lisp implementation designed to be used in real time embedded control systems. Ferret lisp compiles down to self contained C++11. Generated code is portable between any Operating System and/or Microcontroller that supports a C++11 compliant compiler. It has been verified to run on architectures ranging from embedded systems with as little as 2KB of RAM to general purpose computers running Linux/Mac OS X/Windows. A program that sums the first 5 positive numbers.

xgo - Go CGO cross compiler

  •    Shell

Although Go strives to be a cross platform language, cross compilation from one platform to another is not as simple as it could be, as you need the Go sources bootstrapped to each platform and architecture. The first step towards cross compiling was Dave Cheney's golang-crosscompile package, which automatically bootstrapped the necessary sources based on your existing Go installation. Although this was enough for a lot of cases, certain drawbacks became apparent where the official libraries used CGO internally: any dependency to third party platform code is unavailable, hence those parts don't cross compile nicely (native DNS resolution, system certificate access, etc).

rust-on-raspberry-pi - [OUTDATED] Instructions for how to cross compile Rust projects for the Raspberry Pi

  •    Shell

This guide will show how Rust programs can be cross compiled for the Raspberry Pi using Cargo. These instructions may or may not work for your particular system, so you may have to adjust the procedure to fit your configuration. There is also a docker container version of the Rust cross-compiler for the Raspberry: https://github.com/Ragnaroek/rust-on-raspberry-docker. If you are using docker this may be a easier solution for cross-compiling your project.

rust-cross - Everything you need to know about cross compiling Rust programs!

  •    Shell

If you want to set up your Rust toolchain as a cross compiler, you have come to the right place! I have documented all the necessary steps, plus the gotchas and common problems that you may find along the way. Here are the commands necessary to set up a stable Rust toolchain as a cross compiler for ARMv7 (*) devices on a fresh Ubuntu Trusty install. The goal of this example is to show that cross compilation is easy to setup and even easier to perform.

MSP430 Cross Development Kit

  •    C

CDK4MSP stands for Cross Development Kit for the Texas Instruments MSP430 MCUs and should you support with a comprehensive Assembler and C development environment for even this processor familie under Linux or similar host systems. It will present only f


  •    C

pico]OS is a highly configurable and very fast real time operating system (RTOS). It targets a wide range of architectures, from very small 8 bit processors and microcontrollers up to very huge platforms. Ports are available for ARM, AVR, PPC, MSP430, 6502, MYCPU and for developing and testing purpose also for 8086, Win32 and Unix. pico]OS 1.0.4 was released 2012-07-12. This is a maintenance release that includes some bug fixes for the new ports for MSP430 and ARM Cortex-M. You may also vi



froth is a Forth-like compiler written in Ansi C, and therefore fully portable (only require glib). With Froth, is provided also a Forth implementation for DSP (tms320c50 at this time). Froth should then be mainly considered as an interactive forth cross

PeachPy - x86-64 assembler embedded in Python

  •    Python

PeachPy is a Python framework for writing high-performance assembly kernels. Now you can compile this code into a binary object file that you can link into a program...

AVR Cross Development Kit

  •    C

CDK4AVR stands for Cross Development Kit for Atmels AVR RISC processor serie and should you support with a comprehensive Assembler and C development environment for even this processor familie under Linux or similar host systems.

JSIL - CIL to Javascript Compiler

  •    CSharp

JSIL is a compiler that transforms .NET applications and libraries from their native executable format - CIL bytecode - into standards-compliant, cross-browser JavaScript. You can take this JavaScript and run it in a web browser or any other modern JavaScript runtime. Unlike other cross-compiler tools targeting JavaScript, JSIL produces readable, easy-to-debug JavaScript that resembles the code a developer might write by hand, while still maintaining the behavior and structure of the original .NET code.For live demos and code samples, visit the website.