ULP RISC-V 协处理器 周期性唤醒的 BUG
Posted: Tue Jan 31, 2023 8:07 am
IDF版本:V5.0正式版
芯片型号:ESP32-S3FH4R2
问题描述:
在主MCU程序中通过 ulp_set_wakeup_period() 函数,设定一个时间间隔,定时唤醒 ULP RISC-V 协处理器进行gpio操作,执行完成后 ULP RISC-V 协处理器退出,等待下一个ULP唤醒周期。
可当在主MCU程序中使能 esp_sleep_enable_ulp_wakeup() 函数后,每当ULP唤醒周期到的时候,唤醒 ULP RISC-V 协处理器的同时,将主MCU也唤醒了,然而ULP处理代码中并未执行 ulp_riscv_wakeup_main_processor() 函数。
除非在主MCU程序中不使能 esp_sleep_enable_ulp_wakeup() 函数,那么当ULP唤醒周期到的时候,唤醒的就只有ULP RISC-V 协处理器,可是这样的话,在ULP RISC-V 处理函数中执行 ulp_riscv_wakeup_main_processor() 函数,也就无法唤醒主MCU了。
求解!!!
芯片型号:ESP32-S3FH4R2
问题描述:
在主MCU程序中通过 ulp_set_wakeup_period() 函数,设定一个时间间隔,定时唤醒 ULP RISC-V 协处理器进行gpio操作,执行完成后 ULP RISC-V 协处理器退出,等待下一个ULP唤醒周期。
可当在主MCU程序中使能 esp_sleep_enable_ulp_wakeup() 函数后,每当ULP唤醒周期到的时候,唤醒 ULP RISC-V 协处理器的同时,将主MCU也唤醒了,然而ULP处理代码中并未执行 ulp_riscv_wakeup_main_processor() 函数。
除非在主MCU程序中不使能 esp_sleep_enable_ulp_wakeup() 函数,那么当ULP唤醒周期到的时候,唤醒的就只有ULP RISC-V 协处理器,可是这样的话,在ULP RISC-V 处理函数中执行 ulp_riscv_wakeup_main_processor() 函数,也就无法唤醒主MCU了。
求解!!!