diff options
| author | Dario Nieuwenhuis <[email protected]> | 2023-04-11 13:37:10 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2023-04-11 14:16:32 +0200 |
| commit | f5df5676193cc76f7dca3271882777b7ed00e269 (patch) | |
| tree | df2953b0b4b8228338e11f4b2a67cd28a212ca15 /tests | |
| parent | 35a34afbc22fc526b0c6dfac0946829c54d0b3b5 (diff) | |
stm32/test: add C0 hil tests.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/stm32/Cargo.toml | 3 | ||||
| -rw-r--r-- | tests/stm32/build.rs | 6 | ||||
| -rw-r--r-- | tests/stm32/src/bin/gpio.rs | 2 | ||||
| -rw-r--r-- | tests/stm32/src/bin/spi.rs | 4 | ||||
| -rw-r--r-- | tests/stm32/src/bin/spi_dma.rs | 2 | ||||
| -rw-r--r-- | tests/stm32/src/bin/usart.rs | 2 | ||||
| -rw-r--r-- | tests/stm32/src/bin/usart_dma.rs | 3 |
7 files changed, 20 insertions, 2 deletions
diff --git a/tests/stm32/Cargo.toml b/tests/stm32/Cargo.toml index bd181f235..227eabe73 100644 --- a/tests/stm32/Cargo.toml +++ b/tests/stm32/Cargo.toml | |||
| @@ -8,6 +8,7 @@ license = "MIT OR Apache-2.0" | |||
| 8 | stm32f103c8 = ["embassy-stm32/stm32f103c8"] # Blue Pill | 8 | stm32f103c8 = ["embassy-stm32/stm32f103c8"] # Blue Pill |
| 9 | stm32f429zi = ["embassy-stm32/stm32f429zi"] # Nucleo | 9 | stm32f429zi = ["embassy-stm32/stm32f429zi"] # Nucleo |
| 10 | stm32g071rb = ["embassy-stm32/stm32g071rb"] # Nucleo | 10 | stm32g071rb = ["embassy-stm32/stm32g071rb"] # Nucleo |
| 11 | stm32c031c6 = ["embassy-stm32/stm32c031c6"] # Nucleo | ||
| 11 | stm32g491re = ["embassy-stm32/stm32g491re"] # Nucleo | 12 | stm32g491re = ["embassy-stm32/stm32g491re"] # Nucleo |
| 12 | stm32h755zi = ["embassy-stm32/stm32h755zi-cm7"] # Nucleo | 13 | stm32h755zi = ["embassy-stm32/stm32h755zi-cm7"] # Nucleo |
| 13 | stm32wb55rg = ["embassy-stm32/stm32wb55rg"] # Nucleo | 14 | stm32wb55rg = ["embassy-stm32/stm32wb55rg"] # Nucleo |
| @@ -18,7 +19,7 @@ stm32u585ai = ["embassy-stm32/stm32u585ai"] # IoT board | |||
| 18 | embassy-sync = { version = "0.1.0", path = "../../embassy-sync", features = ["defmt"] } | 19 | embassy-sync = { version = "0.1.0", path = "../../embassy-sync", features = ["defmt"] } |
| 19 | embassy-executor = { version = "0.1.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } | 20 | embassy-executor = { version = "0.1.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } |
| 20 | embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt", "tick-hz-32_768"] } | 21 | embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt", "tick-hz-32_768"] } |
| 21 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "memory-x", "time-driver-tim2"] } | 22 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "memory-x", "time-driver-any"] } |
| 22 | 23 | ||
| 23 | defmt = "0.3.0" | 24 | defmt = "0.3.0" |
| 24 | defmt-rtt = "0.4" | 25 | defmt-rtt = "0.4" |
diff --git a/tests/stm32/build.rs b/tests/stm32/build.rs index 6f4872249..3e67a7392 100644 --- a/tests/stm32/build.rs +++ b/tests/stm32/build.rs | |||
| @@ -9,7 +9,13 @@ fn main() -> Result<(), Box<dyn Error>> { | |||
| 9 | println!("cargo:rerun-if-changed=link_ram.x"); | 9 | println!("cargo:rerun-if-changed=link_ram.x"); |
| 10 | 10 | ||
| 11 | println!("cargo:rustc-link-arg-bins=--nmagic"); | 11 | println!("cargo:rustc-link-arg-bins=--nmagic"); |
| 12 | |||
| 13 | // too little RAM to run from RAM. | ||
| 14 | #[cfg(any(feature = "stm32c031c6"))] | ||
| 15 | println!("cargo:rustc-link-arg-bins=-Tlink.x"); | ||
| 16 | #[cfg(not(any(feature = "stm32c031c6")))] | ||
| 12 | println!("cargo:rustc-link-arg-bins=-Tlink_ram.x"); | 17 | println!("cargo:rustc-link-arg-bins=-Tlink_ram.x"); |
| 18 | |||
| 13 | println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); | 19 | println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); |
| 14 | 20 | ||
| 15 | Ok(()) | 21 | Ok(()) |
diff --git a/tests/stm32/src/bin/gpio.rs b/tests/stm32/src/bin/gpio.rs index 6a36df8cc..8b99b08a5 100644 --- a/tests/stm32/src/bin/gpio.rs +++ b/tests/stm32/src/bin/gpio.rs | |||
| @@ -32,6 +32,8 @@ async fn main(_spawner: Spawner) { | |||
| 32 | let (mut a, mut b) = (p.PD9, p.PD8); | 32 | let (mut a, mut b) = (p.PD9, p.PD8); |
| 33 | #[cfg(feature = "stm32h563zi")] | 33 | #[cfg(feature = "stm32h563zi")] |
| 34 | let (mut a, mut b) = (p.PB6, p.PB7); | 34 | let (mut a, mut b) = (p.PB6, p.PB7); |
| 35 | #[cfg(feature = "stm32c031c6")] | ||
| 36 | let (mut a, mut b) = (p.PB6, p.PB7); | ||
| 35 | 37 | ||
| 36 | // Test initial output | 38 | // Test initial output |
| 37 | { | 39 | { |
diff --git a/tests/stm32/src/bin/spi.rs b/tests/stm32/src/bin/spi.rs index bf8098b1b..0f5e563b1 100644 --- a/tests/stm32/src/bin/spi.rs +++ b/tests/stm32/src/bin/spi.rs | |||
| @@ -32,6 +32,8 @@ async fn main(_spawner: Spawner) { | |||
| 32 | let (spi, sck, mosi, miso) = (p.SPI1, p.PE13, p.PE15, p.PE14); | 32 | let (spi, sck, mosi, miso) = (p.SPI1, p.PE13, p.PE15, p.PE14); |
| 33 | #[cfg(feature = "stm32h563zi")] | 33 | #[cfg(feature = "stm32h563zi")] |
| 34 | let (spi, sck, mosi, miso) = (p.SPI4, p.PE12, p.PE14, p.PE13); | 34 | let (spi, sck, mosi, miso) = (p.SPI4, p.PE12, p.PE14, p.PE13); |
| 35 | #[cfg(feature = "stm32c031c6")] | ||
| 36 | let (spi, sck, mosi, miso) = (p.SPI1, p.PA5, p.PA7, p.PA6); | ||
| 35 | 37 | ||
| 36 | info!("asdfa;"); | 38 | info!("asdfa;"); |
| 37 | let mut spi = Spi::new( | 39 | let mut spi = Spi::new( |
| @@ -49,7 +51,7 @@ async fn main(_spawner: Spawner) { | |||
| 49 | 51 | ||
| 50 | // Arduino pins D11 and D12 (MOSI-MISO) are connected together with a 1K resistor. | 52 | // Arduino pins D11 and D12 (MOSI-MISO) are connected together with a 1K resistor. |
| 51 | // so we should get the data we sent back. | 53 | // so we should get the data we sent back. |
| 52 | let mut buf = data; | 54 | let mut buf = [0; 9]; |
| 53 | spi.blocking_transfer(&mut buf, &data).unwrap(); | 55 | spi.blocking_transfer(&mut buf, &data).unwrap(); |
| 54 | assert_eq!(buf, data); | 56 | assert_eq!(buf, data); |
| 55 | 57 | ||
diff --git a/tests/stm32/src/bin/spi_dma.rs b/tests/stm32/src/bin/spi_dma.rs index b3dad8132..74776ebf8 100644 --- a/tests/stm32/src/bin/spi_dma.rs +++ b/tests/stm32/src/bin/spi_dma.rs | |||
| @@ -31,6 +31,8 @@ async fn main(_spawner: Spawner) { | |||
| 31 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PE13, p.PE15, p.PE14, p.GPDMA1_CH0, p.GPDMA1_CH1); | 31 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PE13, p.PE15, p.PE14, p.GPDMA1_CH0, p.GPDMA1_CH1); |
| 32 | #[cfg(feature = "stm32h563zi")] | 32 | #[cfg(feature = "stm32h563zi")] |
| 33 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI4, p.PE12, p.PE14, p.PE13, p.GPDMA1_CH0, p.GPDMA1_CH1); | 33 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI4, p.PE12, p.PE14, p.PE13, p.GPDMA1_CH0, p.GPDMA1_CH1); |
| 34 | #[cfg(feature = "stm32c031c6")] | ||
| 35 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PA5, p.PA7, p.PA6, p.DMA1_CH1, p.DMA1_CH2); | ||
| 34 | 36 | ||
| 35 | let mut spi = Spi::new( | 37 | let mut spi = Spi::new( |
| 36 | spi, | 38 | spi, |
diff --git a/tests/stm32/src/bin/usart.rs b/tests/stm32/src/bin/usart.rs index 52409567c..cca8c42ee 100644 --- a/tests/stm32/src/bin/usart.rs +++ b/tests/stm32/src/bin/usart.rs | |||
| @@ -34,6 +34,8 @@ async fn main(_spawner: Spawner) { | |||
| 34 | let (tx, rx, usart, irq) = (p.PD8, p.PD9, p.USART3, interrupt::take!(USART3)); | 34 | let (tx, rx, usart, irq) = (p.PD8, p.PD9, p.USART3, interrupt::take!(USART3)); |
| 35 | #[cfg(feature = "stm32h563zi")] | 35 | #[cfg(feature = "stm32h563zi")] |
| 36 | let (tx, rx, usart, irq) = (p.PB6, p.PB7, p.LPUART1, interrupt::take!(LPUART1)); | 36 | let (tx, rx, usart, irq) = (p.PB6, p.PB7, p.LPUART1, interrupt::take!(LPUART1)); |
| 37 | #[cfg(feature = "stm32c031c6")] | ||
| 38 | let (tx, rx, usart, irq) = (p.PB6, p.PB7, p.USART1, interrupt::take!(USART1)); | ||
| 37 | 39 | ||
| 38 | let config = Config::default(); | 40 | let config = Config::default(); |
| 39 | let mut usart = Uart::new(usart, rx, tx, irq, NoDma, NoDma, config); | 41 | let mut usart = Uart::new(usart, rx, tx, irq, NoDma, NoDma, config); |
diff --git a/tests/stm32/src/bin/usart_dma.rs b/tests/stm32/src/bin/usart_dma.rs index 3f70791c1..d673df0f3 100644 --- a/tests/stm32/src/bin/usart_dma.rs +++ b/tests/stm32/src/bin/usart_dma.rs | |||
| @@ -71,6 +71,9 @@ async fn main(_spawner: Spawner) { | |||
| 71 | p.GPDMA1_CH0, | 71 | p.GPDMA1_CH0, |
| 72 | p.GPDMA1_CH1, | 72 | p.GPDMA1_CH1, |
| 73 | ); | 73 | ); |
| 74 | #[cfg(feature = "stm32c031c6")] | ||
| 75 | let (tx, rx, usart, irq, tx_dma, rx_dma) = | ||
| 76 | (p.PB6, p.PB7, p.USART1, interrupt::take!(USART1), p.DMA1_CH1, p.DMA1_CH2); | ||
| 74 | 77 | ||
| 75 | let config = Config::default(); | 78 | let config = Config::default(); |
| 76 | let mut usart = Uart::new(usart, rx, tx, irq, tx_dma, rx_dma, config); | 79 | let mut usart = Uart::new(usart, rx, tx, irq, tx_dma, rx_dma, config); |
