Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Rust on microcontrollers

License

NotificationsYou must be signed in to change notification settings

coder137/lowlevel_rust

Repository files navigation

Rust on microcontrollers

Base Projects

  • Minimal blinky
    • Barebones blinky example i.e linker script to main
  • Minimal buildsystem
    • Initialcargo-make framework to have configurable build options i.e extendingcargo
  • Minimal controller peripheral
    • Use bindgen to transform.c architecture and chip files to.rs
    • Createl0 andl5 workspace layers
    • Addarchitecture,controller andstartup files inl0
  • Minimal Drivers
    • Write GPIO and USART drivers for high level application usage
    • Addedl2,l3 andl4 workspace layers
    • Addedbitflags utility library inl2 via crates.io
    • Addeddriver interfaces,gpio,usart drivers inl3
    • Addedled andbutton modules inl4
  • Minimal Interrupt
    • Configure interrupts from high level application code
    • Updatedl0l2,l3 andl4 workspace layers
    • Updatedl0 with user interrupt considerations
    • Addedheapless library tol2
    • Added USART buffered traits tol3

Async Rust

  • Minimal Async Basic
    • Forked fromMinimal Interrupt
    • Configure Interrupts and main loop with rust cooperative async/await
    • No executor/waker implementation. Just basic polling functionality

Roadmap

Supported Architecture

  • ARM Cortex M4

TODO, Add more eventually

Supported Chips

  • STM32L475xx
  • LPC4078xx

Supported Development platforms

See CI/CD

  • Windows
  • Linux
  • Mac

Async Rust

  • Basic Async Rust
    • Polling support
  • Efficient Async Rust
    • Waker support
    • Interrupt support

RTOS

C based

  • FreeRTOS
  • Zephyr RTOS

Rust based

  • RTIC

Debugging

  • OpenOCD
  • Semihosting

Mocking

  • Mockall

Buildsystem

  • Cargo
  • Cargo Make
  • Cargo features
    • Conditional compiling for additional platforms

Code coverage

  • Grcov
    • Rust based code coverage
  • Lcov
    • Stable code coverage tool
  • Codecov
    • Web based code coverage
  • Coveralls
    • Web based code coverage

FFI compat with C

  • Bindgen
    • Use C in Rust
  • CBindgen
    • Use Rust in C

Crates.io Libraries

Rust integrated tooling

  • Unit testing
  • Clippy
    • Linting
  • Cargofmt
    • Integrated in VSCode
  • Documentation

External tooling

  • Continuous Integration
    • Github Actions

About

Rust on microcontrollers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp