X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fbootloader%2Fmain.rs;h=a7755030bb0f5da0bd11d0a1687de17f090cac8b;hb=451b8e1950510db8c8779455bae50879b172e872;hp=321166c55a55f9bde891b5ec32db1ae804d3f8ce;hpb=4010ab05ac4d3c6c4f3edbff6f2ff3a4b67fd32f;p=gps-watch.git diff --git a/src/bootloader/main.rs b/src/bootloader/main.rs index 321166c..a775503 100644 --- a/src/bootloader/main.rs +++ b/src/bootloader/main.rs @@ -22,7 +22,7 @@ */ #![no_std] -#![crate_type="staticlib"] +#![no_main] #[link(name="libcommon.rlib")] extern crate common; @@ -75,7 +75,7 @@ fn bootloader_requested() -> bool { let start_ticks = systick::now(); while !systick::has_timeout_ms(start_ticks, 3000) { - if (gpio::get(gpio::GPIOE) & (1 << 24)) == 0 { + if (gpio::get(gpio::GPIOE) & (1 << 31)) == 0 { return true; } } @@ -83,17 +83,24 @@ fn bootloader_requested() -> bool { false } +#[inline(never)] +#[panic_handler] +fn panic(_info: &core::panic::PanicInfo) -> ! { + loop { + } +} + #[no_mangle] -pub unsafe extern fn main() { +pub unsafe extern "C" fn _start() -> ! { watchdog::disable(); clock::configure(); systick::init(); port::init(); - // Configure lower left push button. - gpio::set_direction(gpio::GPIOE, 1 << 24, gpio::Direction::Input); - port::set_af(port::PORTE, 24, 1); - port::set_pull(port::PORTE, 24, port::Pull::Up); + // Configure middle left push button. + gpio::set_direction(gpio::GPIOE, 1 << 31, gpio::Direction::Input); + port::set_af(port::PORTE, 31, 1); + port::set_pull(port::PORTE, 31, port::Pull::Up); enable_interrupts();