7 releases
new 0.3.2 | Oct 16, 2024 |
---|---|
0.3.1 | Oct 9, 2024 |
0.2.0 | Jul 16, 2024 |
0.1.2 | May 20, 2024 |
#188 in Robotics
485 downloads per month
Used in vexide
640KB
3K
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 entrypointt. -
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–9.5MB
~87K SLoC