Hi team :
I use CC3220SF as my custom board's IC. And some custom board after enter Hiberation mode can't wake up anymore except use HW reset.But some custom board execute as i expect.
I use test code to ckeck which part cause this problem. My test code is as follow.
#include <stddef.h> #include <stdbool.h> #include <stdint.h> #include <string.h> /* POSIX Header files */ #include <pthread.h> #include <semaphore.h> #include <unistd.h> #include <stdint.h> #include <stddef.h> #include <stdlib.h> #include <stdint.h> #include <stdio.h> /* Driver Header files */ #include <ti/drivers/GPIO.h> #include <ti/drivers/SPI.h> #include <ti/display/Display.h> #include <ti/drivers/UART.h> #include <ti/drivers/Power.h> #include <ti/drivers/GPIO.h> /* Driver configuration */ #include "ti_drivers_config.h" // PRCM API stuff #include <ti/devices/cc32xx/inc/hw_types.h> #include <ti/devices/cc32xx/driverlib/prcm.h> #include <ti/drivers/power/PowerCC32XX.h> /* * ======== mainThread ======== */ void *mainThread(void *arg0) { GPIO_init(); GPIO_setConfig(LED, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW); GPIO_write(LED,0); PRCMHibernateWakeupSourceDisable(0x007F0001); sleep(3); GPIO_write(LED,1); PRCMHibernateWakeUpGPIOSelect(PRCM_HIB_GPIO4 | PRCM_HIB_GPIO11 | PRCM_HIB_GPIO17, PRCM_HIB_RISE_EDGE); PRCMHibernateWakeupSourceEnable(PRCM_HIB_GPIO4 | PRCM_HIB_GPIO11 | PRCM_HIB_GPIO17); PRCMHibernateEnter(); return (NULL); }
At this test code,still encounter some custom board can't wake up from hibernation mode.
I want to check,Am I using Hibernation function wrong.Or there is other reason will cause this problem?