diff options
| author | xoviat <[email protected]> | 2023-05-29 15:07:21 -0500 |
|---|---|---|
| committer | xoviat <[email protected]> | 2023-05-29 15:07:21 -0500 |
| commit | 68441a74c2da3d3186ca351f0b3d263940564a16 (patch) | |
| tree | e5d40a357c49accd1b774a2b401d79b03ecf6075 /tests | |
| parent | aba0f8fd6cd51cad65480689bc9254df4f071175 (diff) | |
| parent | 3b38079490b0c283899cab42308c4feab4c47fdc (diff) | |
Merge branch 'main' of https://github.com/embassy-rs/embassy into uart
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/stm32/.cargo/config.toml | 2 | ||||
| -rw-r--r-- | tests/stm32/Cargo.toml | 8 | ||||
| -rw-r--r-- | tests/stm32/build.rs | 13 | ||||
| -rw-r--r-- | tests/stm32/memory_ble.x | 23 | ||||
| -rw-r--r-- | tests/stm32/src/bin/tl_mbox.rs (renamed from tests/stm32/src/bin/ble.rs) | 17 |
5 files changed, 22 insertions, 41 deletions
diff --git a/tests/stm32/.cargo/config.toml b/tests/stm32/.cargo/config.toml index 29c4799a1..426d6e67f 100644 --- a/tests/stm32/.cargo/config.toml +++ b/tests/stm32/.cargo/config.toml | |||
| @@ -17,4 +17,4 @@ rustflags = [ | |||
| 17 | target = "thumbv7m-none-eabi" | 17 | target = "thumbv7m-none-eabi" |
| 18 | 18 | ||
| 19 | [env] | 19 | [env] |
| 20 | DEFMT_LOG = "trace" | 20 | DEFMT_LOG = "trace" \ No newline at end of file |
diff --git a/tests/stm32/Cargo.toml b/tests/stm32/Cargo.toml index bd8d90abe..4c0597746 100644 --- a/tests/stm32/Cargo.toml +++ b/tests/stm32/Cargo.toml | |||
| @@ -7,12 +7,12 @@ autobins = false | |||
| 7 | 7 | ||
| 8 | [features] | 8 | [features] |
| 9 | stm32f103c8 = ["embassy-stm32/stm32f103c8", "not-gpdma"] # Blue Pill | 9 | stm32f103c8 = ["embassy-stm32/stm32f103c8", "not-gpdma"] # Blue Pill |
| 10 | stm32f429zi = ["embassy-stm32/stm32f429zi", "sdmmc", "chrono", "not-gpdma"] # Nucleo | 10 | stm32f429zi = ["embassy-stm32/stm32f429zi", "chrono", "not-gpdma"] # Nucleo "sdmmc" |
| 11 | stm32g071rb = ["embassy-stm32/stm32g071rb", "not-gpdma"] # Nucleo | 11 | stm32g071rb = ["embassy-stm32/stm32g071rb", "not-gpdma"] # Nucleo |
| 12 | stm32c031c6 = ["embassy-stm32/stm32c031c6", "not-gpdma"] # Nucleo | 12 | stm32c031c6 = ["embassy-stm32/stm32c031c6", "not-gpdma"] # Nucleo |
| 13 | stm32g491re = ["embassy-stm32/stm32g491re", "not-gpdma"] # Nucleo | 13 | stm32g491re = ["embassy-stm32/stm32g491re", "not-gpdma"] # Nucleo |
| 14 | stm32h755zi = ["embassy-stm32/stm32h755zi-cm7", "not-gpdma"] # Nucleo | 14 | stm32h755zi = ["embassy-stm32/stm32h755zi-cm7", "not-gpdma"] # Nucleo |
| 15 | stm32wb55rg = ["embassy-stm32/stm32wb55rg", "not-gpdma"] # Nucleo | 15 | stm32wb55rg = ["embassy-stm32/stm32wb55rg", "not-gpdma", "ble"] # Nucleo |
| 16 | stm32h563zi = ["embassy-stm32/stm32h563zi"] # Nucleo | 16 | stm32h563zi = ["embassy-stm32/stm32h563zi"] # Nucleo |
| 17 | stm32u585ai = ["embassy-stm32/stm32u585ai"] # IoT board | 17 | stm32u585ai = ["embassy-stm32/stm32u585ai"] # IoT board |
| 18 | 18 | ||
| @@ -45,8 +45,8 @@ chrono = { version = "^0.4", default-features = false, optional = true} | |||
| 45 | # BEGIN TESTS | 45 | # BEGIN TESTS |
| 46 | # Generated by gen_test.py. DO NOT EDIT. | 46 | # Generated by gen_test.py. DO NOT EDIT. |
| 47 | [[bin]] | 47 | [[bin]] |
| 48 | name = "ble" | 48 | name = "tl_mbox" |
| 49 | path = "src/bin/ble.rs" | 49 | path = "src/bin/tl_mbox.rs" |
| 50 | required-features = [ "ble",] | 50 | required-features = [ "ble",] |
| 51 | 51 | ||
| 52 | [[bin]] | 52 | [[bin]] |
diff --git a/tests/stm32/build.rs b/tests/stm32/build.rs index ca76b70bb..b4583147e 100644 --- a/tests/stm32/build.rs +++ b/tests/stm32/build.rs | |||
| @@ -9,17 +9,22 @@ fn main() -> Result<(), Box<dyn Error>> { | |||
| 9 | println!("cargo:rustc-link-arg-bins=--nmagic"); | 9 | println!("cargo:rustc-link-arg-bins=--nmagic"); |
| 10 | 10 | ||
| 11 | // too little RAM to run from RAM. | 11 | // too little RAM to run from RAM. |
| 12 | if cfg!(any(feature = "stm32f103c8", feature = "stm32c031c6")) { | 12 | if cfg!(any( |
| 13 | feature = "stm32f103c8", | ||
| 14 | feature = "stm32c031c6", | ||
| 15 | feature = "stm32wb55rg" | ||
| 16 | )) { | ||
| 13 | println!("cargo:rustc-link-arg-bins=-Tlink.x"); | 17 | println!("cargo:rustc-link-arg-bins=-Tlink.x"); |
| 14 | println!("cargo:rerun-if-changed=link.x"); | 18 | println!("cargo:rerun-if-changed=link.x"); |
| 15 | } else if cfg!(feature = "stm32wb55rg") { | ||
| 16 | println!("cargo:rustc-link-arg-bins=-Tlink.x"); | ||
| 17 | fs::write(out.join("memory.x"), include_bytes!("memory_ble.x")).unwrap(); | ||
| 18 | } else { | 19 | } else { |
| 19 | println!("cargo:rustc-link-arg-bins=-Tlink_ram.x"); | 20 | println!("cargo:rustc-link-arg-bins=-Tlink_ram.x"); |
| 20 | println!("cargo:rerun-if-changed=link_ram.x"); | 21 | println!("cargo:rerun-if-changed=link_ram.x"); |
| 21 | } | 22 | } |
| 22 | 23 | ||
| 24 | if cfg!(feature = "stm32wb55rg") { | ||
| 25 | println!("cargo:rustc-link-arg-bins=-Ttl_mbox.x"); | ||
| 26 | } | ||
| 27 | |||
| 23 | println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); | 28 | println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); |
| 24 | 29 | ||
| 25 | Ok(()) | 30 | Ok(()) |
diff --git a/tests/stm32/memory_ble.x b/tests/stm32/memory_ble.x deleted file mode 100644 index 4332e2c72..000000000 --- a/tests/stm32/memory_ble.x +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* | ||
| 2 | Memory size for STM32WB55xG with 512K FLASH | ||
| 3 | */ | ||
| 4 | |||
| 5 | MEMORY | ||
| 6 | { | ||
| 7 | FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K | ||
| 8 | RAM (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FFF8 | ||
| 9 | RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K | ||
| 10 | } | ||
| 11 | |||
| 12 | /* Place stack at the end of SRAM1 */ | ||
| 13 | _stack_start = ORIGIN(RAM) + LENGTH(RAM); | ||
| 14 | |||
| 15 | /* | ||
| 16 | * Scatter the mailbox interface memory sections in shared memory | ||
| 17 | */ | ||
| 18 | SECTIONS { | ||
| 19 | TL_REF_TABLE (NOLOAD) : { *(TL_REF_TABLE) } >RAM_SHARED | ||
| 20 | |||
| 21 | MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED | ||
| 22 | MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED | ||
| 23 | } | ||
diff --git a/tests/stm32/src/bin/ble.rs b/tests/stm32/src/bin/tl_mbox.rs index aedf9a380..626e7ac6f 100644 --- a/tests/stm32/src/bin/ble.rs +++ b/tests/stm32/src/bin/tl_mbox.rs | |||
| @@ -7,24 +7,23 @@ | |||
| 7 | #[path = "../example_common.rs"] | 7 | #[path = "../example_common.rs"] |
| 8 | mod example_common; | 8 | mod example_common; |
| 9 | use embassy_executor::Spawner; | 9 | use embassy_executor::Spawner; |
| 10 | use embassy_stm32::interrupt; | 10 | use embassy_stm32::tl_mbox::{Config, TlMbox}; |
| 11 | use embassy_stm32::ipcc::{Config, Ipcc}; | 11 | use embassy_stm32::{bind_interrupts, tl_mbox}; |
| 12 | use embassy_stm32::tl_mbox::TlMbox; | ||
| 13 | use embassy_time::{Duration, Timer}; | 12 | use embassy_time::{Duration, Timer}; |
| 14 | use example_common::*; | 13 | use example_common::*; |
| 15 | 14 | ||
| 15 | bind_interrupts!(struct Irqs{ | ||
| 16 | IPCC_C1_RX => tl_mbox::ReceiveInterruptHandler; | ||
| 17 | IPCC_C1_TX => tl_mbox::TransmitInterruptHandler; | ||
| 18 | }); | ||
| 19 | |||
| 16 | #[embassy_executor::main] | 20 | #[embassy_executor::main] |
| 17 | async fn main(_spawner: Spawner) { | 21 | async fn main(_spawner: Spawner) { |
| 18 | let p = embassy_stm32::init(config()); | 22 | let p = embassy_stm32::init(config()); |
| 19 | info!("Hello World!"); | 23 | info!("Hello World!"); |
| 20 | 24 | ||
| 21 | let config = Config::default(); | 25 | let config = Config::default(); |
| 22 | let mut ipcc = Ipcc::new(p.IPCC, config); | 26 | let mbox = TlMbox::new(p.IPCC, Irqs, config); |
| 23 | |||
| 24 | let rx_irq = interrupt::take!(IPCC_C1_RX); | ||
| 25 | let tx_irq = interrupt::take!(IPCC_C1_TX); | ||
| 26 | |||
| 27 | let mbox = TlMbox::init(&mut ipcc, rx_irq, tx_irq); | ||
| 28 | 27 | ||
| 29 | loop { | 28 | loop { |
| 30 | let wireless_fw_info = mbox.wireless_fw_info(); | 29 | let wireless_fw_info = mbox.wireless_fw_info(); |
