46 lines
1005 B
C
46 lines
1005 B
C
#include <stdio.h>
|
|
#include <unistd.h>
|
|
#include "has_platform.h"
|
|
|
|
int main()
|
|
{
|
|
int wakeup_source = -1;
|
|
|
|
if (has_init() != 0) {
|
|
printf("[main] has_init failed\n");
|
|
return -1;
|
|
}
|
|
|
|
/* 获取唤醒源 */
|
|
if (HAS_DRV_INIT(WAKE_UP_SRC) != 0) {
|
|
printf("[main] init WAKE_UP_SRC driver failed, fallback to default init\n");
|
|
} else if (has_dev_read(WAKE_UP_SRC, 0, &wakeup_source, sizeof(wakeup_source)) != 0) {
|
|
printf("[main] read wakeup_source failed, fallback to default init\n");
|
|
wakeup_source = -1;
|
|
}
|
|
|
|
/* 根据唤醒源初始化资源 */
|
|
switch (wakeup_source) {
|
|
case 0:
|
|
HAS_DRV_INIT(VIDEO);
|
|
HAS_DRV_INIT(UART);
|
|
|
|
HAS_APP_INIT(ACM);
|
|
HAS_APP_INIT(WIFI);
|
|
HAS_APP_INIT(GUI);
|
|
break;
|
|
default:
|
|
HAS_DRV_INIT(VIDEO);
|
|
HAS_DRV_INIT(UART);
|
|
|
|
HAS_APP_INIT(WIFI);
|
|
HAS_APP_INIT(GUI);
|
|
break;
|
|
}
|
|
|
|
while (1) {
|
|
sleep(1);
|
|
}
|
|
return 0;
|
|
}
|