#cortex-m #arm #stm32 #no-std

sys no-std libopencm3_sys

Rust bindings to the libopencm3 library for Cortex-M microcontrollers. Currently STM32F1 only -- forks and contributions accepted to alleviate this.

2 releases

Uses old Rust 2015

0.0.3 Jul 17, 2018
0.0.2 Jul 17, 2018
0.0.1 Jul 17, 2018

#106 in #stm32

LGPL-3.0-or-later

1MB
20K SLoC

C 16K SLoC // 0.5% comments Perl 3K SLoC // 0.1% comments Python 407 SLoC // 0.3% comments GNU Style Assembly 138 SLoC // 0.2% comments Forge Config 63 SLoC // 0.3% comments Rust 62 SLoC // 0.2% comments Shell 12 SLoC // 0.7% comments

libopencm3_sys

This is a project containing Rust bindings for the libopencm3 library, which is a firmware library for ARM Cortex-M3 microcontrollers and some other Cortex-M micros.

libopencm3 is available at https://github.com/libopencm3/libopencm3.

Status

These bindings currently only provide functions belonging to STM32F1-family microcontrollers.

The build script and wrapper.h would need to be changed to accommodate other microcontrollers -- a fork could easily do this until I figure out how to do it within the one repository.

libopencm3

libopencm3 itself is reportedly in flux.

Usage

I don't yet have any usage example for this as I have not yet figured it out myself.

Licence

This repository is under the LGPL-3 licence, as per libopencm3.

This repository contains some code adapted from the Rust std library -- where noted, that code is under the same licence as the original Rust std library.

Contributions

Contributions are welcomed.

No runtime deps

~0–2MB
~38K SLoC