论文部分内容阅读
随着信息技术的飞速发展,嵌入式系统的应用越来越广泛,从传统的通信设备到消费电子,再到工业领域,可谓是无处不在。嵌入式系统的更新换代越来越快,这就对开发工具提出了更高的要求。传统的软硬件协同开发模式中,软件设计和硬件开发相互牵制,没有硬件无法进行软件的调试和测试,没有软件的硬件系统无法实现相应的功能,软件的调试还经常被硬件干扰引起的异常所影响,这就意味着硬件的开发可能成为整个系统开发的瓶颈。在仿真平台上开发嵌入式系统是解决这个难题的一个有效方法。用仿真软件模拟嵌入式系统的真实运行情况,软件开发和系统集成都提前在仿真平台上进行,在真实的目标板制造完成前就完成系统模型验证,避免软硬件开发相互等待,对于提高开发效率和质量有重要意义。指令集仿真器是嵌入式软件仿真平台的核心部件,对仿真平台的性能有着决定性的作用。软件仿真器的研究从上个世纪60年代就开始了,根据仿真的精确程度可将指令集仿真器分为功能仿真器和机制仿真器两种,功能仿真器以获取正确的运行结果为目的,忽略了指令执行的具体流程;依据实现策略的不同,又可以分为解释型指令集仿真器和编译型指令集仿真器两类。编译型指令集仿真器的运行速度较快,但是只适用于静态程序的仿真,ARM处理器支持ARM和Thumb两种指令集,且有多种中断模式,所以只能用解释型仿真器对其进行仿真。深入地研究目标处理器是实现仿真器的基础,ARMv5TE体系结构的寄存器结构、运行模式、寻址方式、ARM指令集和Thumb指令集的二进制编码格式等都是需要研究和分析的内容。设计并实现了一个ARMv5TE指令集的解释型功能仿真器,针对ARM指令集的编码特点,采用了新的译码算法,提高了仿真效率。在仿真平台其它模块的配合下,用U-boot和arm-linux对仿真器进行了测试。仿真器针对自主知识产权芯片设计,采用模块化程序结构,具有针对性强,仿真效率较高,易于扩展等特点。