aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreZio Pan <[email protected]>2024-03-26 14:43:09 +0800
committereZio Pan <[email protected]>2024-03-26 15:06:06 +0800
commit6b2e15e318c05a66f17575cde4987353a52108a4 (patch)
treee168590d64b1b3388439482f2916b17da47c6594
parent79eabc95aa3b627dcfec92491979b433e25a09ba (diff)
stm32 CORDIC: exclude stm32u5a
-rw-r--r--embassy-stm32/build.rs9
-rw-r--r--embassy-stm32/src/lib.rs5
-rw-r--r--tests/stm32/Cargo.toml2
3 files changed, 11 insertions, 5 deletions
diff --git a/embassy-stm32/build.rs b/embassy-stm32/build.rs
index e224cc5a2..057c4cee2 100644
--- a/embassy-stm32/build.rs
+++ b/embassy-stm32/build.rs
@@ -1139,13 +1139,18 @@ fn main() {
1139 (("timer", "CH2"), quote!(crate::timer::Ch2Dma)), 1139 (("timer", "CH2"), quote!(crate::timer::Ch2Dma)),
1140 (("timer", "CH3"), quote!(crate::timer::Ch3Dma)), 1140 (("timer", "CH3"), quote!(crate::timer::Ch3Dma)),
1141 (("timer", "CH4"), quote!(crate::timer::Ch4Dma)), 1141 (("timer", "CH4"), quote!(crate::timer::Ch4Dma)),
1142 (("cordic", "WRITE"), quote!(crate::cordic::WriteDma)), 1142 (("cordic", "WRITE"), quote!(crate::cordic::WriteDma)), // FIXME: stm32u5a crash on Cordic driver
1143 (("cordic", "READ"), quote!(crate::cordic::ReadDma)), 1143 (("cordic", "READ"), quote!(crate::cordic::ReadDma)), // FIXME: stm32u5a crash on Cordic driver
1144 ] 1144 ]
1145 .into(); 1145 .into();
1146 1146
1147 for p in METADATA.peripherals { 1147 for p in METADATA.peripherals {
1148 if let Some(regs) = &p.registers { 1148 if let Some(regs) = &p.registers {
1149 // FIXME: stm32u5a crash on Cordic driver
1150 if chip_name.starts_with("stm32u5a") && regs.kind == "cordic" {
1151 continue;
1152 }
1153
1149 let mut dupe = HashSet::new(); 1154 let mut dupe = HashSet::new();
1150 for ch in p.dma_channels { 1155 for ch in p.dma_channels {
1151 // Some chips have multiple request numbers for the same (peri, signal, channel) combos. 1156 // Some chips have multiple request numbers for the same (peri, signal, channel) combos.
diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs
index ae2e95435..dd4aef51e 100644
--- a/embassy-stm32/src/lib.rs
+++ b/embassy-stm32/src/lib.rs
@@ -32,7 +32,8 @@ pub mod timer;
32pub mod adc; 32pub mod adc;
33#[cfg(can)] 33#[cfg(can)]
34pub mod can; 34pub mod can;
35#[cfg(cordic)] 35// FIXME: Cordic driver cause stm32u5a5zj crash
36#[cfg(all(cordic, not(any(stm32u5a5, stm32u5a9))))]
36pub mod cordic; 37pub mod cordic;
37#[cfg(crc)] 38#[cfg(crc)]
38pub mod crc; 39pub mod crc;
@@ -236,7 +237,7 @@ pub fn init(config: Config) -> Peripherals {
236 237
237 #[cfg(dbgmcu)] 238 #[cfg(dbgmcu)]
238 crate::pac::DBGMCU.cr().modify(|cr| { 239 crate::pac::DBGMCU.cr().modify(|cr| {
239 #[cfg(any(dbgmcu_h5))] 240 #[cfg(dbgmcu_h5)]
240 { 241 {
241 cr.set_stop(config.enable_debug_during_sleep); 242 cr.set_stop(config.enable_debug_during_sleep);
242 cr.set_standby(config.enable_debug_during_sleep); 243 cr.set_standby(config.enable_debug_during_sleep);
diff --git a/tests/stm32/Cargo.toml b/tests/stm32/Cargo.toml
index b19af98a0..e09083111 100644
--- a/tests/stm32/Cargo.toml
+++ b/tests/stm32/Cargo.toml
@@ -26,7 +26,7 @@ stm32l4a6zg = ["embassy-stm32/stm32l4a6zg", "chrono", "not-gpdma", "rng", "hash"
26stm32l4r5zi = ["embassy-stm32/stm32l4r5zi", "chrono", "not-gpdma", "rng"] 26stm32l4r5zi = ["embassy-stm32/stm32l4r5zi", "chrono", "not-gpdma", "rng"]
27stm32l552ze = ["embassy-stm32/stm32l552ze", "not-gpdma", "rng", "hash"] 27stm32l552ze = ["embassy-stm32/stm32l552ze", "not-gpdma", "rng", "hash"]
28stm32u585ai = ["embassy-stm32/stm32u585ai", "chrono", "rng", "hash", "cordic"] 28stm32u585ai = ["embassy-stm32/stm32u585ai", "chrono", "rng", "hash", "cordic"]
29stm32u5a5zj = ["embassy-stm32/stm32u5a5zj", "chrono", "rng", "hash", "cordic"] 29stm32u5a5zj = ["embassy-stm32/stm32u5a5zj", "chrono", "rng", "hash"] # FIXME: cordic test cause it crash
30stm32wb55rg = ["embassy-stm32/stm32wb55rg", "chrono", "not-gpdma", "ble", "mac" , "rng"] 30stm32wb55rg = ["embassy-stm32/stm32wb55rg", "chrono", "not-gpdma", "ble", "mac" , "rng"]
31stm32wba52cg = ["embassy-stm32/stm32wba52cg", "chrono", "rng", "hash"] 31stm32wba52cg = ["embassy-stm32/stm32wba52cg", "chrono", "rng", "hash"]
32stm32wl55jc = ["embassy-stm32/stm32wl55jc-cm4", "not-gpdma", "rng", "chrono"] 32stm32wl55jc = ["embassy-stm32/stm32wl55jc-cm4", "not-gpdma", "rng", "chrono"]