mirror of https://github.com/ARMmbed/mbed-os.git
Disable sleep when uVisor is in use
parent
4cd6068b73
commit
c5f0ad506e
|
@ -28,7 +28,8 @@ extern "C" {
|
|||
/** Send the microcontroller to sleep
|
||||
*
|
||||
* @note This function can be a noop if not implemented by the platform.
|
||||
* @note This function will be a noop in debug mode (debug build profile when MBED_DEBUG is defined)
|
||||
* @note This function will be a noop in debug mode (debug build profile when MBED_DEBUG is defined).
|
||||
* @note This function will be a noop while uVisor is in use.
|
||||
*
|
||||
* The processor is setup ready for sleep, and sent to sleep using __WFI(). In this mode, the
|
||||
* system clock to the core is stopped until a reset or an interrupt occurs. This eliminates
|
||||
|
@ -44,17 +45,20 @@ extern "C" {
|
|||
*/
|
||||
__INLINE static void sleep(void)
|
||||
{
|
||||
#if !(defined(FEATURE_UVISOR) && defined(TARGET_UVISOR_SUPPORTED))
|
||||
#ifndef MBED_DEBUG
|
||||
#if DEVICE_SLEEP
|
||||
hal_sleep();
|
||||
#endif /* DEVICE_SLEEP */
|
||||
#endif /* MBED_DEBUG */
|
||||
#endif /* !(defined(FEATURE_UVISOR) && defined(TARGET_UVISOR_SUPPORTED)) */
|
||||
}
|
||||
|
||||
/** Send the microcontroller to deep sleep
|
||||
*
|
||||
* @note This function can be a noop if not implemented by the platform.
|
||||
* @note This function will be a noop in debug mode (debug build profile when MBED_DEBUG is defined)
|
||||
* @note This function will be a noop while uVisor is in use.
|
||||
*
|
||||
* This processor is setup ready for deep sleep, and sent to sleep using __WFI(). This mode
|
||||
* has the same sleep features as sleep plus it powers down peripherals and clocks. All state
|
||||
|
@ -69,11 +73,13 @@ __INLINE static void sleep(void)
|
|||
*/
|
||||
__INLINE static void deepsleep(void)
|
||||
{
|
||||
#if !(defined(FEATURE_UVISOR) && defined(TARGET_UVISOR_SUPPORTED))
|
||||
#ifndef MBED_DEBUG
|
||||
#if DEVICE_SLEEP
|
||||
hal_deepsleep();
|
||||
#endif /* DEVICE_SLEEP */
|
||||
#endif /* MBED_DEBUG */
|
||||
#endif /* !(defined(FEATURE_UVISOR) && defined(TARGET_UVISOR_SUPPORTED)) */
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
Loading…
Reference in New Issue