Rust on Teensy3
This is a repo for development on the Teensy3 in Rust. This repo is bootstrapped with Teensyduino bindings, generated by rust-bindgen.
This crate is meant to be consumed by a binary for a PJRC Teensy 3.1 or 3.2. Support for Teensy 3.0, 3.5, and 3.6 boards is planned, but not implemented.
To use this crate, please see this demo repo which can be used as a template for your project.
teensy3-sys- This crate contains the C/C++ code and the Rust bindings against them. All items are generally unsafe, and not idiomatic rust.
teensy3- This crate contains any ergonomic wrappers around
teensy3-syscomponents, as well as any pure rust reimplementations of other components.
teensy3-sysis re-exported as
- A somewhat current Nightly Build of Rust (currently tested on
rustc 1.14.0-nightly (098d22845 2016-10-13))
- Japaric's Xargo Tool - used to cross compile libcore
- A somewhat current arm-none-eabi-gcc toolchain.
- Clang, see rust-bindgen’s requirements.
- teensy-loader-cli for flashing your program onto hardware.
This code is nearly entirely thanks to these resources:
- PJRC's Teensyduino libraries for the Teensy3, which are used as bindings.
- Simon's teensy3-clock repo for the rust main, build scripts, bindgen knowledge, et. al.
Rust contributions are licensed under the MIT License.
Please Note: ASM, C, C++, and Linker Components of the
teensy3-sys crate (a dependency of the
teensy3 crate) contain components licensed under the MIT License, PJRC's modified MIT License, and the LGPL v2.1. Please refer to individual components for more details.