一种嵌入式无线通信终端上执行Lua脚本的方法及装置的制作方法

文档序号:6383504阅读:282来源:国知局
专利名称:一种嵌入式无线通信终端上执行Lua脚本的方法及装置的制作方法
技术领域
本发明涉及无线嵌入式无线通信终端,特别涉及一种嵌入式无线通信终端上执行 Lua脚本的方法及装置。
背景技术
目前国内对嵌入式系统的普遍定义为以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
这些年来,随着芯片技术的飞速发展,单个芯片具有越来越强的处理能力,而且使集成多种接口成为可能。
同时由于应用需求的增加,嵌入式系统也逐渐从早期的纯硬件实现转变为越来越多的软硬件结合,甚至越来越多的依赖于软件的实现。
现有技术中,一个典型的嵌入式系统架构主要包括三个部分底层硬件通常需要一个微处理器(可能是单片机、ARM或者DSP等)、存储、调试接口以及应用所需的其他硬件(如键盘、LED等);系统软件层通常包括一个实时操作系统、设备的驱动程序、可选的TCP/IP通讯协议栈、以及一些标准的C系统库;应用程序层通常是客户根据实际应用需求而自行开发的软件。
现有技术下的系统框架图如图I所示整个系统包括上层应用程序、操作系统、C语言系统库、驱动程序、TCP/IP协议栈和底层硬件等模块。
上层应用程序完成终端用户的各种应用任务;操作系统模块完成基本的控制指令和数据指令的执行;c语言系统库负责和驱动程序交互操作底层硬件,TCP/IP协议栈完成通信协议的解析和执行。
考虑到嵌入式系统资源的限制(存储少、功耗要求高、CPU能力有限),通常上层应用程序的开发都是由汇编或者C语言来完成。
但是由C语言开发的程序一旦固化在芯片上,出厂后不方便修改,无法像脚本语言一样被加载执行。发明内容
本发明的目的在于提供一种嵌入式无线通信终端上执行Lua (Lua是一个小巧的脚本语言)脚本的方法,以及提供执行该方法的装置。
为解决上述技术问题,本发明的实施方式提供了一种嵌入式无线通信终端上执行 Lua脚本的方法及装置,在现有嵌入式无线通信终端组成结构的基础上增加Lua脚本处理程序来处理Lua脚本,如图2所示。
该方法中的嵌入式无线通信终端的组成包括各种完成用户交互的上层应用程序;承载终端运行的操作系统层;c语言系统库负责终端开机和完成各种指令的执行;Lua脚本处理程序负责完成加载嵌入式无线通信终端中的Lua脚本并执行Lua脚本;终端中的 TCP/IP协议栈承担嵌入式无线通信终端的通信任务;驱动程序负责完成与底层硬件的交互。
在嵌入式无线通信终端开机时,先初始化终端FLASH,确保FLASH初始化成功时, 启动终端的BootLoader程序;然后执行C语言系统库的main函数;在main函数中检测当前是否存在Lua脚本指针回调函数,当发现存在Lua脚本时,对脚本代码进行语法检查并执行此脚本;当执行完脚本后返回C语言系统库继续执行嵌入式无线通信终端的其他指令和数据。
本发明通过在嵌入式无线通信终端上增加Lua脚本处理模块;并在终端启动的时候检测初始化FALSH是否成功,启动Bootloader和执行C语言系统库的main函数进行初始化 C语言运行环境;然后检测当前是否需要加载Lua脚本,对Lua脚本进行语法检查后再执行脚本。
这样就实现了在嵌入式无线通信终端中执行Lua脚本的方法及其装置,使得开发人员对嵌入式无线通信终端编程处理更加灵活。


图I是现有技术中的系统框图;图2是根据本发明实施方式的系统框图;图3是根据本发明实施方式中的终端启动流程的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
本发明的实施方式涉及一种嵌入式无线通信终端上执行Lua脚本的装置,具体如图2所示该方法中的嵌入式无线通信终端的组成包括各种完成用户交互的上层应用程序;承载终端运行的操作系统层;C语言系统库负责终端开机和完成各种指令的执行;Lua脚本处理程序负责完成加载在嵌入式无线通信终端中的Lua脚本;终端中的TCP/IP协议栈承担嵌入式无线通信终端的通信任务;驱动程序负责完成与底层硬件的交互。
本发明的实施方式还涉及一种嵌入式无线通信终端上执行Lua脚本的方法,具体如图3所示,包含以下步骤步骤301,嵌入式无线通信终端开机。
步骤302,初始化终端FALSH系统。
由于终端FALSH系统中保存了整个终端所有的指令和用户数据,同样也保存这 Lua脚本。
所以必须初始化成功才能执行下一步步骤。
步骤303,判断终端FLASH系统是否初始化成功。
如果初始化成功,执行步骤304进行后续流程;否则返回步骤302重试。
步骤304,启动终端的Bootloader搬运开机数据。
步骤305,执行C系统库main函数。
由于嵌入式无线通信终端的底层语言都是由C语言实现的,所以嵌入式无线通信终端最初都要执行C系统库的main函数准备C语言环境,为后续执行指令做准备。
步骤306,检测Lua脚本回调函数。
当嵌入式无线通信终端需要执行Lua脚本时,会把Lua脚本放在FLASH上的一个固定的内存地址上,此时该地址会被设置成一个回调函数,该回调函数指向Lua脚本的入□。
步骤307,判断嵌入式无线通信终端中是否存放Lua脚本?如果有Lua脚本,执行步骤308 ;否则执行步骤311。
步骤308,当发现嵌入式无线通信终端FLASH中存在Lua脚本时,对Lua脚本进行语法检查。
只有当脚本的语法没有错误时,此脚本才能够被正确执行。
步骤309,判断Lua脚本的语法是否符合规则。
如果符合脚本规则,执行步骤310 ;否则执行步骤311。
步骤310,经判断发现Lua脚本的语法符合规则时,在此步骤中执行Lua脚本。
步骤311,当在步骤310中执行完脚本,或者在步骤309中发现脚本语法错误不能执行脚本时,执行到此步骤。
在此步骤中,继续执行终端其他C语言指令。
上述步骤,即完成了在嵌入式无线通信终端上增加Lua脚本处理模块;并在终端启动的时候检测初始化FALSH是否成功,启动Bootloader和执行C语言系统库的main函数进行初始化C语言运行环境;然后检测当前是否需要加载Lua脚本,对Lua脚本进行语法检查后再执行Lua脚本。这样就实现了在嵌入式无线通信终端中执行Lua脚本的方法及其装置,使得开发人员对嵌入式无线通信终端编程处理更加灵活。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
权利要求
1.一种嵌入式无线通信终端上执行Lua脚本的方法,其特征在于,包含以下步骤嵌入式无线通信终端在执行完C系统main函数后,检查当前终端FALSH中是否存在 Lua脚本;如果存在Lua脚本,则检查该脚本的语法是否正确;执行语法正确的脚本,不执行语法错误的脚本;返回C语言系统环境继续执行后续指令。
2.一种嵌入式无线通信终端上执行Lua脚本的装置,其特征在于在现有嵌入式无线通信终端的基础上增加Lua脚本处理模块。
全文摘要
本发明涉及嵌入式无线通信终端,公开了一种嵌入式无线通信终端上执行Lua脚本的方法及装置。本发明通过在嵌入式无线通信终端上增加Lua脚本处理模块;并在终端启动的时候检测初始化FALSH是否成功,启动Bootloader和执行C语言系统库的main函数进行初始化C语言运行环境;然后检测当前是否需要加载Lua脚本,对Lua脚本进行语法检查后再执行Lua脚本。这样就实现了在嵌入式无线通信终端中执行Lua脚本的方法及其装置,使得开发人员对嵌入式无线通信终端编程处理更加灵活。
文档编号G06F9/44GK102981860SQ20121052379
公开日2013年3月20日 申请日期2012年12月8日 优先权日2012年12月8日
发明者秦鹏 申请人:秦鹏, 李俊
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1