aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxoviat <[email protected]>2023-05-21 20:18:26 -0500
committerxoviat <[email protected]>2023-05-21 20:18:26 -0500
commitd1dfaa190518df6adc66ab0716236bac3fe5f894 (patch)
treeb761d5ca623a0685bcb0d6e3b366c33c2c0e972d
parent1f65a4eb6f4e7e0c6f5e036f3ea97650b9637ad9 (diff)
stm32/ipcc: fix hil test
-rw-r--r--examples/stm32wb/memory.x2
-rw-r--r--tests/stm32/build.rs3
-rw-r--r--tests/stm32/memory_ble.x23
-rw-r--r--tests/stm32/src/bin/ble.rs8
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
5MEMORY
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 */
18SECTIONS {
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"]
8mod example_common; 8mod example_common;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_stm32::interrupt;
10use embassy_stm32::ipcc::{Config, Ipcc}; 11use embassy_stm32::ipcc::{Config, Ipcc};
11use embassy_stm32::tl_mbox::TlMbox; 12use embassy_stm32::tl_mbox::TlMbox;
12use embassy_time::{Duration, Timer}; 13use 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");