蓝冠注册《Q374919》曾经有一段时间,蓝冠官网 调试并不容易。在这篇博客中,我想分享一些我过去调试代码和硬件时所做的事情——困难的方法。回到80年代,我刚开始的时候,没有什么花哨的调试工具,而且当时的调试工具很贵。
曾经有一段时间,调试并不容易。在这篇博客中,我想分享一些我过去调试代码和硬件时所做的事情——困难的方法。
回到20世纪80年代,我刚开始做调试的时候,很少有花哨的调试工具,而且当时的调试工具都很贵。在我的第一份工作中,蓝冠注册 我们使用的是Z80处理器,这很好,因为我在使用ZX81和ZX-Spectrum时就使用过它们。让一块板第一次工作并不容易。当前的微处理器可以装载代码,但是一个处理器需要RAM, ROM等才能启动。
一旦制作好第一块黑板,我就会把一些基本的代码放入循环中。为了测试它是否工作,我将断开时钟和运行它从一个555定时器在大约3Hz。没错,非常慢!我将把led挂在数据总线和地址线上。事实上,我有一个头部,将适合中央处理器和董事会。这样我就可以看到运行的代码行。在那之后,我将进展到获得一个I/O行工作,慢慢地添加越来越多的代码,测试板的每个部分的比特。
随着时间的推移,我们得到了一个工作的CPU板,将运行代码和地址RAM和ROM正确。测试和开发并不是一项艰巨的任务,但重要的是要尽早做好。在此之后,让I/O端口正常工作,您就可以使用当前的micros并拥有一个闪烁的LED——第一个通用调试工具!
我的许多设计在I/O引脚上仍然有LED的位置。这通常被用作心脏跳动的指示器。也就是说,每次代码循环,蓝冠招商 你切换LED,就能看到电路板和微仍然在运行。
绿色发光二极管
闪烁的LED是一个非常重要的调试工具,我想人们现在已经忘记了,即使有了现代的电路调试工具。考虑一下:LED闪烁得越快,代码循环就越快!现在把这个连接到示波器上,你就可以监控你的微循环时间,并在事件发生时检测到大的变化。
闪烁LED的另一个用途是用于中断。进入中断时打开LED,退出时关闭。从视觉的角度来看,LED开得越多,在中断代码中花费的时间就越长,从而导致运行正常函数的时间越少。在一个范围内,您可以监视您的代码在中断代码中花费的时间百分比,以及外部事件是否会影响它。所有这些从I/O pin输出!
在LED之后,我们常常将显示器或UART连接到PC上进行串行通信。这样就可以对芯片和软件内部的数值进行视觉监控。今天,这可以通过直接连接到专用代码或芯片硬件的在线调试工具来实现。有一次,我甚至为Z80 CPU设计了自己的在线调试工具,它允许单步调试代码。然而,我仍然觉得,到目前为止,最有用的调试工具是一个单独的I/O引脚和一个闪烁的LED。