软硬件调试九法:第一条规则,理解系统

1 阅读芯片手册
       会告诉你芯片如何初始化、如何配置、外围电路如何搭配,才能让其正常稳定工作。
 另外还要看厂家提供的errata sheet,比如STM32,每个系列都有errata sheet(勘误手册),里面介绍了MCU使用时的局限性,可以避免设计中由于误用MCU引发的的致命缺陷!
2 仔细阅读手册的每个细节
 比如有关MCU中断处理机制、IO口及其复用功能的使用、复位管理、工作电压、新版和旧版的细微区别等注意事项等就隐藏在数据手册的细节之中。
 比如STM32的datasheet中,引脚定义列表中有标注数字符号的,在列表下方都有注释说明,一定要看,例如PC13,14,15三个IO口使用时同时只能有一个做输出,并且频率要低于2M,负载低于30pF,驱动电流只有3mA等限制。比如在输出模式下, PD0和PD1只能配置为50MHz输出模式。
3 掌握基础知识
 掌握了基础的知识,才能判断是否是bug。
4 了解工作流程
需要了解系统功能,并对其进行划分,从而有助于判断问题出现在哪个功能模块中。

5 了解工具
要了解示波器、频谱仪、逻辑分析仪、万用表、负载仪、电桥等调试工具的强大功能如何使用以及其局限性。例如:
1、审查源码可以看出逻辑错误,但是无法显示时序问题
2、逻辑分析仪工具可以显示时序问题,但是无法暴露程序逻辑错误
3、模拟示波器可以看到噪声,但是无法存储太多数据
4、数字示波器可以捕获大量数据,但是无法观测频率较高的信号,无法显示多通道信号的时序关联,无法观察频率的稳定性。
5、数字万用表,一般0.3秒读取一次采样结果,因此无法测量短时间信号,只能测量稳定的信号或者给出平均值,对电容容量的测量误差较大,精确测量电容需要用电桥分析仪。6、体温计无法测量水沸腾的问题,普通温度计无法衡量是否发烧

6 查阅细节

不要盲目相信自己的记忆力,要查阅细节,在使用芯片时,要查阅手册以保证连线正确、查阅函数名称以及其每个参数的真实含义,以免调用错误的函数或者输入错误的参数。

原文地址:https://www.cnblogs.com/shuolang/p/5290651.html