common: Implement nvic::system_reset().
[gps-watch.git] / src / common / nvic.rs
index 38aece3fb449a1b57c2d7a13e40738d773ad81c4..1519f47b431dd6b1f00246cb3d70390bd77f64e8 100644 (file)
@@ -62,3 +62,12 @@ pub fn set_priority(irq_number: u32, priority: u32) {
         m
     });
 }
+
+pub fn system_reset() {
+    let mut scb_aircr = Reg32::new(0xe000ed0c);
+
+    scb_aircr.write(0x5fa0004);
+
+    loop {
+    }
+}