6

The Embedded Working Group Newsletter - 22

 4 years ago
source link: https://rust-embedded.github.io/blog/newsletter-22/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

This is the 22nd newsletter of the Embedded WG where we highlight new progress, celebrate cool projects, thank the community, and advertise projects that need help!

Discuss on #rust-embedded:matrix.org , users.rust-lang.org , on twitter , or on reddit !

If you want to mention something in the next newsletter , send us a pull request!

Highlights

Embedded Projects

  • @andre-richter released v0.1.0 of qemu-exit . This library provides functions to gracefully exit a running QEMU session from within your Rust binary with an user-defined exit code. This can be used for unit or integration tests that run inside QEMU. Currently supports aarch64 and x86_64 architectures.

  • @eldruin released a platform-agnostic driver for the Si4703 FM radio turner (receiver) and published a blog post including a picture of an example setup.

  • @eldruin released a platform-agnostic driver for the PCA9685 PWM LED/Servo controller driver and published a blog post including a video of the device controlling RGB LEDs and several Servo motors simultaneously.

  • @eldruin released a platform-agnostic driver for Vishay's VEML6030 and VEML7700 ambient light sensors and published a blog post about it.

  • @nickray released salty ( API , book , code ), a library for fast Ed25519 signatures on Cortex-M4 and Cortex-M33 microcontrollers. It presents the ed25519-dalek API, but is self-contained and uses the fastest currently published field operations implementation, due to Bjoern Haase, based on the UMAAL DSP instruction (a: u32, b: u32, c: u32, d: u32) -> (a * b + c + d): u64 . Testing is done on the musca-b1 Cortex-M33 microcontroller, simulated in QEMU v4. Additionally, a C API is included.

  • @nickray released littlefs2 ( API , code ), an idiomatic Rust API for the littlefs filesystem for microcontrollers, modeled after std::fs . The upstream library claims to be resilient against power-loss, and supports features like dynamic wear-leveling with bad block detection, inline files for efficient use of storage, and custom user attributes on files and directories.

  • @nickray released nisty ( API , code ), a companion library to salty with similar API, but for NIST P-256 signatures on Cortex-M4 and Cortex-M33 microcontrollers. It offers deterministic signatures, idiomatic conversions, and uses micro-ecc as backend implementation, which also has UMAAL DSP instruction optimizations.

  • probe-rs has finally released 0.3.0 on crates.io. Its cargo-flash extension has improved by a large margin! Flashing speed has increased 10x and it is possible to virtually flash any ARM core thanks to the use of CMSIS-Pack flash algorithms.

    • You can create your own target description from a CMSIS-Pack with the use of target-gen
    • Built in algorithms support the nRF51xxx, nRF91xxx, nRF52xxx, STM32F1xx, LPC8xx and LPC55S66 and LPC55S69 series using a DAPLink or an ST-Link .
    • Please file a PR if you extracted an algorithm for your chip and tested it!
    • We are looking for contributors. We have lots of non-ARM-specific stuff to do as well, such as improving erroring, useability and documentation including a webpage on the newly acquired probe.rs domain.
    • Join us on #probe-rs:matrix.org
    • 0.4.0 will finally feature GDB support :) Stay tuned!

If you have an embedded project or blog post you would like to have featured in the Embedded WG Newsletter, make sure to add it to the next newsletter , we would love to show it off!

embedded-hal Ecosystem Crates

As part of the Weekly Driver Initiative , crates that are part of the embedded-hal ecosystem are now tracked in the Awesome Embedded Rust repository. Here is a current snapshot of what is available there:

Type Status Count Diff Peripheral Access Crates released 39 +7 HAL Impl Crates released 31 +2 Board Support Crates released 19 0 Driver Crates Released released 33 +3 Driver Crates WIP WIP 67 -2 no-std crates released 32 +2 no-std crates WIP WIP 3 0

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK