我举个最简单的例子好了,假设硬件工程师焊了一个LED子板到评估板上,软件工程师的任务是验证LED相关硬件回路的正确性,当程序下载到评估板上执行后发现LED不会闪烁,可能 的原因为:
1:LED电源供给有问题(硬件问题)
2:连接LED子板后,导致评估板无法运行(比较像硬件问题,通常是电源问题、接触PIN或焊接技术不佳);
3:LED子板和CPU连接有问题,例如软件是用I/O port#1来控制LED开关,但是LED子板是接到CPU的I/O port#2(软件或硬件问题);
4:LED坏掉了(硬件问题);
5:程序在还没执行到点亮LED的程序段就死机了(boot loader的问题?);
6:timer的timeout中断没产生(这就是驱动程序的问题了)等。 |