From 251e4d3dd4a7919ac002843807807a44931a3e64 Mon Sep 17 00:00:00 2001 From: topquark12 Date: Wed, 13 Jan 2021 11:16:57 +0800 Subject: [PATCH] dfu: cleanup --- src/dfu.rs | 11 ++++------- src/main.rs | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/dfu.rs b/src/dfu.rs index 0af4e38..9ac6727 100644 --- a/src/dfu.rs +++ b/src/dfu.rs @@ -2,10 +2,11 @@ use cortex_m_rt::{pre_init}; const DFU_TRIG_MSG: u32 = 0xDECAFBAD; +extern "C" { + static mut _dfu_msg: u32; +} + pub unsafe fn set_dfu_trigger() { - extern "C" { - static mut _dfu_msg: u32; - } _dfu_msg = DFU_TRIG_MSG; } @@ -14,10 +15,6 @@ pub unsafe fn set_dfu_trigger() { /// bootloader expects MCU to be in reset state when called. #[pre_init] unsafe fn __pre_init() { - extern "C" { - static mut _dfu_msg: u32; - } - if _dfu_msg == DFU_TRIG_MSG { _dfu_msg = 0x00000000; diff --git a/src/main.rs b/src/main.rs index 8cf4b6b..7f29472 100644 --- a/src/main.rs +++ b/src/main.rs @@ -431,7 +431,7 @@ fn main() -> ! { unsafe { dfu::set_dfu_trigger(); } - socket.close(); + SCB::sys_reset(); } }