From 4abdbc409a2fdbb855a193a88d8ecfac5666121b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rom=C3=A1n=20C=C3=A1rdenas?= Date: Fri, 23 Jun 2023 09:15:11 +0200 Subject: [PATCH] using reexport instead in macros --- hifive1-test/examples/hifive1.rs | 6 +++++- riscv-slic-macros/src/lib.rs | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hifive1-test/examples/hifive1.rs b/hifive1-test/examples/hifive1.rs index 5e89cfd..fecc093 100644 --- a/hifive1-test/examples/hifive1.rs +++ b/hifive1-test/examples/hifive1.rs @@ -8,6 +8,8 @@ use hifive1::hal::DeviceResources; use hifive1::{pin, sprintln}; use riscv_rt::entry; +use riscv_slic; + // generate SLIC code for this example, only adding a HW binding for RTC // and a purely software SoftLow interrupt riscv_slic::codegen!(e310x, [RTC], [SoftLow, SoftHigh]); @@ -18,12 +20,14 @@ use slic::Interrupt; // Re-export of automatically generated enum of interrupts #[allow(non_snake_case)] #[no_mangle] unsafe fn ClearRTC() { + sprintln!("-------------------"); sprintln!("!start ClearRTC"); // increase rtccmp to clear HW interrupt let rtc = DeviceResources::steal().peripherals.RTC; let rtccmp = rtc.rtccmp.read().bits(); rtc.rtccmp.write(|w| w.bits(rtccmp + 65536 * 2)); sprintln!("!stop ClearRTC (rtccmp = {})", rtccmp); + sprintln!("-------------------"); } /// SW handler for RTC. @@ -33,7 +37,7 @@ unsafe fn ClearRTC() { unsafe fn RTC() { sprintln!(" start RTC"); riscv_slic::pend(Interrupt::SoftLow); - sprintln!(" middle RTC"); + // sprintln!(" middle RTC"); riscv_slic::pend(Interrupt::SoftHigh); sprintln!(" stop RTC"); } diff --git a/riscv-slic-macros/src/lib.rs b/riscv-slic-macros/src/lib.rs index 906d821..a98e6c7 100644 --- a/riscv-slic-macros/src/lib.rs +++ b/riscv-slic-macros/src/lib.rs @@ -88,6 +88,8 @@ pub fn codegen(input: TokenStream) -> TokenStream { quote! { pub mod slic { + use super::riscv_slic; + #api_code #exti_export