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 aroundteensy3-sys
components, as well as any pure rust reimplementations of other components.teensy3-sys
is re-exported asteensy3::bindings
.
- 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-bindgen
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.