aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-10-17 15:49:20 +0200
committerDario Nieuwenhuis <[email protected]>2023-10-17 15:57:09 +0200
commit846f2fc6e4d30a12f4da676c5d12147d1910add1 (patch)
treec32a4effc2685001b4c3131aa14ffe3caf554de0 /tests
parent683d5c30669bbb788e60ee3dd31ce30ba14c2d69 (diff)
stm32/tests: add stm32wl hil.
Diffstat (limited to 'tests')
-rw-r--r--tests/stm32/Cargo.toml1
-rw-r--r--tests/stm32/build.rs4
-rw-r--r--tests/stm32/src/common.rs17
3 files changed, 21 insertions, 1 deletions
diff --git a/tests/stm32/Cargo.toml b/tests/stm32/Cargo.toml
index 77991ead3..b1b2f55c3 100644
--- a/tests/stm32/Cargo.toml
+++ b/tests/stm32/Cargo.toml
@@ -24,6 +24,7 @@ stm32f767zi = ["embassy-stm32/stm32f767zi", "chrono", "not-gpdma", "eth", "rng"]
24stm32f207zg = ["embassy-stm32/stm32f207zg", "chrono", "not-gpdma", "eth", "rng"] 24stm32f207zg = ["embassy-stm32/stm32f207zg", "chrono", "not-gpdma", "eth", "rng"]
25stm32f303ze = ["embassy-stm32/stm32f303ze", "chrono", "not-gpdma"] 25stm32f303ze = ["embassy-stm32/stm32f303ze", "chrono", "not-gpdma"]
26stm32l496zg = ["embassy-stm32/stm32l496zg", "not-gpdma", "rng"] 26stm32l496zg = ["embassy-stm32/stm32l496zg", "not-gpdma", "rng"]
27stm32wl55jc = ["embassy-stm32/stm32wl55jc-cm4", "not-gpdma", "rng", "chrono"]
27 28
28eth = [] 29eth = []
29rng = [] 30rng = []
diff --git a/tests/stm32/build.rs b/tests/stm32/build.rs
index 9aabf8541..c5d0e40d6 100644
--- a/tests/stm32/build.rs
+++ b/tests/stm32/build.rs
@@ -8,12 +8,14 @@ fn main() -> Result<(), Box<dyn Error>> {
8 println!("cargo:rustc-link-search={}", out.display()); 8 println!("cargo:rustc-link-search={}", out.display());
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.
12 if cfg!(any( 11 if cfg!(any(
12 // too little RAM to run from RAM.
13 feature = "stm32f103c8", 13 feature = "stm32f103c8",
14 feature = "stm32c031c6", 14 feature = "stm32c031c6",
15 feature = "stm32wb55rg", 15 feature = "stm32wb55rg",
16 feature = "stm32l073rz", 16 feature = "stm32l073rz",
17 // wrong ram size in stm32-data
18 feature = "stm32wl55jc",
17 )) { 19 )) {
18 println!("cargo:rustc-link-arg-bins=-Tlink.x"); 20 println!("cargo:rustc-link-arg-bins=-Tlink.x");
19 println!("cargo:rerun-if-changed=link.x"); 21 println!("cargo:rerun-if-changed=link.x");
diff --git a/tests/stm32/src/common.rs b/tests/stm32/src/common.rs
index a802cdfcf..52edae3ac 100644
--- a/tests/stm32/src/common.rs
+++ b/tests/stm32/src/common.rs
@@ -42,6 +42,8 @@ teleprobe_meta::target!(b"nucleo-stm32f207zg");
42teleprobe_meta::target!(b"nucleo-stm32f303ze"); 42teleprobe_meta::target!(b"nucleo-stm32f303ze");
43#[cfg(feature = "stm32l496zg")] 43#[cfg(feature = "stm32l496zg")]
44teleprobe_meta::target!(b"nucleo-stm32l496zg"); 44teleprobe_meta::target!(b"nucleo-stm32l496zg");
45#[cfg(feature = "stm32wl55jc")]
46teleprobe_meta::target!(b"nucleo-stm32wl55jc");
45 47
46macro_rules! define_peris { 48macro_rules! define_peris {
47 ($($name:ident = $peri:ident,)* $(@irq $irq_name:ident = $irq_code:tt,)*) => { 49 ($($name:ident = $peri:ident,)* $(@irq $irq_name:ident = $irq_code:tt,)*) => {
@@ -181,6 +183,12 @@ define_peris!(
181 SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH3, SPI_RX_DMA = DMA1_CH2, 183 SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH3, SPI_RX_DMA = DMA1_CH2,
182 @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;}, 184 @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;},
183); 185);
186#[cfg(feature = "stm32wl55jc")]
187define_peris!(
188 UART = USART1, UART_TX = PB6, UART_RX = PB7, UART_TX_DMA = DMA1_CH4, UART_RX_DMA = DMA1_CH5,
189 SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH3, SPI_RX_DMA = DMA1_CH2,
190 @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;},
191);
184 192
185pub fn config() -> Config { 193pub fn config() -> Config {
186 #[allow(unused_mut)] 194 #[allow(unused_mut)]
@@ -299,6 +307,15 @@ pub fn config() -> Config {
299 }); 307 });
300 } 308 }
301 309
310 #[cfg(feature = "stm32wl55jc")]
311 {
312 use embassy_stm32::rcc::*;
313 config.rcc.mux = ClockSrc::MSI(MSIRange::RANGE32M);
314 embassy_stm32::pac::RCC.ccipr().modify(|w| {
315 w.set_rngsel(0b11); // msi
316 });
317 }
318
302 #[cfg(any(feature = "stm32l552ze"))] 319 #[cfg(any(feature = "stm32l552ze"))]
303 { 320 {
304 use embassy_stm32::rcc::*; 321 use embassy_stm32::rcc::*;