diff options
| author | eZio Pan <[email protected]> | 2024-03-26 14:43:09 +0800 |
|---|---|---|
| committer | eZio Pan <[email protected]> | 2024-03-26 15:06:06 +0800 |
| commit | 6b2e15e318c05a66f17575cde4987353a52108a4 (patch) | |
| tree | e168590d64b1b3388439482f2916b17da47c6594 | |
| parent | 79eabc95aa3b627dcfec92491979b433e25a09ba (diff) | |
stm32 CORDIC: exclude stm32u5a
| -rw-r--r-- | embassy-stm32/build.rs | 9 | ||||
| -rw-r--r-- | embassy-stm32/src/lib.rs | 5 | ||||
| -rw-r--r-- | tests/stm32/Cargo.toml | 2 |
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; | |||
| 32 | pub mod adc; | 32 | pub mod adc; |
| 33 | #[cfg(can)] | 33 | #[cfg(can)] |
| 34 | pub mod can; | 34 | pub mod can; |
| 35 | #[cfg(cordic)] | 35 | // FIXME: Cordic driver cause stm32u5a5zj crash |
| 36 | #[cfg(all(cordic, not(any(stm32u5a5, stm32u5a9))))] | ||
| 36 | pub mod cordic; | 37 | pub mod cordic; |
| 37 | #[cfg(crc)] | 38 | #[cfg(crc)] |
| 38 | pub mod crc; | 39 | pub 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" | |||
| 26 | stm32l4r5zi = ["embassy-stm32/stm32l4r5zi", "chrono", "not-gpdma", "rng"] | 26 | stm32l4r5zi = ["embassy-stm32/stm32l4r5zi", "chrono", "not-gpdma", "rng"] |
| 27 | stm32l552ze = ["embassy-stm32/stm32l552ze", "not-gpdma", "rng", "hash"] | 27 | stm32l552ze = ["embassy-stm32/stm32l552ze", "not-gpdma", "rng", "hash"] |
| 28 | stm32u585ai = ["embassy-stm32/stm32u585ai", "chrono", "rng", "hash", "cordic"] | 28 | stm32u585ai = ["embassy-stm32/stm32u585ai", "chrono", "rng", "hash", "cordic"] |
| 29 | stm32u5a5zj = ["embassy-stm32/stm32u5a5zj", "chrono", "rng", "hash", "cordic"] | 29 | stm32u5a5zj = ["embassy-stm32/stm32u5a5zj", "chrono", "rng", "hash"] # FIXME: cordic test cause it crash |
| 30 | stm32wb55rg = ["embassy-stm32/stm32wb55rg", "chrono", "not-gpdma", "ble", "mac" , "rng"] | 30 | stm32wb55rg = ["embassy-stm32/stm32wb55rg", "chrono", "not-gpdma", "ble", "mac" , "rng"] |
| 31 | stm32wba52cg = ["embassy-stm32/stm32wba52cg", "chrono", "rng", "hash"] | 31 | stm32wba52cg = ["embassy-stm32/stm32wba52cg", "chrono", "rng", "hash"] |
| 32 | stm32wl55jc = ["embassy-stm32/stm32wl55jc-cm4", "not-gpdma", "rng", "chrono"] | 32 | stm32wl55jc = ["embassy-stm32/stm32wl55jc-cm4", "not-gpdma", "rng", "chrono"] |
