first PAC experiments

This commit is contained in:
2025-02-25 10:52:04 +01:00
parent 1d298b547d
commit 9a9e01dc01
29 changed files with 4206 additions and 13 deletions

15
zynq-examples/Cargo.toml Normal file
View File

@ -0,0 +1,15 @@
[package]
name = "zynq-examples"
version = "0.1.0"
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
edition = "2024"
description = "Examples for the Zynq7000 family of SoCs"
homepage = "https://egit.irs.uni-stuttgart.de/rust/zynq7000-rs"
repository = "https://egit.irs.uni-stuttgart.de/rust/zynq7000-rs"
license = "MIT OR Apache-2.0"
keywords = ["no-std", "arm", "cortex-a", "amd", "zynq7000"]
categories = ["embedded", "no-std", "hardware-support"]
[dependencies]
cortex-r-a = { path = "../../cortex-r-a/cortex-r-a" }
zynq7000-rt = { path = "../zynq7000-rt" }

28
zynq-examples/src/main.rs Normal file
View File

@ -0,0 +1,28 @@
#![no_std]
#![no_main]
use core::panic::PanicInfo;
use cortex_r_a::asm::nop;
use zynq7000_rt as _;
/// Entry point (not called like a normal main function)
#[unsafe(no_mangle)]
pub extern "C" fn boot_core(cpu_id: u32) -> ! {
if cpu_id != 0 {
panic!("unexpected CPU ID {}", cpu_id);
}
main();
}
#[unsafe(export_name = "main")]
pub fn main() -> ! {
loop {
nop();
}
}
/// Panic handler
#[panic_handler]
fn panic(_info: &PanicInfo) -> ! {
loop {}
}