Files
zynq7000-rs/zynq/zynq7000-rt
Robin Mueller 116cb496d9
Some checks failed
ci / Check build (push) Has been cancelled
ci / Check formatting (push) Has been cancelled
ci / Check Documentation Build (push) Has been cancelled
ci / Clippy (push) Has been cancelled
ci / Check build (pull_request) Has been cancelled
ci / Check formatting (pull_request) Has been cancelled
ci / Check Documentation Build (pull_request) Has been cancelled
ci / Clippy (pull_request) Has been cancelled
move to default aarch32-rt kmain method instead of boot_core
2025-12-02 23:30:17 +01:00
..
2025-10-08 20:54:32 +02:00
2025-10-08 20:54:32 +02:00

Crates.io docs.rs ci

Zynq7000 Rust Run-Time Support

Startup code and minimal runtime for the AMD Zynq7000 SoC to write bare metal Rust code. This run-time crate is strongly based on the startup code provided by AMD.

It mostly builds on aarch32-rt. It activates the fpu-d32 feature on that crate and overrides the _default_start method to add necessary setup code for the Zynq7000. It re-exports the aarch32-rt crate, including the attributes macros. The documentation specifies these in detail.

Some major differences to the startup code provided by AMD:

  • No L2 cache initialization is performed.
  • MMU table is specified as Rust code.
  • Modification to the stack setup code, because a different linker script is used.

Features

  • rt is a default feature which activates the run-time.

Re-Generating the MMU table

The MMU table is a static flat map of 4096 entries for each 1 MB in the memory map. It was generated using the mmu-table-gen tool.