11 releases
0.3.4 | Nov 29, 2024 |
---|---|
0.3.3 | Nov 29, 2024 |
0.3.2 | Oct 16, 2024 |
0.2.0 | Jul 16, 2024 |
0.1.2 | May 20, 2024 |
#191 in Robotics
658 downloads per month
Used in 2 crates
(via vexide)
685KB
3.5K
SLoC
Contains (static library, 505KB) link/libm.a
vexide-startup
Startup primitives for the vexide runtime. This project provides a bare-metal entrypoint that freestanding Rust binaries can leverage to run on the VEX V5 Brain.
This includes:
- Stack setup
- Code signature/program header types
- BSS section handling
- Global allocator setup for
vexide_core
. - vexos background processing
lib.rs
:
This crate provides a minimal startup routine for user code on the VEX V5 Brain.
-
User code begins at an assembly routine called
_boot
, which sets up the stack section before jumping to a user-provided_start
symbol, which should be your rust entrypoint. -
From there, the Rust entrypoint may call the
startup
function to finish the startup process by clearing the.bss
section (intended for uninitialized data) and initializing vexide's heap allocator.
This crate is NOT a crt0 implementation. No global constructors are called.
Dependencies
~2–2.8MB
~49K SLoC