中文3150字出处:KhuntaweetepNJS,SomkuarnpanitS.BytecodeInterpreterfor8051Microcontroller[C]//ProceedingsoftheInternationalMultiConferenceofEngineersandComputerScientists.2010,2.8051微控制器的字节码解释器N.JeenjunS.KhuntaweetepandS.Somkuarnpanit摘要:——本文提出了8051单片机设计的字节码解释器。
基于Java语言“编写一次,随处运行”我们开发了一个程序,它可以用来操作另一个系统自编程留。为重复命令,解释器被设计为个水平。重复数量可以是-。为重复命保留令字节码是H-H。GOTO命令,它必须有标签。标签或地址可以是H-FFFFH。字节代码H被保留用于GOTO命令。所有命令将在试验结果部分进行说明。D.Memory分配存储器分配在图中进行描述,第一保留KB用于解释器安装,第二个是用户代码区为KB闪存或K字节EEPROM作为配置设置。在本文中,用户代码区是KB闪存内存。E.硬件硬件测试系统是ETT-JRUSB[]下面是规范硬件。ATC单片机时钟运行K字节闪存和K字节sramUSB线下载程序xUART最大个基点个IC端口VDC电源四测试结果我们选择了一些字节代码示例来测试翻译。它包括IC,RS,LCD和并口与延迟时间。第一示例代码在图中,该方案将产生IC开始信号,写数据到IC与AH继而产生IC停止信号。测试结果是在图中描绘。第一行,,,,E,:行地址:SUM:条口,定时器,液晶口和算术函数。在图系统流程图描述中MCU后复位后,解释器从内置闪存取出字节码。条件将被选中,不管它是正常任务或任务条件。如果是正常任务,接下来字节码会被解码为正常。如果不是,解释器之前会去下一个命令,检查情况。完成该操作之后,程序计数器(PC)将被提高到下一行地址。A.数据堆栈解释器被设计成具有级数据栈。该优势数据栈是,存储条件结果指令值IF/ELSE和WAITUNITL并从结果算术命令。数据堆栈示例被描绘在图中。,,,,,,,,,,,C,A,:行程序地址:SUM:条件(IF语句):没有条件:数字IF语句奴隶:这是主线,:推送数据H到当前栈,:数据推至下一个栈C:比较均等字节码A:在堆栈比较数据和堆栈+,结果将在堆。B字节码格式字节码格式由份组成,图中所描绘那样。AddrH和ADDRL是位地址线。(最大为行)SUM使用字节中每一行(ADDRL,AddrH和SUM不包括在内)条件是首要条件。条件是次要条件。CondListH,在以下情况下,如果条件不为H平等H:这是从行地址。不等于H:这是主线地址。CondListL,在以下情况下,如果条件不为H平等H:这是主线地址。不等于H:这是从行地址。字节代码是位命令。C.Byte代码指令集该指令集被归类为个部分:没有条件命令对于没有条件命令,条件将是H,条件CondListH和CondListL将不会出现在行中。在图中格式描绘实施例如对于本命令TX,RX,ICSTART,ICWRITE,LCD,WAITTIME,OUTPORT和INPORT。命令条件对于条件命令包括,IF,ELSE,REPEAT和GOTO。在图中,格式条件描绘会不会是H和条件为h保留进一步使用。解释器设计有级IF和ELSE命令。在图中显示了个级别IF命令和ELSE命令水平。对于IF命令,字节码H-H被保留,H-H是为IF行结束保留。ELSE命令,字节码H-FH保留和ELSE行结束H-FH保留。为重复命令,解释器被设计为个水平。重复数量可以是-。为重复命保留令字节码是H-H。GOTO命令,它必须有标签。标签或地址可以是H-FFFFH。字节代码H被保留用于GOTO命令。所有命令将在试验结果部分进行说明。D.Memory分配存储器分配在图中进行描述,第一保留KB用于解释器安装,第二个是用户代码区为KB闪存或K字节EEPROM作为配置设置。在本文中,用户代码区是KB闪存内存。E.硬件硬件测试系统是ETT-JRUSB[]下面是规范硬件。ATC单片机时钟运行K字节闪存和K字节sramUSB线下载程序xUART最大个基点个IC端口VDC电源四测试结果我们选择了一些字节代码示例来测试翻译。它包括IC,RS,LCD和并口与延迟时间。第一示例代码在图中,该方案将产生IC开始信号,写数据到IC与AH继而产生IC停止信号。测试结果是在图中描绘。第一行,,,,E,:行地址:SUM:条,我们通过使用内置问题改进了微控制器闪存,只用了个时钟周期来获取个字节数据。五结论根据测试结果,即使我们改变从系统到PIC微控制器,解释器仍然可以执行正确命令字节代码。事实证明独立硬件概念就是执行字节码指令通过改变外部存储器,内部闪存提高内存。进一步就是减少解释器代码大小和速度提高,我们可以用汇编语言,而不是C语言。最后:检查字节代码语法,编译应制定为好。六参考[]S.WilsonandJ.Kesselman,“Javaplatformperformancestrategiesandtactics”,Addison-Wesley,Boston,.[]T.LindholmandF.Yellin,“TheJavavirtualmachinespecification”,Addison-Wesley,Reading,Mass.,.[]JinSato,“LEGOMINDSTORMS:TheMaster'sTechnique”,O'ReillyMedia,Inc.,.[]F.Matin,B.Mikhak,B.Silverman,“MetaCricket:Adesignner’skitformakingcomputationaldevices”,IBMSystemsJournal,Vol.,NOS&,.[]Arnan(Roger)Sipitakiat,“GOGOBOARD”,Availablefrom:http://www.gogoboard.org[]AlWilliams,“MicrocontrollerProjectsUsingtheBasicStamp”,CMPBooks,.[]SunMicrosystems,“picoJava-I:picoJava-ICoreMicroprocessorArchitecture”,SunMicrosystemswhitepaper,October.[]SunMicrosystems,“picoJava-II:JavaProcessorCore”,SunMicrosystemsdatasheet,April.[]GrahamMathias,KennethB.Kent“AnEmbeddedJavaVirtualMachineUsingNetwork-on-ChipDesign”,IEEEInt.WorkshoponRapidSystemPrototyping,.[]KennethB.Kent,MicaelaSerra,“Hardware/SoftwareCo-DesignofaJavaVirtualMachine”,IEEE,.[]NarakornJeenjun,“TheBytecodeFirmwareDesignforMicrocontrollerDevice”,KKUJournal,Vol,Page-,.[]ETT-JRUSBBoardAvailablefrom:www.ett.co.th口,定时器,液晶口和算术函数。在图系统流程图描述中MCU后复位后,解释器从内置闪存取出字节码。条件将被选中,不管它是正常任务或任务条件。如果是正常任务,接下来字节码会被解码为正常。如果不是,解释器之前会去下一个命令,检查情况。完成该操作之后,程序计数器(PC)将被提高到下一行地址。A.数据堆栈解释器被设计成具有级数据栈。该优势数据栈是,存储条件结果指令值IF/ELSE和WAITUNITL并从结果算术命令。数据堆栈示例被描绘在图中。,,,,,,,,,,,C,A,:行程序地址:SUM:条件(IF语句):没有条件:数字IF语句奴隶:这是主线,:推送数据H到当前栈,:数据推至下一个栈C:比较均等字节码A:在堆栈比较数据和堆栈+,结果将在堆。B字节码格式字节码格式由份组成,图中所描绘那样。AddrH和ADDRL是位地址线。(最大为行)SUM使用字节中每一行(ADDRL,Addr中文字出处:KhuntaweetepNJS,SomkuarnpanitS.BytecodeInterpreterforMicrocontroller[C]//ProceedingsoftheInternationalMultiConferenceofEngineersandComputerScientists.,.微控制器字节码解释器N.JeenjunS.KhuntaweetepandS.Somkuarnpanit摘要:——本文提出了单片机设计字节码解释器。基于Java语言“编写一次,随处运行”我们开发了一个程序,它可以用来操作另一个系统自编程接口从而代替真正系统。这里有两个项目提供指令集。第一个命令如IF和ELSE。第二个命令是IC等外围接口RS接口、并行端口、计时器和LCD接口。翻译由C语言开发,其结构简单,可以很容易开发和修改代码。从结果中可以看出条件命令和没有条件命令都可以正确执行。关键词:——字节码,翻译,字节码一引言要使用微控制器,用户必须了解其架构和语言。每个家庭微控制器都有它自己体系结构和指令集。例如PIC家庭是RISC和是CISC。当用户想要使微控制器变化来支持新微控制器,可帮助其他用户开发新方案。它是废时间,因为用户必须学习新微控制器架构和指令集,以及解释另一种方式微控制器要解决问题。当用户想要改变新微控制器,用户只安装解释新微控制器,但不写新程序。例如,对于字节代码Java语言,Java作为由SunMicrosystems引入,在年已经传遍了整个计算机行业,并已传递到所有域。不过Java是提供“一次编写,运行无处不在“软件。在图中,程序员编写Java项目。Java编译器将编译Java程序Java字节码。使用Java程序,用户需要安装Java虚拟机操作目标系统。如果用户要改变到新操作系统,用户只需安装Java虚拟机和Java程序就可以正常运行。这种情况下Java虚拟机就是Java系统解释器。世界上人们最喜欢玩具是乐高头脑风暴。乐高积木解释器中有H微控制器。用户接口是基于图形块。这很容易为初学者即使孩子们,都可以来开发自己应用。为了解释其他例子,由麻省理工学院MetaCricket开发,GoGo电路板,通过BasicStamp视差,picoJava-Ⅰ和picoJava-Ⅱ,由Sun微系统嵌入式Java虚拟机和字节代码固件设计组成单片机。二系统比较在图中所描绘标准微控制器(MCU)语言设计,就是用户写入装配程序为目标MCU和编译每个系统机器代码。在这情况下,用户必须为和PIC制定方案。在图中,用户安装字节码解释器,既然后在和PIC单片机写入程序字节代码指令集。在这种情况下,用户写程序只有次。三翻译框图这里解释MCU有个部分,他们如图被加以描述。VM控制器是翻译核心,它控制读取/执行和状态命令,IF,ELSE,REPEAT和GOTO。VMEXECUTE是字节码解码器。外围是硬件模块。它包括,并口,串口,IC端口,定时器,液晶口和算术函数。在图系统流程图描述中MCU后复位后,解释器从内置闪存取出字节码。条件将被选中,不管它是正常任务或任务条件。如果是正常任务,接下来字节码会被解码为正常。如果不是,解释器之前会去下一个命令,检查情况。完成该操作之后,程序计数器(PC)将被提高到下一行地址。A.数据堆栈解释器被设计成具有级数据栈。该优势数据栈是,存储条件结果指令值IF/ELSE和WAITUNITL并从结果算术命令。数据堆栈示例被描绘在图中。,,,,,,,,,,,C,A,:行程序地址:SUM:条件(IF语句):没有条件:数字IF语句奴隶:这是主线,:推送数据H到当前栈,:数据推至下一个栈C:比较均等字节码A:在堆栈比较数据和堆栈+,结果将在堆。B字节码格式字节码格式由份组成,图中所描绘那样。AddrH和ADDRL是位地址线。(最大为行)SUM使用字节中每一行(ADDRL,AddrH和SUM不包括在内)条件是首要条件。条件是次要条件。CondListH,在以下情况下,如果条件不为H平等H:这是从行地址。不等于H:这是主线地址。CondListL,在以下情况下,如果条件不为