初始化时,hfp已经初始化了。
在hfp初始化后,没有使用远程通话之前,lvgl刷新还算流畅。
但是,当使用hfp通话之后,lvgl运行变得非常卡顿。
初始化时,hfp已经初始化了。
在hfp初始化后,没有使用远程通话之前,lvgl刷新还算流畅。
但是,当使用hfp通话之后,lvgl运行变得非常卡顿。
HFP通话时,音频算法占用了CPU算力,因此其它功能的运行速度会受到影响。
但是通话结束以后,还是会卡顿,恢复不了
那可能是音频的相关资源未成功释放。请问使用的是哪个平台和软件版本
sifli-sdk V2.4版本 ,例程里面关于bt的hfp例程
你好,这个有办法处理吗
抓个log看看,一般来说audio都关闭了,没做改动不会出现个问题, 如果有audio_open type=0 最后有对应的audio_close type=0, 就是关闭了,另外前后运行下sys_info命令看看,是不是降频了。 也允许下cpu命令,看看cpu占用率,配置要打开cpu metric。也可以强制把降频关闭看看, CONFIG_BSP_PM_FREQ_SCALING=n
看build_sf32lb_52xxxxx目录下.config或rtconfigh文件, 里面没有BSP_PM_FREQ_SCALING就是没打开变频。 如果确认没打开变频还有,就是看cpu usage, 如果没有谁占用cpu比较高
这个log哪里里看到的?
是sysinfo命令, 运行help可以看到有哪些命令
52芯片这个宏控制不了,默认是降频的,audio_server.c里音频一进去调了这禁止降频和睡眠
rt_pm_request(PM_SLEEP_MODE_IDLE);
rt_pm_hw_device_start();
pm_scenario_start(PM_SCENARIO_AUDIO);
退出时调了这个允许降频和睡眠
pm_scenario_stop(PM_SCENARIO_AUDIO);
rt_pm_hw_device_stop();
rt_pm_release(PM_SLEEP_MODE_IDLE);
但是这个pm_scenario_stop()后发现没有人禁止,就默认降频了。
要禁止降频,可以在开机或UI上控制,加个计数锁住不让降频,
有这些类型
typedef enum
{
PM_SCENARIO_UI,
PM_SCENARIO_AUDIO,
PM_SCENARIO_RFTEST,
} pm_scenario_name_t;
pm_scenario_start(PM_SCENARIO_UI);//表示从UI上来的禁止降频请求
pm_scenario_stop(PM_SCENARIO_UI);//表示从UI上来的允许降频请求
要配对调,不能多次start一个类型,
可以开机或UI上调一次pm_scenario_start(PM_SCENARIO_UI);来禁止降频。
如果又想降频了,就再调一次pm_scenario_stop(PM_SCENARIO_UI);来允许降频。
一定要配对,不能一个类型多次start和多次stop。 只要有一个类型禁止就禁止降频了,只有所有类型都允许降频了,才可以降频
为了省功耗,可以亮屏时start, 灭屏时 stop
可以了,pm_scenario_start(PM_SCENARIO_UI);之后就不会再降频了