使用hfp进行通话后,运行变的很卡顿,什么原因

初始化时,hfp已经初始化了。

在hfp初始化后,没有使用远程通话之前,lvgl刷新还算流畅。

但是,当使用hfp通话之后,lvgl运行变得非常卡顿。

这个是运行通话之前的刷屏效果

这个是运行通话之后的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

cpu看起来是正常的

audio_open type=0和audio_close type=0是有的。

你说的sys_info这个命令,怎么执行。需要打开什么配置吗,我输入之后,提示我没有找到命令

添加了CONFIG_BSP_PM_FREQ_SCALING=n,依旧卡顿,看编译结果,好像并没有执行。麻烦给看一下,添加的位置对不对

看build_sf32lb_52xxxxx目录下.config或rtconfigh文件, 里面没有BSP_PM_FREQ_SCALING就是没打开变频。 如果确认没打开变频还有,就是看cpu usage, 如果没有谁占用cpu比较高

这个log哪里里看到的?

是sysinfo命令, 运行help可以看到有哪些命令

主频被降到了48MHZ,这个怎么修改

编译结果里显示BSP_PM_FREQ_SCALING,没有定义。但是sysinfo里显示主频被降了

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);之后就不会再降频了