All Projects → thenewwazoo → ChibiOS-rust

thenewwazoo / ChibiOS-rust

Licence: MIT license
ChibiOS for Rust

Programming Languages

c
50402 projects - #5 most used programming language
objective c
16641 projects - #2 most used programming language
rust
11053 projects

Projects that are alternatives of or similar to ChibiOS-rust

Distortos
object-oriented C++ RTOS for microcontrollers
Stars: ✭ 354 (+2623.08%)
Mutual labels:  arm, rtos
Rt0s
Minimal Realtime OS for Cortex-M0
Stars: ✭ 41 (+215.38%)
Mutual labels:  arm, rtos
Qpc
QP/C real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
Stars: ✭ 379 (+2815.38%)
Mutual labels:  arm, rtos
rnk
rnk is a RTOS targeting ARM architecture.
Stars: ✭ 22 (+69.23%)
Mutual labels:  arm, rtos
Polymcu
An open framework for micro-controller software
Stars: ✭ 173 (+1230.77%)
Mutual labels:  arm, rtos
Pikort
A tiny Linux-like real-time kernel optimized for ARM Cortex-M chips
Stars: ✭ 268 (+1961.54%)
Mutual labels:  arm, rtos
Prettyos
A Preemptive Hard Real Time kernel for embedded devices.
Stars: ✭ 36 (+176.92%)
Mutual labels:  arm, rtos
drone-cortexm
ARM® Cortex®-M platform crate for Drone, an Embedded Operating System.
Stars: ✭ 31 (+138.46%)
Mutual labels:  arm, rtos
Nos
RTOS for microcontrollers
Stars: ✭ 160 (+1130.77%)
Mutual labels:  arm, rtos
Qpcpp
QP/C++ real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
Stars: ✭ 124 (+853.85%)
Mutual labels:  arm, rtos
mdepx
MDEPX — A BSD-style RTOS
Stars: ✭ 17 (+30.77%)
Mutual labels:  arm, rtos
drone-stm32-map
STM32 peripheral mappings for Drone, an Embedded Operating System.
Stars: ✭ 16 (+23.08%)
Mutual labels:  arm, rtos
Rt Thread
RT-Thread is an open source IoT operating system.
Stars: ✭ 6,466 (+49638.46%)
Mutual labels:  arm, rtos
Erika3
ERIKA Enterprise v3 RTOS
Stars: ✭ 98 (+653.85%)
Mutual labels:  arm, rtos
Talks
schedule and materials about my presentations
Stars: ✭ 245 (+1784.62%)
Mutual labels:  arm, rtos
DemOS
Free, simple, extremely lightweight, stackless, cooperative, co-routine system (OS) for microcontrollers
Stars: ✭ 18 (+38.46%)
Mutual labels:  arm, rtos
rune
Haiku MMC image writer for ARM,ARM64
Stars: ✭ 22 (+69.23%)
Mutual labels:  arm
Reverse-Engineering
A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit ARM & 64-bit ARM architectures.
Stars: ✭ 7,234 (+55546.15%)
Mutual labels:  arm
cpuwhat
Nim utilities for advanced CPU operations: CPU identification, ISA extension detection, bindings to assorted intrinsics
Stars: ✭ 25 (+92.31%)
Mutual labels:  arm
uC-LIB
Designed with Micrium’s renowned quality, scalability and reliability, the purpose of µC/LIB is to provide a clean, organized ANSI C implementation of the most common standard library functions, macros, and constants.
Stars: ✭ 33 (+153.85%)
Mutual labels:  rtos

ChibiOS is pretty cool. Rust is pretty cool.

This is an attempt to get ChibiOS useful via Rust. Or maybe it's to make Rust useful on ChibiOS.

Setup

$ rustup override set nightly
$ cargo install xargo
$ brew install llvm # per https://rust-lang-nursery.github.io/rust-bindgen/requirements.html

Update the memory.x file to reflect the layout of your hardware.

Build

Selecing your desired hardware is kind of an ugly process at the moment, and not very well fleshed-out. ChibiOS requires a few flags to specify the port (i.e. CPU type), which we need to pass in to the build script. As such, each CPU will need to get its own feature which will gate compilation of libchibios.a, manage bindgen, as well as set handlers in main.rs.

See Cargo.toml to dive into it. If you're not adding your own chip, the following are currently supported:

  • stm32f407xg
  • stm32f051x8

Pass them to Cargo using the --features flag, e.g.

$ xargo build --target thumbv7m-none-eabi --features stm32f407xg

Use

I like openocd and gdb.

$ openocd -f board/stm32f0discovery.cfg -c '$_TARGETNAME configure -rtos auto' -c 'gdb_port 3333' # or whatever
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].