LISA PM 双核组合唤醒示例
源码位置: samples/subsys/lisa_pm/wifi_ps_gpio_aontimer 查看源码
功能说明
本示例运行在 ARCS 双核模式下,用于观察三种低功耗唤醒源:
Wi-Fi PS LISTEN 唤醒;
GPIOB4 低电平唤醒;
AON Timer 周期唤醒,默认周期为 5100 ms。
AP 固件位于 remote/,负责启动 CP 并参与双核 PM 协同;CP 固件位于 src/,负责初始化 Wi-Fi、GPIOB4、AON Timer 和 lisa_pm。
三个唤醒源可在 src/main.c 文件首部独立开关,默认全部开启:
#define ENABLE_WIFI_PS_WAKEUP 1
#define ENABLE_GPIO_WAKEUP 1
#define ENABLE_AON_TIMER_WAKEUP 1
将对应宏改为 0 可以单独屏蔽该唤醒源,用于定位唤醒冲突。启动日志会打印最终生效的开关状态。
使用前配置
在 src/main.c 中设置待连接 AP 的凭据:
#define TARGET_WIFI_SSID "YOUR_WIFI_SSID"
#define TARGET_WIFI_PWD "YOUR_WIFI_PASSWORD"
示例源码默认不包含真实凭据。凭据为空时,程序会打印错误并无法完成 Wi-Fi 连接。
关键配置
配置 |
说明 |
|---|---|
|
启用 LISA PM 框架和 HAL PM/VRTC |
|
CP 作为 PM primary |
|
AP/CP 以运行中的双核模式协同休眠 |
|
启用 AP/CP PM 协同所需 IPC |
|
提供 GPIOB4 唤醒设备 |
|
提供 AON Timer 设备 |
编译
./build.sh -C -S samples/subsys/lisa_pm/wifi_ps_gpio_aontimer -DBOARD=arcs_evb
产物:
build/arcs.bin
build/remote/ap.bin
AP 和 CP 固件必须一起烧录,烧录地址分别为 0x0 和 0x100000。
日志观察
启动时先确认唤醒源开关:
wake sources: wifi_ps=1 gpio_b4=1 aon_timer=1
唤醒后通过 CP 回调观察归一化原因:
CP after_wake cause=WIFI
CP after_wake cause=WIFI_DATA
CP after_wake cause=GPIO
CP after_wake cause=TIMER
WIFI_DATA 表示 Wi-Fi 唤醒后的首个数据包命中示例 matcher;GPIO 表示 GPIOB4 低电平触发;TIMER 表示 AON Timer/系统 Timer 触发。
注意事项
GPIOB4 必须在进入休眠前保持高电平,拉低后才会触发低电平唤醒。
AON Timer 通过 LISA PM/HAL VRTC 调度,不是独立于 PM 的普通运行期定时器。
Wi-Fi PS 和 AON Timer 共用 HAL 的物理 PM TIMER/VRTC 调度资源。若同时开启后周期异常,请先分别关闭其中一个唤醒源进行隔离验证;该资源竞争需要 HAL/PM 层支持才能彻底解决。
本示例仅用于人工观察日志,不包含自动化测试数据;
sample.yaml仅执行build_only。