docs: rewrite readme

This commit is contained in:
cscherr 2025-07-31 16:35:10 +02:00
parent ba9ba5aa09
commit d4e405cf07
Signed by: cscherrNT
GPG key ID: 8E2B45BC51A27EA7

View file

@ -1,7 +1,19 @@
# Crcbench # NUCLEO L053R8 Benches
This is a benchmark for STM32 Microcontrollers, to compare the performance of This repository contains code to measure the performance of embedded C and
Rust programs with C programs. Rust code for an STM32 Microcontroller, specifically the `STM32L053R` on a
`NUCLEO-L053R` evaluation board.
It implements a variety of algorithms in both C and Rust
(`crate/algorithms`). These Algorithm programs are then executed by the
executable program written in Rust. C code is called using Rust's FFI with
manually implemented bindings. To measure the actual runtime of the algorithms,
you need to attach an oscilluscope to the configured port of the board while
the prgrams are running.
## Building
See [./scripts/build.sh].
## Building ## Building
@ -13,7 +25,7 @@ In addition to some crates from crates.io, this project requires the following
to be installed to compile and link to the algorithms-c implementations. to be installed to compile and link to the algorithms-c implementations.
``` ```
# on debian # on debian bookworm
apt install binutils-arm-none-eabi gcc-arm-none-eabi # compiler for the target architecture apt install binutils-arm-none-eabi gcc-arm-none-eabi # compiler for the target architecture
apt install ruby # ceedling is the used build system for algorithms-c, and needs to be installed with gem, the ruby package manager apt install ruby # ceedling is the used build system for algorithms-c, and needs to be installed with gem, the ruby package manager
gem install ceedling gem install ceedling
@ -23,3 +35,5 @@ gem install ceedling
For implementing the SHA-2-256 Algorithm, [this](https://sha256algorithm.com/) For implementing the SHA-2-256 Algorithm, [this](https://sha256algorithm.com/)
website was very helpful. website was very helpful.
The algorithms themselves are mostly reference implementation of various RFCs.