X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fbootloader%2Fmain.rs;h=afd28dc994ca0794e33eb7f8d62d69dfda88d7db;hb=2e15e18237f50ba61acc861a4bd23560d973e943;hp=ca459fdc2eccf1c406b52b6423e8d40aab307be9;hpb=5ec2dd3f317fc01e9893f34c93b99986c3fee521;p=gps-watch.git diff --git a/src/bootloader/main.rs b/src/bootloader/main.rs index ca459fd..afd28dc 100644 --- a/src/bootloader/main.rs +++ b/src/bootloader/main.rs @@ -40,6 +40,9 @@ use common::usb_serial; type Reg32 = register::Register; extern { + fn enable_interrupts(); + fn disable_interrupts(); + fn jump_to_application(address: u32); } @@ -84,6 +87,8 @@ pub unsafe extern fn main() { port::set_af(port::PORTE, 24, 1); port::set_pull(port::PORTE, 24, port::Pull::Up); + enable_interrupts(); + if application_missing() || bootloader_requested() { usb_serial::init(0xf055, USB_PID); @@ -95,5 +100,7 @@ pub unsafe extern fn main() { usb_serial::shutdown(); } + disable_interrupts(); + jump_to_application(APPLICATION_ADDR); }