在單片機應(yīng)用開發(fā)過程中,當(dāng)源文件的編譯成功后,就要進(jìn)行仿真調(diào)試工作。仿真調(diào)試可分為兩大類--芯片級仿真和代碼級仿真。芯片級仿真是指使用仿真軟件和ICE硬件工具相配合,在實際硬件上進(jìn)行仿真調(diào)試工作;而代碼級仿真則完全在計算機上完成,不需要硬件的參與。兩種類型的仿真各有特點,使用的場合不同。本文基于VMLAB,講述了進(jìn)行AVR單片機硬件/軟件協(xié)同仿真的方法。
在VMLAB中進(jìn)行協(xié)同仿真
首先,先介紹兩個概念:
1)虛擬原型(virtualprototype)
虛擬原型是一個具體應(yīng)用的集中體現(xiàn),是包括軟件和硬件在內(nèi)的一個集合體。虛擬原型的作用是在實現(xiàn)這種應(yīng)用之前,將其行為實現(xiàn)模擬出來。
2)硬件/軟件協(xié)仿真(hw/swco-simulation)
硬件/軟件協(xié)仿真是指對于某一個特定應(yīng)用而言,包括硬件和軟件在內(nèi)的全部特性都用一個虛擬原型來模擬實現(xiàn)。VMLAB是基于一個叫做CCCP(ConcurrentCo-simulatorofCircuitsandProcessors)的協(xié)仿真引擎來實現(xiàn)協(xié)仿真的。
采用基于具體應(yīng)用的虛擬原型的一大好處就是:硬件部分可以通過虛擬原型來模擬仿真,這無疑會提高開發(fā)速度不再需要在線仿真器(ICE)工具,成本無疑會大大降低。
在VMLAB中,仿真是通過工程文件*。prj來管理的。工程文件的一些語法關(guān)鍵字如表1所示。
表1:VMLAB工程文件語法關(guān)鍵字