novusk
esp-pacs
Our great sponsors
novusk | esp-pacs | |
---|---|---|
17 | 1 | |
89 | 91 | |
- | - | |
5.5 | 8.6 | |
8 months ago | 2 days ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
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.
novusk
-
700th commit!
Novusk's 700th commit
-
Novusk v3 announcement - A kernel written in Rust
[Novusk](https://github.com/NathanMcMillan54/novusk/]
-
Novusk v3 announcement
Any thoughts, opinions, recommendations, and even help is greatly appreciated!
-
Novusk v3-beta Kernel v2
Novusk
-
Novusk v3-beta Drivers v2
I'm just announcing this to show my progress I've made with a kernel I've been writing. The third version is probably one of the biggest major releases I'm going to make for Novusk, I made a todo list for this release. I've finished most of the drivers and now I'm going to be working more on main kernel and adding more features.
-
Novusk v3-beta Arch v3.2.1, a kernel written in Rust
Novusk v3 drivers (being worked on for Novusk v3-beta Drivers v1)
-
Questions about writing USB drivers
Usbd (USB Driver)
-
i want to build a simple OS. where do i start?
If you want to write an OS that is kernel based (which is easier), you could write a simple Linux distribution which might be hard at first, here would be a good introduction. If you want to use a more modern language like Rust, I've written a kernel made just for OS development, Novusk (v2.1.1) is good for OS development in Rust on x86.
-
x86 Android Kernel
Novusk Issue 11
-
Multi-use kernel written in Rust
This file explains how to run the Aarch64 kernel in qemu: Aarch64 Running
esp-pacs
-
The Embedded Rust ESP Development Ecosystem
The no-std ecosystem follows the same layering approach that exists within embedded Rust. In embedded Rust, there are several levels of abstraction that are introduced on top of microcontroller hardware as shown in the figure below. The first level is the peripheral access crate (PAC) which gives us access to low-level microcontroller registers at the bit level. It's also worth noting that the PAC is specific to a particular microcontroller series. For ESP devices the different PACs are captured in the esp-pacs repository. The microarchitecture crate is at a similar abstraction level to the PAC but specific to processor core (Ex. RISC-V) functions.
What are some alternatives?
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
esp-wifi - A WiFi, Bluetooth and ESP-NOW driver for use with Espressif chips and bare-metal Rust
libnu - Novusk User Library
esp-hal - no_std Hardware Abstraction Layers for ESP32 microcontrollers
nlibc - Novusk libc crate raw bindings to platform APIs for Rust
esp-backtrace - backtrace for ESP32 bare-metal
node-replicated-kernel - Experimental kernel with built-in replication.
esp-storage - implementation of embedded-storage traits to access unencrypted ESP32 flash
rCore - Rust version of THU uCore OS. Linux compatible.
esp-alloc - A simple `no_std` heap allocator for RISC-V and Xtensa processors from Espressif
linux - Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/
libc - The C standard library rewritten for Novusk