 Comprehensive Rust(繁体中文) 202406驅動程式 QEMU aarch64 虛擬機器的 PL031 即時時鐘位於 0x9010000。在這個練習中,您應為該時鐘編寫驅動 程式。 1. 使用該時鐘將目前時間顯示至序列控制台。您可以使用 chrono Crate 設定日期/時間格式。 2. 使 用 比 對 暫 存 器 和 原 始 中 斷 狀 態,忙 碌 等 待 至 指 定 時 間,例 如 未 來 3 秒 (呼 叫 迴 圈 中 的 core::hint::spin_loop)。 version = "0.1.0" edition = "2021" publish = false [dependencies] arm-gic = "0.1.0" bitflags = "2.4.2" chrono = { version = "0.4.34", default-features = false } log = "0.4.21" smccc = "0.1.1" spin = "0.9.8" use crate::pl031::Rtc; use arm_gic::gicv3::{IntId, Trigger}; use arm_gic::{irq_enable, wfi}; use chrono::{TimeZone, Utc}; use core::hint::spin_loop; use crate::pl011::Uart; use arm_gic::gicv3::GicV3; use0 码力 | 356 页 | 1.41 MB | 1 年前3 Comprehensive Rust(繁体中文) 202406驅動程式 QEMU aarch64 虛擬機器的 PL031 即時時鐘位於 0x9010000。在這個練習中,您應為該時鐘編寫驅動 程式。 1. 使用該時鐘將目前時間顯示至序列控制台。您可以使用 chrono Crate 設定日期/時間格式。 2. 使 用 比 對 暫 存 器 和 原 始 中 斷 狀 態,忙 碌 等 待 至 指 定 時 間,例 如 未 來 3 秒 (呼 叫 迴 圈 中 的 core::hint::spin_loop)。 version = "0.1.0" edition = "2021" publish = false [dependencies] arm-gic = "0.1.0" bitflags = "2.4.2" chrono = { version = "0.4.34", default-features = false } log = "0.4.21" smccc = "0.1.1" spin = "0.9.8" use crate::pl031::Rtc; use arm_gic::gicv3::{IntId, Trigger}; use arm_gic::{irq_enable, wfi}; use chrono::{TimeZone, Utc}; use core::hint::spin_loop; use crate::pl011::Uart; use arm_gic::gicv3::GicV3; use0 码力 | 356 页 | 1.41 MB | 1 年前3
共 1 条
- 1













