双口RAM在嵌入式系统调试中的应用
扫描二维码
随时随地手机看文章
单片机系统的调试通常是在开发仿真系统上完成,后者把它的硬件(CPU和存储器)和软件资源(被调试程序和参数)暂时出借给前者,并模拟其工作环境,对其软、硬件进行调试和修改。
嵌入式PLC 属于单片机系统,在调试过程中没有购买价格昂贵的仿真装置,而是充分利用双端口RAM IDT7130的中介作用,以及上位机操作方便、运行结果直观的特点,通过编写一特殊程序,将其固化在89C52的EPROM中,根据该程序中设置的标志条件,把硬件电路和软件模块按照分块、联调的顺序进行调试,具体做法结合图3所示流程描述如下:
1)在上位机中以子程序的形式编写好将要调试的嵌入式PLC系统的程序功能模块,借助于工具软件ASM51将其汇编为二进制(.BIN)文件。
2)在上位机执行DEBUG命令把该二进制文件送到双端口RAM对应下位机地址#2100H开始的存储单元中。
3)在下位机源程序中对#2000H和#2001H两个存储单元清零操作,当程序执行到RESET处,在这两个存储单元中定义了两个程序开始运行的标志:99H和88H,从上位机可以利用DEBUG命令对这两个标志进行改变,以控制嵌入式PLC中固化的程序是否继续往下执行;为了确认两个标志被正确设置和程序往下运行的情况,在存储单元#2002H和#2003H中同样定义了两个确认标志:99H和88H。
4)运行标志设置正确后,执行调用语句LCALL 2100H,使得程序指针PC指向所要调试的程序功能块首地址处,开始调用执行该程序功能模块;子程序是否运行正常,并且是否返回可通过存储单元#2002H和#2003H标志由99H和88H变为02H来确认。[!--empirenews.page--]
5)另外在硬件方面可借助辅助调试手段,使用示波器来测试P1口高四位的波形变化状况,来判断程序的运行情况。
6)最后返回RESET继续判断运行标志调试程序。
7)结合中断产生原理,在IDT7130的下位机地址2100H处装入中断服务程序,上位机向存储单元#23FEH中写1产生中断,下位机转而执行中断功能调试。
利用这种调试方法,可以通过上位机在双口RAM中设置每一程序模块的启动和确认标志位,即可方便地控制单个模块的调试或多个模块的联调,最终实现系统的功能。
结语
实验证明,本系统采用双口RAM作为主从CPU的中介,是一种实用、高效的系统设计方法。该方法使得信息交换方便快速可靠。利用双口RAM的共享特点,可将上下位机自身构成一种开发装置,简捷有效地实现工程环境下的在线调试。