19 unstable releases (3 breaking)
new 0.4.2 | Mar 6, 2025 |
---|---|
0.4.2-rc.1 | Mar 3, 2025 |
0.4.2-beta.3 | Feb 22, 2025 |
0.4.1 | Jan 31, 2025 |
0.1.2 | May 20, 2024 |
#138 in Robotics
845 downloads per month
Used in 2 crates
(via vexide)
755KB
4.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
:
Startup routine and behavior in vexide
.
-
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
~1.8–2.7MB
~48K SLoC