avr-device
osblog
avr-device | osblog | |
---|---|---|
2 | 3 | |
187 | 517 | |
- | - | |
7.6 | 0.0 | |
7 days ago | over 2 years ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
avr-device
-
rustc + avr = lovelove back again!
Also note that some libraries in the ecosystem might still use a feature called llvm_asm that was removed from rustc in 2021, so those crates might need a while to migrate to the newer asm syntax (this feature is used to provide an inline AVR assembly, e.g. to implement a cycle-accurate delay); so far I've got patches merged to https://github.com/Rahix/avr-hal & https://github.com/Rahix/avr-device :-)
-
Rust for microcontrollers question
Take a look at the avr-device crate, it also explains how to add a new controller and how to get to the svd files.
osblog
-
My RISC-V OSDev journey, so far
How to automate building and running the project using make; in particular, leveraging variables in the Makefile to elegantly apply the same command line options for compiling each file in the codebase - because trust me, you'll need a ton of command-line options ;-) For this, I based my initial Makefile on that found in the source code for "The Adventures of OS", e.g. this
-
Getting started with OSDev on RISC-V
I would like to thank the authors of RISC-V from scratch and The Adventures of OS for their high-quality articles that go into great detail on how RISC-V works. Without their well-written articles, I wouldn't have known how to get started with kernel development on RISC-V. My initial project setup - the minimal C runtime crt0.s in assembly and the linker script riscv64-virt.lds - is based on the former, while my UART driver code is adapted from the latter and I intend to closely follow the latter going forward.
-
RV32I Stack and stack pointer in hardware implementation
Here's an example of an interrupt routine (m_trap_vector): https://github.com/sgmarz/osblog/blob/master/risc_v/src/asm/trap.S
What are some alternatives?
avr-hal - embedded-hal abstractions for AVR microcontrollers
riscv-elf-psabi-doc - A RISC-V ELF psABI Document
rustsbi - RISC-V Supervisor Binary Interface (RISC-V SBI) library in Rust; runs on M or HS mode; good support for embedded Rust ecosystem. For binary download see https://github.com/rustsbi/prototyper.
riscv-from-scratch - The code for the RISC-V from scratch blog post series.
compiler-builtins - Porting `compiler-rt` intrinsics to Rust
riscv - Container image for RISC-V
avr-hal-template - cargo-generate template for avr-hal projects
marvelos - Marvelous RISC-V Operating System, by donaldsebleung
rust - Empowering everyone to build reliable and efficient software.
linux - @superna9999's Linux kernel source fork for upstream development