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

Download history 6/week @ 2024-06-24 144/week @ 2024-07-15 38/week @ 2024-07-29 7/week @ 2024-08-05 15/week @ 2024-08-12 2/week @ 2024-08-19 7/week @ 2024-09-09 11/week @ 2024-09-16 29/week @ 2024-09-23 181/week @ 2024-09-30 264/week @ 2024-10-07

485 downloads per month
Used in vexide

MIT license

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