From d4e405cf0784145ebd5daed3410179b58bd73fb4 Mon Sep 17 00:00:00 2001 From: cscherr Date: Thu, 31 Jul 2025 16:35:10 +0200 Subject: [PATCH] docs: rewrite readme --- README.md | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 72c07b6..2b0738a 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,19 @@ -# Crcbench +# NUCLEO L053R8 Benches -This is a benchmark for STM32 Microcontrollers, to compare the performance of -Rust programs with C programs. +This repository contains code to measure the performance of embedded C and +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 @@ -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. ``` -# on debian +# on debian bookworm 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 gem install ceedling @@ -23,3 +35,5 @@ gem install ceedling For implementing the SHA-2-256 Algorithm, [this](https://sha256algorithm.com/) website was very helpful. + +The algorithms themselves are mostly reference implementation of various RFCs.