cpu: cortexm_common: busywait before resetting

This commit is contained in:
Kaspar Schleiser 2015-07-30 10:32:08 +02:00
parent 8a0237e4da
commit 391bc02c06

View File

@ -1,5 +1,6 @@
/* /*
* Copyright (C) 2014-2015 Freie Universität Berlin * Copyright (C) 2014-2015 Freie Universität Berlin
* 2015 Kaspar Schleiser <kaspar@schleiser.de>
* *
* This file is subject to the terms and conditions of the GNU Lesser * This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level * General Public License v2.1. See the file LICENSE in the top level
@ -14,6 +15,7 @@
* @brief Implementation of the kernels reboot interface * @brief Implementation of the kernels reboot interface
* *
* @author Hauke Petersen <hauke.petersen@fu-berlin.de> * @author Hauke Petersen <hauke.petersen@fu-berlin.de>
* @author Kaspar Schleiser <kaspar@schleiser.de>
* *
* @} * @}
*/ */
@ -22,13 +24,13 @@
#include "arch/reboot_arch.h" #include "arch/reboot_arch.h"
#include "cpu.h" #include "cpu.h"
#include "hwtimer.h"
int reboot_arch(int mode) int reboot_arch(int mode)
{ {
printf("Going into reboot, mode %i\n", mode); printf("Going into reboot, mode %i\n", mode);
/* wait 1 ms to make sure the printf is finished */ /* wait a while to make sure the printf is finished */
hwtimer_wait(HWTIMER_TICKS(1000)); volatile int n = 100000;
while(n--);
NVIC_SystemReset(); NVIC_SystemReset();
return -1; return -1;
} }