Crates.io | alarmo |
lib.rs | alarmo |
version | 0.0.5 |
source | src |
created_at | 2024-11-16 05:44:33.282817 |
updated_at | 2024-11-21 01:49:43.605774 |
description | Provides a convenient API to bootstrap firmware and access peripherals on the Nintendo Alarmo |
homepage | |
repository | https://github.com/RoccoDev/alarmo-rs |
max_upload_size | |
id | 1450103 |
size | 92,378 |
This project provides a convenient API to bootstrap firmware and access peripherals on the Nintendo Alarmo, using Rust.
This started as a Rust port of GaryOderNichts's MIT-licensed alarmo repository, which uses the official hardware abstraction layer. As a proof-of-concept, I first made a Rust loader that would just call GaryOderNichts's implementation, then I incrementally rewrote each part in the Rust module.
In its current state, the project no longer relies on the official HAL.
Consider this list of goals tentative:
display_interface
crateobjcopy
and firmware signing)alloc
feature)usb-device
, usbd-serial
)lcd
:# "--features display" required to build the LCD example
cargo build --example lcd --features display
arm-none-eabi-objcopy target/thumbv7em-none-eabihf/debug/examples/lcd lcd.bin
a.bin
.link.ld
file and .cargo/
directory from this repository to the
root of your crate.# With LCD support
cargo add alarmo -F display
# No LCD support
cargo add alarmo
# Optionally, add some other dependencies for peripherals, see examples for details
# cargo add mipidsi
# cargo add embedded-graphics
cargo build
debug
to release
for --release
):arm-none-eabi-objcopy target/thumbv7em-none-eabihf/debug/your_crate your_crate.bin
a.bin
.The library and its examples are dual-licensed under both Apache-2.0 and MIT.