Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gmodena/binaryno
Rust binary running on bare metal
https://github.com/gmodena/binaryno
baremetal rust rust-embedded unikernel
Last synced: about 22 hours ago
JSON representation
Rust binary running on bare metal
- Host: GitHub
- URL: https://github.com/gmodena/binaryno
- Owner: gmodena
- License: mit
- Created: 2020-02-21T16:33:24.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-02-23T22:05:51.000Z (over 4 years ago)
- Last Synced: 2024-11-07T07:46:32.537Z (7 days ago)
- Topics: baremetal, rust, rust-embedded, unikernel
- Language: Rust
- Size: 2.93 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-unikernels - binaryno - Rust unikernel running on bare ARM CortexM hardware. (Projects / Language oriented)
README
# binaryno
Rust binary running on bare ARM CortexM hardware (`thumbv7em-none-eabihf`).# Scope
This repo contains a cross compiling toolchain for `thumbv7em-none-eabihf` binaries on MacOS and Linux
host. The target spec for this architecture (bare metal, no os) can be found in `thumbv7em-none-eabihf-noos.json`.I'm getting my feet wet with osdev in rust; building a (uni) kernel, based
on [Embedded Systems Architecture](https://www.packtpub.com/application-development/embedded-systems-architecture)
the tutorials at [https://os.phil-opp.com](https://os.phil-opp.com).# Install deps & build
Rust `nightly` and `thumbv7em-none-eabihf` target are required to build the binary.
Manual steps:
```
$ cargo install cargo-xbuild
$ rustup default nightly
$ rustup target add thumbv7em-none-eabihf
$ rustup component add rust-src
$ rustup component add llvm-tools-preview
$ cargo xbuild --release
```# Run
TODO: needs a bootloader# Resources
- https://os.phil-opp.com/freestanding-rust-binary/
- https://github.com/rust-embedded/cortex-m-quickstart
- https://www.packtpub.com/application-development/embedded-systems-architecture