File tree Expand file tree Collapse file tree 1 file changed +15
-9
lines changed
targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX Expand file tree Collapse file tree 1 file changed +15
-9
lines changed Original file line number Diff line number Diff line change 17
17
#include "cmsis.h"
18
18
#include "fsl_clock.h"
19
19
20
- static void stop (void )
21
- {
22
- SCB -> SCR |= SCB_SCR_SLEEPDEEP_Msk ;
23
- __asm("WFI" );
24
- }
20
+ extern void vPortPRE_SLEEP_PROCESSING (clock_mode_t powermode );
21
+ extern void vPortPOST_SLEEP_PROCESSING (clock_mode_t powermode );
22
+
25
23
26
24
void hal_sleep (void )
27
25
{
28
- CLOCK_SetMode (kCLOCK_ModeWait );
26
+ vPortPRE_SLEEP_PROCESSING (kCLOCK_ModeWait );
29
27
30
- stop ();
28
+ __DSB ();
29
+ __WFI ();
30
+ __ISB ();
31
+
32
+ vPortPOST_SLEEP_PROCESSING (kCLOCK_ModeWait );
31
33
}
32
34
33
35
void hal_deepsleep (void )
34
36
{
35
- CLOCK_SetMode (kCLOCK_ModeStop );
37
+ vPortPRE_SLEEP_PROCESSING (kCLOCK_ModeStop );
38
+
39
+ __DSB ();
40
+ __WFI ();
41
+ __ISB ();
36
42
37
- stop ( );
43
+ vPortPOST_SLEEP_PROCESSING ( kCLOCK_ModeStop );
38
44
}
39
45
You can’t perform that action at this time.
0 commit comments