一种Java实现8位嵌入式CPU仿真运行环境的方法技术

技术编号:7463306 阅读:265 留言:0更新日期:2012-06-26 03:19
一种Java实现8位嵌入式CPU仿真运行环境的方法,包括嵌入式系统程序代码指令解释器,基于对应Java功能代码实现的虚拟嵌入式处理器、虚拟内存、虚拟堆栈管理器、虚拟输入输出设备。同时,还通过Java实现了一个嵌入式系统程序指令栈,用于对嵌入式系统程序的执行顺序管理,最后通过Java图形用户界面向用户提供可视化嵌入式系统仿真运行结果。该方法支持Windows/Linux/Unix操作系统环境,容易部署于PC以及利用Java网络优势通过网络进行联机调试,极大地提高嵌入式系统的设计开发与调试效率,广泛适用于工业自动化嵌入式系统设计开发调试维护,是仿真开发与测试的有效技术手段。

【技术实现步骤摘要】

本专利技术涉及一种通过Java实现8位嵌入式CPU仿真运行环境的方法,以直接执行专门为8位嵌入式CPU编写的嵌入式程序代码,其执行效果就像一个真实的8位嵌入式 CPU硬件一样。
技术介绍
在工业、制造业等行业领域,广泛采用嵌入式系统实现生产自动控制及过程自动化。嵌入式系统则大量采用8位嵌入式CPU环境(单片机),在为这些嵌入式系统开发程序时,运行跟踪与调试都比较复杂,需要专用的硬件开发板等设备,成本较高,且不容易安装部署,这为嵌入式系统的设计开发与维护带来了较大困难。因此,能够通过纯软件方式提供一个8位CPU嵌入式系统仿真环境并能够正常执行嵌入式程序代码以及提供跟踪调试功能,成为了工业自动化领域提高系统开发及维护效能的关键点。在当前条件下,结合Java 优秀的跨平台能力以及网络功能,在Java虚拟机托管环境下,通过开发一个Java程序来模拟一个8位嵌入式CPU,即实现一个纯软件的8位CPU嵌入式仿真环境,不仅可以充分降低嵌入式系统的开发成本,更可利用网络实现多人多机联机协同开发调试,并在该仿真环境中直接运行嵌入式程序代码,并对运行过程进行跟踪调试,将虚拟化技术从x86硬件架构转向嵌入式系统,使工业自动化系统的设计开发及运行维护都能在更为受控的环境中进行全过程的仿真。
技术实现思路
本专利技术所要解决的技术问题是提供,解决现有8位嵌入式系统的设计开发与维护困难的缺陷。为解决上述技术问题,本专利技术提供,所述仿真运行环境包括Java应用系统的虚拟机,其特征在于,包括以下步骤步骤1、在所述虚拟机上,通过Java类文件分别生成8位嵌入式CPU系统的指令解释器、虚拟处理器、虚拟内存、虚拟堆栈管理器、虚拟输入输出设备和Java图形用户界面;指令解释器,完成对嵌入式系统程序代码的翻译,转换为与之对应等效的、能够在 Java虚拟机内存中执行的Java功能代码;所述虚拟处理器,用于在虚拟机内存中模拟堆栈数据管理、输入输出设备管理; 所述虚拟内存,用于在虚拟机内存中模拟内存读写功能,模拟嵌入式系统内存的物理操作效果;所述虚拟堆栈管理器,用于在虚拟机内存中模拟堆栈操作,模拟嵌入式系统堆栈的物理操作效果;所述虚拟输入输出设备,用于在虚拟机内存中模拟输入输出设备读写,模拟嵌入式系统输入输出设备的物理操作效果;所述Java图形用户界面,用于接收用户输入以及向用户提供可视的操作结果;步骤2、用户在所述虚拟机上输入嵌入式系统程序代码;步骤3、所述指令解释器读取所述虚拟机内存,并顺序逐条翻译所述嵌入式系统程序代码,分别得到8位嵌入式CPU指令,所述8位嵌入式CPU指令划分为三种类型的指令内存读写指令、堆栈操作指令、输入输出设备指令;步骤4、所述虚拟处理器调用所述虚拟内存,读取所述指令栈,分别执行内存读写指令、 堆栈操作指令、输入输出设备指令;当所读取指令为内存读写指令,则调用所述虚拟内存进行虚拟内存读写操作, 当所读取指令为堆栈操作指令,则调用所述虚拟堆栈管理器执行虚拟堆栈操作, 当所读取指令为输入输出设备指令,则调用所述虚拟输入输出设备执行虚拟输入输出操作,步骤5、所述拟虚拟内存数据读写操作、虚拟堆栈操作、虚拟输入输出操作的结果输出到所述Java图形用户界面。所述8位嵌入式CPU指令解释器,基于Hash表方式快速查找8位嵌入式CPU指令对应于虚拟处理器操作的Java代码并执行。在所述步骤3中,所述指令解释器对一条嵌入式系统程序代码翻译后,产生多条指令;所述指令解释器对于所产生的多条指令,采用Java实现指令栈数据结构进行存储管理。本专利技术的有益效果本专利技术采用100%java开发的纯软件8位嵌入式CPU仿真运行环境,在标准PC中即可快速安装部署,并可执行嵌入式程序代码,为工业自动化嵌入式系统的设计开发及调试维护提供了低成本、高效率、可联网协同操作的仿真环境。该仿真环境利用Java实现了基于堆栈方式的8位虚拟处理器、虚拟内存、虚拟输入输出设备等虚拟层硬件,具备嵌入式系统真实硬件的特性。该方法支持Windows/Linux/Unix操作系统环境,非常容易部署于PC以及利用Java网络优势通过网络进行联机调试,极大地提高嵌入式系统的设计开发与调试效率,广泛适用于工业自动化嵌入式系统设计开发调试维护,是仿真开发与测试的有效技术手段。附图说明下面结合附图和具体实施方式对本专利技术的技术方案作进一步具体说明。图1为本专利技术的应用流程框图。具体实施例方式本方法首先在所述虚拟机上通过Java类文件分别生成8位嵌入式CPU系统的指令解释器、虚拟处理器、虚拟内存、虚拟堆栈管理器、虚拟输入输出设备和Java图形用户界 指令解释器完成对嵌入式系统程序代码的翻译,转换为与之对应等效的、能够在 Java虚拟机内存中执行的Java功能代码。虚拟处理器,用于在虚拟机内存中模拟堆栈数据管理、输入输出设备管理;虚拟内存,用于在虚拟机内存中模拟内存读写功能,模拟嵌入式系统内存的物理操作效果;虚拟堆栈管理器,用于在虚拟机内存中模拟堆栈操作,模拟嵌入式系统堆栈的物理操作效果;虚拟输入输出设备,用于在虚拟机内存中模拟输入输出设备读写,模拟嵌入式系统输入输出设备的物理操作效果;Java图形用户界面,用于接收用户输入以及向用户提供可视的操作结果。然后,通过图形用户界面接收用户输入的嵌入式系统程序代码数据,并通过Java 实现的嵌入式系统指令集解释器进行识别,如果是有效的嵌入式系统程序代码,则逐条进行翻译。翻译过程采用内部Hash表方式快速查找对应的Java功能代码并执行之。这些 Java功能代码根据嵌入式系统指令集,分为虚拟内存读写指令、虚拟堆栈操作指令以及虚拟输入输出设备读写指令。所有指令全部通过Java实现的指令栈进行执行顺序管理。虚拟内存、虚拟堆栈、虚拟输入输出设备这些虚拟层面上的硬件全部由Java虚拟机中的内存块模拟出实际效果。在对虚拟层面上的指令操作由Java功能代码执行完毕后,其内存中的数据即为仿真系统的指令运行结果,通过Java图形用户界面向用户实现操作反馈。Java实现的指令栈同时检查是否存在下一条嵌入式系统程序代码,如果有则重复上述指令解释执行过程,从而实现嵌入式系统程序的完整运行仿真效果。下面结合图1对本专利技术应用作进一步描述。步骤(1)采用Java实现嵌入式系统指令集解释器,指令集是有限的代码集合,通过十六进制数对其进行一一编码,并对应出等效的Java功能类方法,并通过Hash表方式实现映射及快速查找。步骤(2 )指令解释器对用户输入的嵌入式系统程序代码进行逐条翻译。嵌入式系统程序代码条数众多,采用Java实现指令栈数据结构对其进行存储管理。步骤(3)根据指令解释器的翻译结果,存在对内存读写指令、堆栈操作指令、输入输出设备指令三种执行模式,这些模式都由Java编程实现与之对应的Java类,并在虚拟机内存中进行对应的功能操作,模拟嵌入式系统硬件内存、堆栈、输入输出设备的物理操作效果。当所读取指令为内存读写指令,则调用所述虚拟内存进行虚拟内存读写操作。当所读取指令为堆栈操作指令,则调用所述虚拟堆栈管理器执行虚拟堆栈操作。当所读取指令为输入输出设备指令,则调用所述虚拟输入输出设备执行虚拟输入输出操作。步骤(4)所有在Java虚拟机内存中执行的对应操作所产生的数据结果,即对应仿本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张新
申请(专利权)人:武汉钢铁集团公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术