專利名稱:一種嵌入式無線通信終端上執(zhí)行Lua腳本的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線嵌入式無線通信終端,特別涉及一種嵌入式無線通信終端上執(zhí)行 Lua腳本的方法及裝置。
背景技術(shù):
目前國(guó)內(nèi)對(duì)嵌入式系統(tǒng)的普遍定義為以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
這些年來,隨著芯片技術(shù)的飛速發(fā)展,單個(gè)芯片具有越來越強(qiáng)的處理能力,而且使集成多種接口成為可能。
同時(shí)由于應(yīng)用需求的增加,嵌入式系統(tǒng)也逐漸從早期的純硬件實(shí)現(xiàn)轉(zhuǎn)變?yōu)樵絹碓蕉嗟能浻布Y(jié)合,甚至越來越多的依賴于軟件的實(shí)現(xiàn)。
現(xiàn)有技術(shù)中,一個(gè)典型的嵌入式系統(tǒng)架構(gòu)主要包括三個(gè)部分底層硬件通常需要一個(gè)微處理器(可能是單片機(jī)、ARM或者DSP等)、存儲(chǔ)、調(diào)試接口以及應(yīng)用所需的其他硬件(如鍵盤、LED等);系統(tǒng)軟件層通常包括一個(gè)實(shí)時(shí)操作系統(tǒng)、設(shè)備的驅(qū)動(dòng)程序、可選的TCP/IP通訊協(xié)議棧、以及一些標(biāo)準(zhǔn)的C系統(tǒng)庫(kù);應(yīng)用程序?qū)油ǔJ强蛻舾鶕?jù)實(shí)際應(yīng)用需求而自行開發(fā)的軟件。
現(xiàn)有技術(shù)下的系統(tǒng)框架圖如圖I所示整個(gè)系統(tǒng)包括上層應(yīng)用程序、操作系統(tǒng)、C語言系統(tǒng)庫(kù)、驅(qū)動(dòng)程序、TCP/IP協(xié)議棧和底層硬件等模塊。
上層應(yīng)用程序完成終端用戶的各種應(yīng)用任務(wù);操作系統(tǒng)模塊完成基本的控制指令和數(shù)據(jù)指令的執(zhí)行;c語言系統(tǒng)庫(kù)負(fù)責(zé)和驅(qū)動(dòng)程序交互操作底層硬件,TCP/IP協(xié)議棧完成通信協(xié)議的解析和執(zhí)行。
考慮到嵌入式系統(tǒng)資源的限制(存儲(chǔ)少、功耗要求高、CPU能力有限),通常上層應(yīng)用程序的開發(fā)都是由匯編或者C語言來完成。
但是由C語言開發(fā)的程序一旦固化在芯片上,出廠后不方便修改,無法像腳本語言一樣被加載執(zhí)行。發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種嵌入式無線通信終端上執(zhí)行Lua (Lua是一個(gè)小巧的腳本語言)腳本的方法,以及提供執(zhí)行該方法的裝置。
為解決上述技術(shù)問題,本發(fā)明的實(shí)施方式提供了一種嵌入式無線通信終端上執(zhí)行 Lua腳本的方法及裝置,在現(xiàn)有嵌入式無線通信終端組成結(jié)構(gòu)的基礎(chǔ)上增加Lua腳本處理程序來處理Lua腳本,如圖2所示。
該方法中的嵌入式無線通信終端的組成包括各種完成用戶交互的上層應(yīng)用程序;承載終端運(yùn)行的操作系統(tǒng)層;c語言系統(tǒng)庫(kù)負(fù)責(zé)終端開機(jī)和完成各種指令的執(zhí)行;Lua腳本處理程序負(fù)責(zé)完成加載嵌入式無線通信終端中的Lua腳本并執(zhí)行Lua腳本;終端中的 TCP/IP協(xié)議棧承擔(dān)嵌入式無線通信終端的通信任務(wù);驅(qū)動(dòng)程序負(fù)責(zé)完成與底層硬件的交互。
在嵌入式無線通信終端開機(jī)時(shí),先初始化終端FLASH,確保FLASH初始化成功時(shí), 啟動(dòng)終端的BootLoader程序;然后執(zhí)行C語言系統(tǒng)庫(kù)的main函數(shù);在main函數(shù)中檢測(cè)當(dāng)前是否存在Lua腳本指針回調(diào)函數(shù),當(dāng)發(fā)現(xiàn)存在Lua腳本時(shí),對(duì)腳本代碼進(jìn)行語法檢查并執(zhí)行此腳本;當(dāng)執(zhí)行完腳本后返回C語言系統(tǒng)庫(kù)繼續(xù)執(zhí)行嵌入式無線通信終端的其他指令和數(shù)據(jù)。
本發(fā)明通過在嵌入式無線通信終端上增加Lua腳本處理模塊;并在終端啟動(dòng)的時(shí)候檢測(cè)初始化FALSH是否成功,啟動(dòng)Bootloader和執(zhí)行C語言系統(tǒng)庫(kù)的main函數(shù)進(jìn)行初始化 C語言運(yùn)行環(huán)境;然后檢測(cè)當(dāng)前是否需要加載Lua腳本,對(duì)Lua腳本進(jìn)行語法檢查后再執(zhí)行腳本。
這樣就實(shí)現(xiàn)了在嵌入式無線通信終端中執(zhí)行Lua腳本的方法及其裝置,使得開發(fā)人員對(duì)嵌入式無線通信終端編程處理更加靈活。
圖I是現(xiàn)有技術(shù)中的系統(tǒng)框圖;圖2是根據(jù)本發(fā)明實(shí)施方式的系統(tǒng)框圖;圖3是根據(jù)本發(fā)明實(shí)施方式中的終端啟動(dòng)流程的流程圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行詳細(xì)的闡述。然而,本領(lǐng)域的普通技術(shù)人員可以理解,在本發(fā)明實(shí)施方式中,為了使讀者更好地理解本申請(qǐng)而提出了許多技術(shù)細(xì)節(jié)。但是,即使沒有這些技術(shù)細(xì)節(jié)和基于以下實(shí)施方式的種種變化和修改,也可以實(shí)現(xiàn)本申請(qǐng)各權(quán)利要求所要求保護(hù)的技術(shù)方案。
本發(fā)明的實(shí)施方式涉及一種嵌入式無線通信終端上執(zhí)行Lua腳本的裝置,具體如圖2所示該方法中的嵌入式無線通信終端的組成包括各種完成用戶交互的上層應(yīng)用程序;承載終端運(yùn)行的操作系統(tǒng)層;C語言系統(tǒng)庫(kù)負(fù)責(zé)終端開機(jī)和完成各種指令的執(zhí)行;Lua腳本處理程序負(fù)責(zé)完成加載在嵌入式無線通信終端中的Lua腳本;終端中的TCP/IP協(xié)議棧承擔(dān)嵌入式無線通信終端的通信任務(wù);驅(qū)動(dòng)程序負(fù)責(zé)完成與底層硬件的交互。
本發(fā)明的實(shí)施方式還涉及一種嵌入式無線通信終端上執(zhí)行Lua腳本的方法,具體如圖3所示,包含以下步驟步驟301,嵌入式無線通信終端開機(jī)。
步驟302,初始化終端FALSH系統(tǒng)。
由于終端FALSH系統(tǒng)中保存了整個(gè)終端所有的指令和用戶數(shù)據(jù),同樣也保存這 Lua腳本。
所以必須初始化成功才能執(zhí)行下一步步驟。
步驟303,判斷終端FLASH系統(tǒng)是否初始化成功。
如果初始化成功,執(zhí)行步驟304進(jìn)行后續(xù)流程;否則返回步驟302重試。
步驟304,啟動(dòng)終端的Bootloader搬運(yùn)開機(jī)數(shù)據(jù)。
步驟305,執(zhí)行C系統(tǒng)庫(kù)main函數(shù)。
由于嵌入式無線通信終端的底層語言都是由C語言實(shí)現(xiàn)的,所以嵌入式無線通信終端最初都要執(zhí)行C系統(tǒng)庫(kù)的main函數(shù)準(zhǔn)備C語言環(huán)境,為后續(xù)執(zhí)行指令做準(zhǔn)備。
步驟306,檢測(cè)Lua腳本回調(diào)函數(shù)。
當(dāng)嵌入式無線通信終端需要執(zhí)行Lua腳本時(shí),會(huì)把Lua腳本放在FLASH上的一個(gè)固定的內(nèi)存地址上,此時(shí)該地址會(huì)被設(shè)置成一個(gè)回調(diào)函數(shù),該回調(diào)函數(shù)指向Lua腳本的入□。
步驟307,判斷嵌入式無線通信終端中是否存放Lua腳本?如果有Lua腳本,執(zhí)行步驟308 ;否則執(zhí)行步驟311。
步驟308,當(dāng)發(fā)現(xiàn)嵌入式無線通信終端FLASH中存在Lua腳本時(shí),對(duì)Lua腳本進(jìn)行語法檢查。
只有當(dāng)腳本的語法沒有錯(cuò)誤時(shí),此腳本才能夠被正確執(zhí)行。
步驟309,判斷Lua腳本的語法是否符合規(guī)則。
如果符合腳本規(guī)則,執(zhí)行步驟310 ;否則執(zhí)行步驟311。
步驟310,經(jīng)判斷發(fā)現(xiàn)Lua腳本的語法符合規(guī)則時(shí),在此步驟中執(zhí)行Lua腳本。
步驟311,當(dāng)在步驟310中執(zhí)行完腳本,或者在步驟309中發(fā)現(xiàn)腳本語法錯(cuò)誤不能執(zhí)行腳本時(shí),執(zhí)行到此步驟。
在此步驟中,繼續(xù)執(zhí)行終端其他C語言指令。
上述步驟,即完成了在嵌入式無線通信終端上增加Lua腳本處理模塊;并在終端啟動(dòng)的時(shí)候檢測(cè)初始化FALSH是否成功,啟動(dòng)Bootloader和執(zhí)行C語言系統(tǒng)庫(kù)的main函數(shù)進(jìn)行初始化C語言運(yùn)行環(huán)境;然后檢測(cè)當(dāng)前是否需要加載Lua腳本,對(duì)Lua腳本進(jìn)行語法檢查后再執(zhí)行Lua腳本。這樣就實(shí)現(xiàn)了在嵌入式無線通信終端中執(zhí)行Lua腳本的方法及其裝置,使得開發(fā)人員對(duì)嵌入式無線通信終端編程處理更加靈活。
上面各種方法的步驟劃分,只是為了描述清楚,實(shí)現(xiàn)時(shí)可以合并為一個(gè)步驟或者對(duì)某些步驟進(jìn)行拆分,分解為多個(gè)步驟,只要包含相同的邏輯關(guān)系,都在本專利的保護(hù)范圍內(nèi);對(duì)算法中或者流程中添加無關(guān)緊要的修改或者引入無關(guān)緊要的設(shè)計(jì),但不改變其算法和流程的核心設(shè)計(jì)都在該專利的保護(hù)范圍內(nèi)。
值得一提的是,本實(shí)施方式中所涉及到的各模塊均為邏輯模塊,在實(shí)際應(yīng)用中,一個(gè)邏輯單元可以是一個(gè)物理單元,也可以是一個(gè)物理單元的一部分,還可以以多個(gè)物理單元的組合實(shí)現(xiàn)。此外,為了突出本發(fā)明的創(chuàng)新部分,本實(shí)施方式中并沒有將與解決本發(fā)明所提出的技術(shù)問題關(guān)系不太密切的單元引入,但這并不表明本實(shí)施方式中不存在其它的單元。本領(lǐng)域的普通技術(shù)人員可以理解,上述各實(shí)施方式是實(shí)現(xiàn)本發(fā)明的具體實(shí)施例,而在實(shí)際應(yīng)用中,可以在形式上和細(xì)節(jié)上對(duì)其作各種改變,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種嵌入式無線通信終端上執(zhí)行Lua腳本的方法,其特征在于,包含以下步驟嵌入式無線通信終端在執(zhí)行完C系統(tǒng)main函數(shù)后,檢查當(dāng)前終端FALSH中是否存在 Lua腳本;如果存在Lua腳本,則檢查該腳本的語法是否正確;執(zhí)行語法正確的腳本,不執(zhí)行語法錯(cuò)誤的腳本;返回C語言系統(tǒng)環(huán)境繼續(xù)執(zhí)行后續(xù)指令。
2.一種嵌入式無線通信終端上執(zhí)行Lua腳本的裝置,其特征在于在現(xiàn)有嵌入式無線通信終端的基礎(chǔ)上增加Lua腳本處理模塊。
全文摘要
本發(fā)明涉及嵌入式無線通信終端,公開了一種嵌入式無線通信終端上執(zhí)行Lua腳本的方法及裝置。本發(fā)明通過在嵌入式無線通信終端上增加Lua腳本處理模塊;并在終端啟動(dòng)的時(shí)候檢測(cè)初始化FALSH是否成功,啟動(dòng)Bootloader和執(zhí)行C語言系統(tǒng)庫(kù)的main函數(shù)進(jìn)行初始化C語言運(yùn)行環(huán)境;然后檢測(cè)當(dāng)前是否需要加載Lua腳本,對(duì)Lua腳本進(jìn)行語法檢查后再執(zhí)行Lua腳本。這樣就實(shí)現(xiàn)了在嵌入式無線通信終端中執(zhí)行Lua腳本的方法及其裝置,使得開發(fā)人員對(duì)嵌入式無線通信終端編程處理更加靈活。
文檔編號(hào)G06F9/44GK102981860SQ20121052379
公開日2013年3月20日 申請(qǐng)日期2012年12月8日 優(yōu)先權(quán)日2012年12月8日
發(fā)明者秦鵬 申請(qǐng)人:秦鵬, 李俊