当前位置:首页>>软硬件调试九法:分而治之

软硬件调试九法:分而治之

发布时间:2017-03-21作者:沧海一土

  1、通过逐次逼近缩小搜索范围

  通过二分法,逐次缩小问题范围,在查找问题时,这个方法是唯一需要应用的规则,所有其它规则都是帮助你遵循这条规则。首先搜索前面1/2,如果有错,则再搜索前1/4,如果没错,则搜索范围就定在1/4-1/2之间,然后再次细分,几次之后就会找到问题。

  实际案例:有次程序运行反应很慢,特别是蜂鸣器响一次后,要几秒钟的时间,才能相应按键。因此就采用这个方法,很快确定慢是由等待蜂鸣器时间过长导致,从程序逻辑看,等待蜂鸣器结束函数并没有错误,但是其中while循环等待的蜂鸣器结束标志的变量,是在中断中处理的,该标志由于未定义为volatile类型,因此被编译器优化后,循环判断时只获取一次,所以只有循环延时超时退出时才结束。改为volatile类型后,问题解决。

  2、使用易于查看的测试模式

  在存储器读写测试、通讯数据偶尔失败测试时,发送00 55 AA FF或者1到100连续数据比使用随机数据更容易发现错误。在测试彩色显示屏颜色失真时,采用红绿蓝黄等色条比图片要容易发现问题。

  实际案例:有次使用TFT显示图片,黑白的显示正常,彩色的颜色失真,并且毛刺严重,以为显示屏有质量问题,使用彩色条后,发现显示和颜色和设定的不一致,仔细对比才发现驱动程序发出的16位数据,按照字节发送时,数据颠倒,所以调整后显示正常。

  3、从有问题的一端开始搜索

  不要从正确的一端开始确认,正确的太多了,因此需要从错误的一端开始,然后向上游查找。

  4、修复已知的bug

  有时我们很难相信一个系统有很多bug,这使得分而治之的隔离原则变得困难,因此如果确实查明了其中一个问题时,应该立即修复它,然后再查找其它问题。只有修复了已知的错误,才能集中精力查找其它问题,有时修复一个问题,另一问题也消失了,也就是两个问题时是一个bug。

  5、首先消除噪声干扰

  在硬件中,噪音也可能因此各种难以查找的间歇性问题,因此查找问题前,应该首先注意短时脉冲干扰、时钟回波、模拟信号噪声、时序波动等不稳定因素;

  在软件中,不合理的多线程、意外的冲入例程、未初始化的局部变量都会导致系统产生很多随机行为,为工作带来很多麻烦。

  另外,技术人员很容易成为完美主义者,为了达到高质量,把所有不好的设计都修复一遍,可能会因为前面一个程序编写的看起来不好的程序代码就删掉重写,但是如果没有引起实际问题,最好还是保留他们吧,不要太过极端,你的精力在于找到bug并消除他们,这种修复耽误了真正的研究时间。

公司简介

宜科(天津)电子有限公司是中国工业自动化的领军企业,于2003年在天津投资成立,销售和服务网络覆盖全国。作为中国本土工业自动化产品的提供商和智能制造解决方案的供应商,宜科在汽车、汽车零部件、工程机械、机器人、食品制药、印刷包装、纺织机械、物流设备、电子制造等诸多领域占据领先地位。宜科为智慧工厂的整体规划实施提供自系统层、控制层、网络层到执行层自上而下的全系列服务,产品及解决方案涵盖但不局限于云平台、MES制造执行系统、工业现场总线、工业以太网、工业无线通讯、机器人及智能设备组成的自动化生产线、自动化电气控制系统集成、智能物流仓储系统等,以实现真正智能化的生产制造,从而带来生产力和生产效率的大幅提升,以及对生产灵活性和生产复杂性的管理能力的大幅提升。多年来,宜科以创新的技术、卓越的解决方案和产品坚持不懈地为中国制造业的发展提供全面支持,并以出众的品质和令人信赖的可靠性、领先的技术成就、不懈的创新追求,在业界独树一帜。帮助中国制造业转型升级,加速智能制造进程,成为中国工业4.0智慧工厂解决方案当之无愧的践行者。

更多详情>>

联系我们

  • 联系人:章清涛
  • 热线:18611695135
  • 电话:
  • 传真:
  • 邮箱:18210150532@139.com

Copyright © 2015 ilinki.net Inc. All rights reserved. 智汇工业版权所有

电话:010-62314658 邮箱:service@ilinki.net

主办单位:智汇万联(北京)信息技术有限公司

京ICP备15030148号-1