diff options
| author | xoviat <[email protected]> | 2023-05-21 20:18:26 -0500 |
|---|---|---|
| committer | xoviat <[email protected]> | 2023-05-21 20:18:26 -0500 |
| commit | d1dfaa190518df6adc66ab0716236bac3fe5f894 (patch) | |
| tree | b761d5ca623a0685bcb0d6e3b366c33c2c0e972d | |
| parent | 1f65a4eb6f4e7e0c6f5e036f3ea97650b9637ad9 (diff) | |
stm32/ipcc: fix hil test
| -rw-r--r-- | examples/stm32wb/memory.x | 2 | ||||
| -rw-r--r-- | tests/stm32/build.rs | 3 | ||||
| -rw-r--r-- | tests/stm32/memory_ble.x | 23 | ||||
| -rw-r--r-- | tests/stm32/src/bin/ble.rs | 8 |
4 files changed, 30 insertions, 6 deletions
diff --git a/examples/stm32wb/memory.x b/examples/stm32wb/memory.x index 5a07b7d19..e1f0530bd 100644 --- a/examples/stm32wb/memory.x +++ b/examples/stm32wb/memory.x | |||
| @@ -11,7 +11,7 @@ MEMORY | |||
| 11 | } | 11 | } |
| 12 | 12 | ||
| 13 | /* | 13 | /* |
| 14 | Memory size for STM32WB55xC with 512K FLASH | 14 | Memory size for STM32WB55xG with 512K FLASH |
| 15 | 15 | ||
| 16 | MEMORY | 16 | MEMORY |
| 17 | { | 17 | { |
diff --git a/tests/stm32/build.rs b/tests/stm32/build.rs index 7ae311778..ca76b70bb 100644 --- a/tests/stm32/build.rs +++ b/tests/stm32/build.rs | |||
| @@ -12,6 +12,9 @@ fn main() -> Result<(), Box<dyn Error>> { | |||
| 12 | if cfg!(any(feature = "stm32f103c8", feature = "stm32c031c6")) { | 12 | if cfg!(any(feature = "stm32f103c8", feature = "stm32c031c6")) { |
| 13 | println!("cargo:rustc-link-arg-bins=-Tlink.x"); | 13 | println!("cargo:rustc-link-arg-bins=-Tlink.x"); |
| 14 | println!("cargo:rerun-if-changed=link.x"); | 14 | 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(); | ||
| 15 | } else { | 18 | } else { |
| 16 | println!("cargo:rustc-link-arg-bins=-Tlink_ram.x"); | 19 | println!("cargo:rustc-link-arg-bins=-Tlink_ram.x"); |
| 17 | println!("cargo:rerun-if-changed=link_ram.x"); | 20 | println!("cargo:rerun-if-changed=link_ram.x"); |
diff --git a/tests/stm32/memory_ble.x b/tests/stm32/memory_ble.x new file mode 100644 index 000000000..4332e2c72 --- /dev/null +++ b/tests/stm32/memory_ble.x | |||
| @@ -0,0 +1,23 @@ | |||
| 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/ble.rs index 0f711fdac..aedf9a380 100644 --- a/tests/stm32/src/bin/ble.rs +++ b/tests/stm32/src/bin/ble.rs | |||
| @@ -7,6 +7,7 @@ | |||
| 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::ipcc::{Config, Ipcc}; | 11 | use embassy_stm32::ipcc::{Config, Ipcc}; |
| 11 | use embassy_stm32::tl_mbox::TlMbox; | 12 | use embassy_stm32::tl_mbox::TlMbox; |
| 12 | use embassy_time::{Duration, Timer}; | 13 | use embassy_time::{Duration, Timer}; |
| @@ -20,9 +21,6 @@ async fn main(_spawner: Spawner) { | |||
| 20 | let config = Config::default(); | 21 | let config = Config::default(); |
| 21 | let mut ipcc = Ipcc::new(p.IPCC, config); | 22 | let mut ipcc = Ipcc::new(p.IPCC, config); |
| 22 | 23 | ||
| 23 | let config = Config::default(); | ||
| 24 | let mut ipcc = Ipcc::new(p.IPCC, config); | ||
| 25 | |||
| 26 | let rx_irq = interrupt::take!(IPCC_C1_RX); | 24 | let rx_irq = interrupt::take!(IPCC_C1_RX); |
| 27 | let tx_irq = interrupt::take!(IPCC_C1_TX); | 25 | let tx_irq = interrupt::take!(IPCC_C1_TX); |
| 28 | 26 | ||
| @@ -31,7 +29,7 @@ async fn main(_spawner: Spawner) { | |||
| 31 | loop { | 29 | loop { |
| 32 | let wireless_fw_info = mbox.wireless_fw_info(); | 30 | let wireless_fw_info = mbox.wireless_fw_info(); |
| 33 | match wireless_fw_info { | 31 | match wireless_fw_info { |
| 34 | None => error!("not yet initialized"), | 32 | None => {} |
| 35 | Some(fw_info) => { | 33 | Some(fw_info) => { |
| 36 | let version_major = fw_info.version_major(); | 34 | let version_major = fw_info.version_major(); |
| 37 | let version_minor = fw_info.version_minor(); | 35 | let version_minor = fw_info.version_minor(); |
| @@ -49,7 +47,7 @@ async fn main(_spawner: Spawner) { | |||
| 49 | } | 47 | } |
| 50 | } | 48 | } |
| 51 | 49 | ||
| 52 | Timer::after(Duration::from_millis(500)).await; | 50 | Timer::after(Duration::from_millis(50)).await; |
| 53 | } | 51 | } |
| 54 | 52 | ||
| 55 | info!("Test OK"); | 53 | info!("Test OK"); |
