论文部分内容阅读
在PC机和普适计算盛行的今天,嵌入式系统的应用已经成为计算机工业最热门的领域之一,16位/32位高端MCU由于具有功能强大、处理速度快、能耗低等优点,逐渐成为研究与开发的热点。在嵌入式应用的软件开发中,传统交叉开发方式制约了系统开发的效率,硬件对软件的牵制严重影响软件的调试和测试,延误开发进度,致使软件质量难以保整。软件仿真是摆脱困境的一种有效途径,利用仿真技术模拟硬件系统的运行,使软件开发和系统测试在虚拟平台上进行,避免软硬件开发的相互等待,提高开发效率,降低风险成本。本文通过研究16位/32位MCU软件仿真的相关技术,设计并实现了一种具有良好扩展性和通用性的MCU软件仿真器。本文实现的仿真器采用面向对象的设计思想,参照MVC模式,把仿真器的结构分为两层:用户接口层和指令仿真层。接口部分采用构件技术实现,使得仿真器具有良好的扩展性,指令仿真层采用虚指令技术,使得仿真器具有良好的通用性。首先,本文通过对MCU硬件体系结构的分析,提出了在构造MCU软件仿真器时引入构件技术,设计了基于构件的MCU软件仿真器模型,并实现各个子构件的设计,通过动态集成方式将分离的构件组合起来,构成一个完整的MCU软件仿真器,实现动态配置仿真器的功能,使其具有良好的扩展性。其次,为实现对不同体系MCU指令集的仿真,本文提出采用虚指令技术来设计指令的仿真,研究了虚指令的设计与翻译,设计了虚指令函数并对翻译的虚指令进行优化,实现了体系无关的通用型指令仿真的设计。再次,为便于用户进行软件开发,本文设计实现了基于构件的仿真调试平台,提供多种调试方式和部分时序分析的功能。最后,本文对MCU软件仿真器进行测试,结果表明仿真器模型和虚指令的设计都能较好的满足仿真器的要求。