diff --git a/embassy-stm32/build.rs b/embassy-stm32/build.rs
index ce8283540..cee2d7e92 100644
--- a/embassy-stm32/build.rs
+++ b/embassy-stm32/build.rs
@@ -607,7 +607,7 @@ fn main() {
                             let _ = ::core::ptr::read_volatile(ptr);
                             let _ = ::core::ptr::read_volatile(ptr);
                             // wait for memory accesses to finish
-                            ::core::arch::asm!("dmb");
+                            cortex_m::asm::dsb();
                         }
 
                         #end_rst