在单片机应用开发过程中,当源文件的编译成功后,就要进行仿真调试工作。仿真调试可分为两大类--芯片级仿真和代码级仿真。芯片级仿真是指使用仿真软件和ICE硬件工具相配合,在实际硬件上进行仿真调试工作;而代码级仿真则完全在计算机上完成,不需要硬件的参与。两种类型的仿真各有特点,使用的场合不同。本文基于VMLAB,讲述了进行AVR单片机硬件/软件协同仿真的方法。
在VMLAB中进行协同仿真
首先,先介绍两个概念:
1)虚拟原型(virtualprototype)
虚拟原型是一个具体应用的集中体现,是包括软件和硬件在内的一个集合体。虚拟原型的作用是在实现这种应用之前,将其行为实现模拟出来。
2)硬件/软件协仿真(hw/swco-simulation)
硬件/软件协仿真是指对于某一个特定应用而言,包括硬件和软件在内的全部特性都用一个虚拟原型来模拟实现。VMLAB是基于一个叫做CCCP(ConcurrentCo-simulatorofCircuitsandProcessors)的协仿真引擎来实现协仿真的。
采用基于具体应用的虚拟原型的一大好处就是:硬件部分可以通过虚拟原型来模拟仿真,这无疑会提高开发速度不再需要在线仿真器(ICE)工具,成本无疑会大大降低。
在VMLAB中,仿真是通过工程文件*。prj来管理的。工程文件的一些语法关键字如表1所示。
表1:VMLAB工程文件语法关键字