aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/stm32/build.rs3
-rw-r--r--tests/stm32/memory_ble.x23
-rw-r--r--tests/stm32/src/bin/ble.rs10
3 files changed, 33 insertions, 3 deletions
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 f4c864c65..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,12 +21,15 @@ 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 mbox = TlMbox::init(&mut ipcc); 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);
24 28
25 loop { 29 loop {
26 let wireless_fw_info = mbox.wireless_fw_info(); 30 let wireless_fw_info = mbox.wireless_fw_info();
27 match wireless_fw_info { 31 match wireless_fw_info {
28 None => error!("not yet initialized"), 32 None => {}
29 Some(fw_info) => { 33 Some(fw_info) => {
30 let version_major = fw_info.version_major(); 34 let version_major = fw_info.version_major();
31 let version_minor = fw_info.version_minor(); 35 let version_minor = fw_info.version_minor();
@@ -43,7 +47,7 @@ async fn main(_spawner: Spawner) {
43 } 47 }
44 } 48 }
45 49
46 Timer::after(Duration::from_millis(500)).await; 50 Timer::after(Duration::from_millis(50)).await;
47 } 51 }
48 52
49 info!("Test OK"); 53 info!("Test OK");