zoukankan      html  css  js  c++  java
  • 软硬件调试九法:第七条规则 检查插头

    1、质疑你的假设

      你十分运行了正确的代码?电源插头是否已插好? 比如网络连接失败了,是不是你不小心把网线接头踢掉了?比如汽车无法启动,是否油箱没油了? 有时我们看到一个问题,通常在某个特定位置看到了正确的问题,但是导致这个问题的却在上游或者底层驱动上,只是系统不具备正确操作条件时,出现了奇怪的表现。

    2、从头开始

      是否正确的对内存进行了初始化?电源开关是否已经打开? 比如如果你的程序序需要初始化内存、全局变量、局部变量,而你又没有这么做,那么情况会很糟,它会让你自己测试时是运行正确的,到客户演示时就出错了。

    3、对工具进行测试

      编译器的参数设置是否正确?测量工具是否没电了?

      实际案例:

    1. 在使用IAP引导程序时,应用程序的起始地址应该在编译器中正确设置,否则下载完成后无法运行。
    2. 在选择单片机时,型号要正确,假设你使用的MCU内存只有8K,编译时选择的MCU型号内存有16K,程序实际使用的内存为8.2K,编译不会报错,但是运行时,程序可能随机崩溃。
    3. 之前使用稳压源供电,电路板一上电就显示电流800mA,但是系统能运行起来,但是部分硬件出错,起初怀疑硬件有问题,后来发现是稳压源供电能力不足导致。
    4. 工具本身也有bug, 比如编译器,因为其也是工程师设计的,为什么它比你的软件更值得信任呢?Keil编译器本身也有bug,之前使用Keil C51时,其中一个bug使会过滤程序中的汉字内码中的“0xFD”,导致程序出错,在使用点阵汉字显示时,我是实际遇到并必须使用国内网友提供的bug补丁才解决的!
  • 相关阅读:
    WPF 基础到企业应用系列1——开篇有益
    WPF 基础到企业应用系列2——WPF前世今生
    “云计算之旅”筹备完成,意见征询!
    31天重构学习笔记30. 尽快返回
    作为资深程序员,必定会掌握的十句谎话
    TaffyDB Writing queries
    TAFFY Working with data
    2012年全球最愚蠢的设计第一是微软,第二还是微软
    TaffyDB Introduction
    TaffyDB Beginner's Guide
  • 原文地址:https://www.cnblogs.com/shuolang/p/5366407.html
Copyright © 2011-2022 走看看