aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/stm32h7/src/bin/spi_bdma.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/examples/stm32h7/src/bin/spi_bdma.rs b/examples/stm32h7/src/bin/spi_bdma.rs
index b2e941078..65f498506 100644
--- a/examples/stm32h7/src/bin/spi_bdma.rs
+++ b/examples/stm32h7/src/bin/spi_bdma.rs
@@ -10,18 +10,24 @@ use embassy_executor::Executor;
10use embassy_stm32::mode::Async; 10use embassy_stm32::mode::Async;
11use embassy_stm32::time::mhz; 11use embassy_stm32::time::mhz;
12use embassy_stm32::{spi, Config}; 12use embassy_stm32::{spi, Config};
13use grounded::uninit::GroundedArrayCell;
13use heapless::String; 14use heapless::String;
14use static_cell::StaticCell; 15use static_cell::StaticCell;
15use {defmt_rtt as _, panic_probe as _}; 16use {defmt_rtt as _, panic_probe as _};
16 17
17// Defined in memory.x 18// Defined in memory.x
18#[link_section = ".ram_d3"] 19#[link_section = ".ram_d3"]
19static mut RAM_D3: [u8; 64 * 1024] = [0u8; 64 * 1024]; 20static mut RAM_D3: GroundedArrayCell<u8, { 64 * 1024 }> = GroundedArrayCell::uninit();
20 21
21#[embassy_executor::task] 22#[embassy_executor::task]
22async fn main_task(mut spi: spi::Spi<'static, Async>) { 23async fn main_task(mut spi: spi::Spi<'static, Async>) {
23 let read_buffer = unsafe { &mut RAM_D3[0..128] }; 24 let (read_buffer, write_buffer) = unsafe {
24 let write_buffer = unsafe { &mut RAM_D3[128..256] }; 25 RAM_D3.initialize_all_copied(0);
26 (
27 RAM_D3.get_subslice_mut_unchecked(0, 128),
28 RAM_D3.get_subslice_mut_unchecked(128, 128),
29 )
30 };
25 31
26 for n in 0u32.. { 32 for n in 0u32.. {
27 let mut write: String<128> = String::new(); 33 let mut write: String<128> = String::new();