stm32 CORDIC: exclude stm32u5a

This commit is contained in:
eZio Pan 2024-03-26 14:43:09 +08:00
parent 79eabc95aa
commit 6b2e15e318
3 changed files with 11 additions and 5 deletions

View File

@ -1139,13 +1139,18 @@ fn main() {
(("timer", "CH2"), quote!(crate::timer::Ch2Dma)), (("timer", "CH2"), quote!(crate::timer::Ch2Dma)),
(("timer", "CH3"), quote!(crate::timer::Ch3Dma)), (("timer", "CH3"), quote!(crate::timer::Ch3Dma)),
(("timer", "CH4"), quote!(crate::timer::Ch4Dma)), (("timer", "CH4"), quote!(crate::timer::Ch4Dma)),
(("cordic", "WRITE"), quote!(crate::cordic::WriteDma)), (("cordic", "WRITE"), quote!(crate::cordic::WriteDma)), // FIXME: stm32u5a crash on Cordic driver
(("cordic", "READ"), quote!(crate::cordic::ReadDma)), (("cordic", "READ"), quote!(crate::cordic::ReadDma)), // FIXME: stm32u5a crash on Cordic driver
] ]
.into(); .into();
for p in METADATA.peripherals { for p in METADATA.peripherals {
if let Some(regs) = &p.registers { if let Some(regs) = &p.registers {
// FIXME: stm32u5a crash on Cordic driver
if chip_name.starts_with("stm32u5a") && regs.kind == "cordic" {
continue;
}
let mut dupe = HashSet::new(); let mut dupe = HashSet::new();
for ch in p.dma_channels { for ch in p.dma_channels {
// Some chips have multiple request numbers for the same (peri, signal, channel) combos. // Some chips have multiple request numbers for the same (peri, signal, channel) combos.

View File

@ -32,7 +32,8 @@ pub mod timer;
pub mod adc; pub mod adc;
#[cfg(can)] #[cfg(can)]
pub mod can; pub mod can;
#[cfg(cordic)] // FIXME: Cordic driver cause stm32u5a5zj crash
#[cfg(all(cordic, not(any(stm32u5a5, stm32u5a9))))]
pub mod cordic; pub mod cordic;
#[cfg(crc)] #[cfg(crc)]
pub mod crc; pub mod crc;
@ -236,7 +237,7 @@ pub fn init(config: Config) -> Peripherals {
#[cfg(dbgmcu)] #[cfg(dbgmcu)]
crate::pac::DBGMCU.cr().modify(|cr| { crate::pac::DBGMCU.cr().modify(|cr| {
#[cfg(any(dbgmcu_h5))] #[cfg(dbgmcu_h5)]
{ {
cr.set_stop(config.enable_debug_during_sleep); cr.set_stop(config.enable_debug_during_sleep);
cr.set_standby(config.enable_debug_during_sleep); cr.set_standby(config.enable_debug_during_sleep);

View File

@ -26,7 +26,7 @@ stm32l4a6zg = ["embassy-stm32/stm32l4a6zg", "chrono", "not-gpdma", "rng", "hash"
stm32l4r5zi = ["embassy-stm32/stm32l4r5zi", "chrono", "not-gpdma", "rng"] stm32l4r5zi = ["embassy-stm32/stm32l4r5zi", "chrono", "not-gpdma", "rng"]
stm32l552ze = ["embassy-stm32/stm32l552ze", "not-gpdma", "rng", "hash"] stm32l552ze = ["embassy-stm32/stm32l552ze", "not-gpdma", "rng", "hash"]
stm32u585ai = ["embassy-stm32/stm32u585ai", "chrono", "rng", "hash", "cordic"] stm32u585ai = ["embassy-stm32/stm32u585ai", "chrono", "rng", "hash", "cordic"]
stm32u5a5zj = ["embassy-stm32/stm32u5a5zj", "chrono", "rng", "hash", "cordic"] stm32u5a5zj = ["embassy-stm32/stm32u5a5zj", "chrono", "rng", "hash"] # FIXME: cordic test cause it crash
stm32wb55rg = ["embassy-stm32/stm32wb55rg", "chrono", "not-gpdma", "ble", "mac" , "rng"] stm32wb55rg = ["embassy-stm32/stm32wb55rg", "chrono", "not-gpdma", "ble", "mac" , "rng"]
stm32wba52cg = ["embassy-stm32/stm32wba52cg", "chrono", "rng", "hash"] stm32wba52cg = ["embassy-stm32/stm32wba52cg", "chrono", "rng", "hash"]
stm32wl55jc = ["embassy-stm32/stm32wl55jc-cm4", "not-gpdma", "rng", "chrono"] stm32wl55jc = ["embassy-stm32/stm32wl55jc-cm4", "not-gpdma", "rng", "chrono"]