From d939f0cf337d7638783deaecd0257e4b7e6aff1d Mon Sep 17 00:00:00 2001 From: Andelf Date: Sun, 24 Nov 2024 23:58:35 +0800 Subject: [PATCH] wip: fix demo build --- examples/hpm6750evkmini/src/bin/raw_pwm.rs | 9 ++++++--- examples/hpm6750evkmini/src/bin/spi_st7789.rs | 2 +- examples/hpm6750evkmini/src/bin/uart_async.rs | 2 +- examples/hpm6750evkmini/src/bin/usb.rs | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/examples/hpm6750evkmini/src/bin/raw_pwm.rs b/examples/hpm6750evkmini/src/bin/raw_pwm.rs index b0edb76..5a16006 100644 --- a/examples/hpm6750evkmini/src/bin/raw_pwm.rs +++ b/examples/hpm6750evkmini/src/bin/raw_pwm.rs @@ -3,6 +3,8 @@ #![feature(type_alias_impl_trait)] #![feature(impl_trait_in_assoc_type)] +use core::ptr::addr_of_mut; + use assign_resources::assign_resources; use embassy_time::Delay; use embedded_hal::delay::DelayNs; @@ -17,14 +19,15 @@ use {defmt_rtt as _, hpm_hal as hal}; const BOARD_NAME: &str = "HPM5300EVK"; const BANNER: &str = include_str!("../../../assets/BANNER"); +static mut UART: Option> = None; + macro_rules! println { ($($arg:tt)*) => { - let _ = writeln!(unsafe {UART.as_mut().unwrap()}, $($arg)*); + let uart = unsafe { (&mut *(&raw mut UART)).as_mut().unwrap()}; + let _ = writeln!(uart , $($arg)*); }; } -static mut UART: Option> = None; - assign_resources! { leds: Led { r: PB19, // PWM1, CH0 diff --git a/examples/hpm6750evkmini/src/bin/spi_st7789.rs b/examples/hpm6750evkmini/src/bin/spi_st7789.rs index b039050..34b8b9f 100644 --- a/examples/hpm6750evkmini/src/bin/spi_st7789.rs +++ b/examples/hpm6750evkmini/src/bin/spi_st7789.rs @@ -22,7 +22,7 @@ use hpm_hal::mode::Blocking; use hpm_hal::spi::{Config, Spi}; use hpm_hal::time::Hertz; use riscv::delay::McycleDelay; -use {defmt_rtt as _, hpm_hal as hal, panic_halt as _, riscv_rt as _}; +use {defmt_rtt as _, hpm_hal as hal, panic_halt as _}; pub struct ST7789< Spi: SpiDevice, diff --git a/examples/hpm6750evkmini/src/bin/uart_async.rs b/examples/hpm6750evkmini/src/bin/uart_async.rs index 5a14421..46e8ea4 100644 --- a/examples/hpm6750evkmini/src/bin/uart_async.rs +++ b/examples/hpm6750evkmini/src/bin/uart_async.rs @@ -57,7 +57,7 @@ async fn main(spawner: Spawner) -> ! { writeln!(uart, "Hello DMA => {:08x}\r\n", hal::pac::HDMA.int_status().read().0).unwrap(); uart.write(b"Hello Async World!\r\n").await.unwrap(); - uart.write(b"Type something: ").await.unwrap(); + uart.write(b"Type something(4 byte buf): ").await.unwrap(); let mut buf = [0u8; 4]; diff --git a/examples/hpm6750evkmini/src/bin/usb.rs b/examples/hpm6750evkmini/src/bin/usb.rs index 91b32fc..5d96c2e 100644 --- a/examples/hpm6750evkmini/src/bin/usb.rs +++ b/examples/hpm6750evkmini/src/bin/usb.rs @@ -12,7 +12,7 @@ use embassy_usb::Builder; use futures_util::future::join; use hal::usb::{Instance, UsbDriver}; use hpm_hal::{bind_interrupts, peripherals}; -use {defmt_rtt as _, hpm_hal as hal, riscv_rt as _}; +use {defmt_rtt as _, hpm_hal as hal}; bind_interrupts!(struct Irqs { USB0 => hal::usb::InterruptHandler;