mirror of https://github.com/ARMmbed/mbed-os.git
Sleep: add time requirements for sleep
Sleep - within 10us Deepsleep - within 10ms Note about mbed boards with interface, moved to lpc176x, as they are target related, should be documented in the target documentation. The tests will come as separate PR, to conform to this updates to sleep API.pull/7009/head
parent
c0895cb832
commit
b7682183b8
|
@ -29,32 +29,27 @@ extern "C" {
|
||||||
|
|
||||||
/** Send the microcontroller to sleep
|
/** Send the microcontroller to sleep
|
||||||
*
|
*
|
||||||
* The processor is setup ready for sleep, and sent to sleep using __WFI(). In this mode, the
|
* The processor is setup ready for sleep, and sent to sleep. In this mode, the
|
||||||
* system clock to the core is stopped until a reset or an interrupt occurs. This eliminates
|
* system clock to the core is stopped until a reset or an interrupt occurs. This eliminates
|
||||||
* dynamic power used by the processor, memory systems and buses. The processor, peripheral and
|
* dynamic power used by the processor, memory systems and buses. The processor, peripheral and
|
||||||
* memory state are maintained, and the peripherals continue to work and can generate interrupts.
|
* memory state are maintained, and the peripherals continue to work and can generate interrupts.
|
||||||
*
|
*
|
||||||
* The processor can be woken up by any internal peripheral interrupt or external pin interrupt.
|
* The processor can be woken up by any internal peripheral interrupt or external pin interrupt.
|
||||||
*
|
*
|
||||||
* @note
|
* The wake-up time shall be less than 10 us.
|
||||||
* The mbed interface semihosting is disconnected as part of going to sleep, and can not be restored.
|
*
|
||||||
* Flash re-programming and the USB serial port will remain active, but the mbed program will no longer be
|
|
||||||
* able to access the LocalFileSystem
|
|
||||||
*/
|
*/
|
||||||
void hal_sleep(void);
|
void hal_sleep(void);
|
||||||
|
|
||||||
/** Send the microcontroller to deep sleep
|
/** Send the microcontroller to deep sleep
|
||||||
*
|
*
|
||||||
* This processor is setup ready for deep sleep, and sent to sleep using __WFI(). This mode
|
* 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
|
* has the same sleep features as sleep plus it powers down peripherals and high frequency clocks.
|
||||||
* is still maintained.
|
* All state is still maintained.
|
||||||
*
|
*
|
||||||
* The processor can only be woken up by an external interrupt on a pin or a watchdog timer.
|
* The processor can only be woken up by low power ticker, RTC, an external interrupt on a pin or a watchdog timer.
|
||||||
*
|
*
|
||||||
* @note
|
* The wake-up time shall be less than 10 ms.
|
||||||
* The mbed interface semihosting is disconnected as part of going to sleep, and can not be restored.
|
|
||||||
* Flash re-programming and the USB serial port will remain active, but the mbed program will no longer be
|
|
||||||
* able to access the LocalFileSystem
|
|
||||||
*/
|
*/
|
||||||
void hal_deepsleep(void);
|
void hal_deepsleep(void);
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,13 @@
|
||||||
#include "cmsis.h"
|
#include "cmsis.h"
|
||||||
#include "mbed_interface.h"
|
#include "mbed_interface.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @note
|
||||||
|
* The mbed interface semihosting is disconnected as part of going to sleep, and can not be restored.
|
||||||
|
* Flash re-programming and the USB serial port will remain active, but the mbed program will no longer be
|
||||||
|
* able to access the LocalFileSystem
|
||||||
|
*/
|
||||||
|
|
||||||
void hal_sleep(void) {
|
void hal_sleep(void) {
|
||||||
|
|
||||||
#if (DEVICE_SEMIHOST == 1)
|
#if (DEVICE_SEMIHOST == 1)
|
||||||
|
|
Loading…
Reference in New Issue