« 上一篇下一篇 »

bug定位总结

上次碰到个问题,设备开机有冲击声,而自己在程序里面已经对4272和DSP都做了静音处理,并且对功放也做了静音处理。搞了一两天才解决了问题,事后想起来,整个问题分析的思路就不对。最开始以为对功放做了静音处理,可还是开机有冲击声,没有仔细的去考虑,如果功放真的静音了,是不应该有声音信号出来的,也就没有去验证功放的静音功能是否正常,一切都是想当然的认为对功放的静音操作是正常的,最后却发现的确是没有正常的控制功放进入静音状态,这样一来,问题就变成了这里控制为什么不正常,解决了这个问题之后(最后发现是电路有问题),再测试发现开机没有冲击声了。

这个bug虽然不属于固件上面的问题,但是自己分析问题的水平还是有相当大的提升空间,就是没有抓住关键点,一开始就应该去验证功放的静音控制是不是正常的才对,因为理论上来说,只要功放静音了,即使前级的4272和DSP有信号进到功放,功放也不会将其放大再放出来,而自己却一直没有想到这一点。所以,遇到问题,首先要仔细的分析,头脑冷静,先去考虑关键因素,而不要一味纠结到底是什么原因,因为你首先要先思路正确,才好去定位问题,方向搞错了,就会浪费大量时间而没有丝毫进展。

再一个,遇到问题,不要只从固件角度去考虑,也要大胆的猜测并想办法验证是否为硬件问题或是功放问题。