watch dog不起作用的问题

具体情况:

                    在mtk6592  kk平台上调试touchpanel驱动中fw upgrade 的时候,发现在mtk6589平台上用的踢狗动作居然不起作用!为此很是疑惑,抓取开机串口log 发现


主要原因:

                                       watch dog thread需要设备驱动加载完成后,才开始init ,故在watch dog thread之前的所有踢狗动作,都没有效果,但是不会报错,LOG如下,平台也没有告知原因阿,我只是等到30s左右,系统因为没有喂狗重启了,才知道watch dog没起作用

watch dog 相关log:


watch dog 超时:


touchpanel 在kernel起来大约4.5秒时候开始probe:



而watch dog thread init在6.5s的时候才姗姗来迟:



解决方法:

                  和平台技术沟通,他们在92 kk 的平台上watch dog线程在驱动设备加载时候还没有开始执行,其重要的开启watch dog thread函数start_kicker();在设备驱动完成之后才调用的!他建议我在watch dog init 之后开一个线程来单独做fw upgrade ,为此我在如下地方添加线程

watch dog init 之后添加线程:


我的线程code:



总结:

              1,平台的kernel加载总是在变化

              2,kernel中不能用阻塞式函数影响进程,可以单独开一个线程来完成

              3,需要了解kernel整个加载模块的顺序


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值