Skip to content

Implementing a software stack for STM32F746 MCU using only RUST (no external crates.)

License

Notifications You must be signed in to change notification settings

solidcode79/BareMetalRust

Repository files navigation

Bare Metal Rust

Motivation

The motivation for doing this is the fundamental principle that true understanding comes from building things from the ground up.

Here I plan on constructing a software stack for embedded and IoT applications entirely from scratch, using Rust programming language and Renode simulation.

The primary goal is to create a self-contained ecosystem, starting with a bare metal boot loader and extending to include components such as a memory manager, task scheduler, logger, and exception handler. By embarking on this journey, I aim to (re)gain a deep(er) understanding of the inner workings of ARM Cortex M7® based embedded systems while harnessing the power of Rust's safety and expressiveness.

Datasheets

To better understand and work with the STM32F746NG microcontroller, will need to refer to the following resources:

  1. STM32F746NG Development Board
  2. PM0253 STM32F7 Series and STM32H7 Series Cortex®-M7 processor programming manual

These documents provide in-depth information about the microcontroller's features, registers, and functionalities.

Installation

Getting started with this project is straightforward; you only need to install two essential components:

  1. Rust: You can install it by following the instructions on the official Rust website.
  2. Renode: Renode is an open-source hardware simulation framework that will help you test and debug your code in a controlled environment. You can find installation instructions for Renode on the Renode GitHub repository

Tags

About

Implementing a software stack for STM32F746 MCU using only RUST (no external crates.)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published