sv6158在ap模式下功耗做低功耗调试经历

从2月17日成都出差,到4月18日最后一笔功耗上库,功耗的调试过程,
2月17日到3月4日飞回上海,这段时间主要调试wifi的休眠流程,

唤醒流程:关飞行(MNPHONE_PowerOnPS)用的是平台函数,延迟200ms,打印log,sdio_open_eb,然后是wifi初始化;

休眠流程:开飞行(MNPHONE_PowerOffPS),延迟200ms,关闭热点,以及卸载驱动;
为什么会这样久?
1.成都回来之后整理流程,搞了两个星期才搞定,很多东西不清楚,那个该注释掉,那个该保留不清楚,废了好大劲,

2.第一个坑是底层接口没有验证出问题,接口是要仿照着at+cfun来写,通过打印log来确定代码流程,当时功耗测试的是没有问题的,很愉快的上库了,这个是祸的根源员,并在之后换了一个硬测的同事依然是测试没问题,这就导致对底层的排查放到了最后,应该是放到第一个的,当时很简单的就是封装成at接口,然后两个at对比下就能解决问题的,但是后来

之中测试中,自己封装的at接口在10min就出了问题,导致后面一连串的反应;

3.第二个坑:当时是有backstage这个线程的,当时后8s查看下wifi状态,如果没有wifi就会自己创建一个热点名字,这导致后来在低功耗上库过程中连接不上wifi,设备一连接wifi就会被踢掉,这个后来通过回退版本排查到的,当时也是比较费劲排查了四天左右(4月1号左右,清明放假最后下班排查到的),老大帮忙做了灯的控制,在休眠期间灯保持灭,修改时等socket来数据后才可以走wifi设置热点的接口;

4.第三个坑:收假上班,第一天遇到的就是功耗待机不到一个小时,当时通过现象分析到回一分钟卸载一次驱动,导致功耗始终在180ma左右,是个周六把这个问题排查上了库;

5.第四个坑:这个坑和第一个遥相呼应,把功耗死死控制在了46ma;排查最久的坑,因为在29号合上的一直是17ma,一直怀疑是不是像第二个坑那样是那一笔上库造成的,之后就开始回退版本,直到周五发现是之前填的第二个坑造成的,开始卸载wfi驱动后要一直不停的设置wifi热点才可以休眠呢,

 通过表格发现很可能时南硅驱动问题,后来通过排查发现并不是的,因为是否更新驱动,只要是backstage中设置热点的条件去掉就会进入17ma左右的功耗,而且是唤醒之后没有热点;就把南硅驱动排除了,随后在群里做了总结,当时🍐不小呀,感觉好丢人!!!!

 第六个坑,之完结!!!
        排除完这些,当前的问题变的很尴尬,两个不相干的问题硬生生的搞在一起:即只有卸载驱动之后不停的创建热点才可以到17ma功耗,老大果断决定,是底层的问题,去对比封装的飞行模式的接口,就是今天(2022/04/18),发现真的少了两个函数,而其其中一个是网mondem中发送事件的函数,至关重要,但是一开始怎么就没有验证出来呢!!!真的是狗血!!!
解决的方案也不是通过封装接口,在修改完进入飞行模式的接口后功耗在5ma以下,当时瞎高兴的一场,

 发现唤醒后发现没有网络,网络信号灯不亮,在群里沟通后老大说是可以直接调用他们的飞行模式的接口,这牵涉到at指令的构成不理解,ATC_STATUS ATC_ProcessCFUN (ATC_CONFIG_T        *atc_config_ptr,  ATC_CUR_INFO_LIST_T *cur_cmd_info),蛋蛋蛋最后沟通下来发现事件APP_MN_PA_POWER_OFF_CNF后发现,cell中注网的接口已经封装,之后的之后上库了两行代码解决问题(cell注网走的是8310中mmi层);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值