This repository contains Bobbin SDK, a multi-platform Software Development Kit for embedded systems development using the Rust programming language.
NOTE (February 12, 2020) - Due to personal time constraints, this project is currently unmaintained. There is a significant amount of work that needs to be done to make it compatible with the greater Embedded Rust ecosystem that exists today and to support new hardware.
If anyone is interested in becoming a maintainer of the project as a whole or of specific pieces of the project, please feel free to open a pull request or contact me at jcsoo@bobbin.io.
NOTE (May 11, 2019) - IRQ handling needs to be revamped to be compatible with cortex-m-rt, and has temporarily been removed from MCU codegen. The design of the board support crates also need to be updated to use cortex-m-rt attributes instead of macros.
- DSL - A DSL for describing MCUs, Boards and Peripherals
- Lib - Rust crates used by generated Bobbin MCU and Board crates.
- Bobbin Build - Build-time Tools
- Bobbin Hz - Fractional Frequency Calculations
- Bobbin MCU - MCU Traits and Macros
- Bobbin HAL - Hardware Abstraction Layer
- Bobbin Sys - System Abstraction Layer
- Bobbin IPC - Simple IPC primitives
- MCU - MCU crates
- MCU Source - MCU crate source files
- MCU Examples - MCU usage examples
- Board - Rust board support crates
- Board Source - Board crate source files
- Board Examples - Board usage examples
- Periph - Non-MCU peripheral crates
- Periph Source - Peripheral crate source files
- App - Sample cross-platform rust applications
Additional Repositories
- Bobbin Bits - Small bit fields and ranged integers for Rust
- Bobbin CLI - A Rust command line tool to simplify embedded development and deployment.
Why is Bobbin designed the way it is? See Goals.
What makes Bobbin special? See Features.
See a list of supported Hardware.
Get started with a MCU or Board crate example. See Quick Start.
More documentation in available the doc directory.