專利名稱:一種嵌入式應用程序的開發(fā)系統(tǒng)及方法
技術領域:
本發(fā)明涉及嵌入式應用程序開發(fā)技術,尤其是涉及一種通過輸入命令行或批處理文件 來生成可執(zhí)行的嵌入式應用程序的通用開發(fā)系統(tǒng)及方法。
背景技術:
嵌入式系統(tǒng)是以嵌入式計算機為技術核心,面向用戶、產(chǎn)品或應用,且具有軟硬件可 根據(jù)需要裁減的靈活性,適用于對功能、可靠性、成本、體積、和功耗等綜合性能有嚴格 要求的專用計算機系統(tǒng)。只要涉及到與用戶交互的嵌入式系統(tǒng)都需要應用程序,由于嵌入式操作系統(tǒng)的功能定 制和接口函數(shù)不一樣,因此在進行應用程序開發(fā)時,現(xiàn)有的實現(xiàn)方式都是針對不同的嵌入 式操作系統(tǒng)進行開發(fā)的,存在如下問題1、 開發(fā)人員要通過調(diào)用嵌入式操作系統(tǒng)指定的應用程序設計接口,因此開發(fā)人員會花 費過多的時間去掌握某一種操作系統(tǒng)的設計開發(fā)方式,導致嵌入式應用程序開發(fā)效率低、 同期長;2、 由于針對不同的嵌入式操作系統(tǒng)設計的應用程序通用性差,導致不同操作系統(tǒng)之間 的項目無法移植和利用的問題,影響了開發(fā)進度甚至產(chǎn)品質(zhì)量,也會增加開發(fā)成本。如今,利用Java語言開發(fā)出來的應用程序,通過Java虛擬機進行解析,生成針對目標 系統(tǒng)平臺的語言,也是可以跨平臺運行的。因此,使用Java語言在一定程度上可以解決嵌 入式系統(tǒng)中應用程序的開發(fā)問題;但是,由于不同的嵌入式系統(tǒng)要對應不同的Java虛擬機, 所以要執(zhí)行目標應用程序前,還要開發(fā)出一套針對該嵌入式目標系統(tǒng)的Java虛擬機,而開 發(fā)Java虛擬機的技術難度相當高。發(fā)明內(nèi)容本發(fā)明所要解決的技術問題在于提出 一種嵌入式應用程序的開發(fā)系統(tǒng)及方法,以解決 現(xiàn)有技術中開發(fā)嵌入式應用程序存在難度大、效率低且嵌入式應用程序移植性較差的技術 問題。為解決上述問題,本發(fā)明公開一種嵌入式應用程序的開發(fā)系統(tǒng),包括 操作接口 ,用于輸入開發(fā)嵌入式應用程序的命令并獲得命令的返回結(jié)果; 命令處理單元,與所述操作接口連接,用于接收所述命令,并對所述命令作解析和執(zhí) 行處理;應用程序接口庫,用于存儲不同目標機器環(huán)境下用于應用程序開發(fā)的系統(tǒng)接口; 系統(tǒng)管理單元,與所述操作接口、所述命令處理單元和所述應用程序接口庫連接,用于根據(jù)所述命令處理單元對所述命令的處理結(jié)果,調(diào)用對應所述處理結(jié)果的系統(tǒng)管理函數(shù) 來生成開發(fā)代碼,并根據(jù)開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境從所述應用程序接口庫 中調(diào)用相應的應用程序接口,對所述開發(fā)代碼作編譯和鏈接處理,生成可執(zhí)行應用程序文 件。較優(yōu)的,所述命令處理單元包括命令接收模塊,與所述操作接口連接,用于接收從所述操作接口輸入的開發(fā)嵌入式應用程序的命令;命令庫,用于存儲所述命令與所述系統(tǒng)管理單元中的系統(tǒng)管理函數(shù)的對應關系; 命令解析模塊,用于在所述命令庫中查詢所述命令與系統(tǒng)管理函數(shù)的對應關系,獲得所述命令對應的系統(tǒng)管理函數(shù)標識;命令執(zhí)行模塊,用于根據(jù)系統(tǒng)管理函數(shù)標識,向所述系統(tǒng)管理單元調(diào)用相應的系統(tǒng)管理函數(shù)。較優(yōu)的,所述對應關系是開發(fā)嵌入式應用程序的命令和系統(tǒng)管理函數(shù)的索引表。 較優(yōu)的,所述系統(tǒng)管理函數(shù)標識為系統(tǒng)管理函數(shù)的地址或函數(shù)名。 較優(yōu)的,所述系統(tǒng)管理單元包括 系統(tǒng)管理函數(shù)庫,用于存儲系統(tǒng)管理函數(shù);代碼生成模塊,用于根據(jù)所述命令處理單元對所述命令的處理結(jié)果,調(diào)用對應所述處 理結(jié)果的系統(tǒng)管理函數(shù)來生成開發(fā)代碼;接口調(diào)用模塊,用于根據(jù)開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境,從所述應用程序 接口庫中調(diào)用相應的應用程序接口;編譯鏈接模塊,用于4艮據(jù)所述接口調(diào)用模塊調(diào)用的應用程序接口 ,對所迷代碼生成的 開發(fā)代碼作編譯處理,生成中間模塊,并將該應用程序接口的目標模塊與生成的中間模塊 作鏈接處理,生成可執(zhí)行應用程序文件。較優(yōu)的,所述命令包括用于開發(fā)嵌入式應用程序的開發(fā)命令;以及用于配置所述應用程序接口庫和開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境的配 置命令。較優(yōu)的,所述命令為命令行或批處理腳本文件;所述命令包括命令字符串的參數(shù)字符 串的預定格式,其中,所述參數(shù)字符串為一個字符或多個字符,或為空。 相應的,本發(fā)明公開一種嵌入式應用程序的開發(fā)方法,包括步驟 輸入開發(fā)嵌入式應用程序的命令;解析并執(zhí)行所述命令,調(diào)用對應所述命令的系統(tǒng)管理函數(shù),生成開發(fā)代碼; 根據(jù)開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境調(diào)用相應的應用程序接口 ,對所述開發(fā) 代碼作編譯和鏈接處理;生成對應于嵌入式應用程序的可執(zhí)行應用程序文件。 較優(yōu)的,所述命令包括用于開發(fā)嵌入式應用程序的開發(fā)命令;以及用于配置所述應用程序接口庫和開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境的配 置命令。較優(yōu)的,所述命令為命令行或批處理腳本文件;所述命令包括命令字符串的參數(shù)字符 串的預定格式,其中,所述參數(shù)字符串為一個字符或多個字符,或為空。 與現(xiàn)有技術相比,本發(fā)明具有以下有益技術效果1、 本發(fā)明提出的嵌入式應用程序開發(fā)系統(tǒng),使開發(fā)人員在開發(fā)特定操作系統(tǒng)下的嵌入 式應用程序時,無需掌握特定操作系統(tǒng)的應用程序接口,僅需輸入對應于開發(fā)嵌入式應用 程序的命令行或批處理文件,即可快速的完成特定嵌入式應用程序的開發(fā)工作,有利于提 高開發(fā)嵌入式應用程序的工作效率和降低開發(fā)難度;2、 本發(fā)明開發(fā)的嵌入式應用程序具有較好的移植性,當需要將基于一個操作系統(tǒng)的嵌 入式應用程序移植到另 一個操作系統(tǒng)時,僅需要通過配置命令重新配置嵌入式應用程序的 目標機器環(huán)境即可。因此,本發(fā)明是一種通用的嵌入式應用程序開發(fā)系統(tǒng),具有較好的適 用性,能廣泛用于基于各種操作系統(tǒng)下的嵌入式應用程序的開發(fā)。
圖l是本發(fā)明一個4交佳實施例的結(jié)構(gòu)示意圖。 圖2是本發(fā)明一個較佳實施例的流程示意圖。
具體實施方式
本發(fā)明是通過配置嵌入式應用程序?qū)哪繕藱C器環(huán)境,通過輸入命令行或批處理文 件來調(diào)用相應的系統(tǒng)管理函數(shù)生成相應的開發(fā)代碼,并根據(jù)目標機器環(huán)境調(diào)用應用程序接 口對開發(fā)代碼作編譯和鏈接處理,從而生成可執(zhí)行應用程序文件。如此,本發(fā)明提出一種通用的嵌入式應用程序的開發(fā)系統(tǒng),使開發(fā)人員在開發(fā)特定操 作系統(tǒng)下的嵌入式應用程序時,無需掌握特定操作系統(tǒng)的應用程序接口 ,僅需輸入對應于 開發(fā)嵌入式應用程序的命令行或批處理文件,即可快速的完成特定嵌入式應用程序的開發(fā) 工作。參閱圖l所示,本實施例的嵌入式應用程序的開發(fā)系統(tǒng)包括操作接口110,命令處理 單元120,系統(tǒng)管理單元130,應用程序(Application Program Interface, API)接口庫140。其中,用戶通過所述操作接口110輸入開發(fā)嵌入式應用程序的命令;且將該命令的返回 結(jié)果顯示給用戶。所述命令為命令行或批處理腳本文件;且命令為預定格式命令字符串 +參數(shù)字符串。其中,參數(shù)字符串可以有一個或者多個字符,也可以為空。所述命令還分 為配置命令和開發(fā)命令。所述配置命令可以控制嵌入式系統(tǒng)注冊與命令的目標功能相應的 組件、配置所述應用程序接口庫140和目標機器環(huán)境等;當然,如果不執(zhí)行配置命令,系 統(tǒng)則會使用默認的配置進行開發(fā)工作。所述開發(fā)命令行可以開發(fā)出實現(xiàn)目標功能的應用程 序,如顯示字符串、顯示圖片背景、或創(chuàng)建按鈕并通過按鈕處理事件等。而通過編寫批處理腳本文件能夠把大量的基本功能組合成實現(xiàn)復雜功能的應用程序。 用戶可以根據(jù)實現(xiàn)功能要求編寫批處理腳本文件,也可以采用開發(fā)系統(tǒng)中預定義的一些典 型的開發(fā)腳本,或者在典型開發(fā)腳本上加以修改以適應自定義功能的實現(xiàn)。例如配置目 標機器為ARM9的嵌入式處理器,操作系統(tǒng)為Linux,圖形界面為X窗口的。開發(fā)一個簡單 的圖片瀏覽器,創(chuàng)建指定區(qū)域,在指定區(qū)域內(nèi)顯示圖片,并在指定區(qū)域內(nèi)創(chuàng)建五個按鈕, 分別實現(xiàn)打開圖片、放大圖片、縮小圖片、全屏顯示圖片、退出程序的功能。對于以上類 似的比較復雜的應用程序,用戶只需要編寫一個簡短的批處理腳本文件,開發(fā)系統(tǒng)就會批 處理腳本文件根據(jù)自動生成實現(xiàn)該功能的應用程序。所述命令處理單元120用于查詢命令庫,解析用戶通過所述操作接口 1 IO輸入的命令, 獲得所述命令對應的系統(tǒng)管理函數(shù)標識,并根據(jù)該標識調(diào)用對應的系統(tǒng)管理函數(shù)處理所述 命令。所述命令處理單元120包括命令接收模塊121、命令庫122、命令解析模塊123和命令 執(zhí)行模塊124。其中,所述命令接收模塊121接收用戶通過所述操作接口 1 IO輸入的用于開 發(fā)特定功能的嵌入式應用程序的開發(fā)指令,所述指令為預定格式的命令;所述命令庫122 存儲嵌入式應用程序開發(fā)的命令和系統(tǒng)管理函數(shù)的對應關系,該對應關系可以是嵌入式應 用程序開發(fā)的命令和系統(tǒng)管理函數(shù)的索引表,該索引表中枚舉了對嵌入式應用程序進行開 發(fā)和配置的系統(tǒng)管理函數(shù);所述命令解析模塊123通過在所述命令庫122中查詢對應的命 令,以此解析用戶輸入的命令并獲得對應的系統(tǒng)管理函數(shù)標識和參數(shù),所述標識可以是地 址,函數(shù)名等;所述命令執(zhí)行模塊124則根據(jù)所述系統(tǒng)管理函數(shù)標識和參數(shù)來調(diào)用對應的 系統(tǒng)管理函數(shù)。當然,用戶可以通過所述操作接口 11 O輸入配置命令,向所述命令庫122中添加自定義 命奪。所述命令解析模塊123通過查詢所迷命令庫122中用戶輸入的命令和系統(tǒng)管理函數(shù)的對 應關系,解析得到命令對應的系統(tǒng)管理函數(shù)。對于單個命令行,經(jīng)所述命令解析模塊123 解析后,由所述命令執(zhí)行模塊124直接執(zhí)行;而對于批處理腳本文件,要先保存至緩存, 由所述命令解析模塊123逐行解析,再由所述命令執(zhí)行模塊124調(diào)用相應的系統(tǒng)管理函數(shù)來 執(zhí)行。所述系統(tǒng)管理單元130供所述命令處理單元120調(diào)用其中的系統(tǒng)管理函數(shù),生成對應的 開發(fā)代碼,并調(diào)用所述應用程序接口庫140作進程編譯操作,并將生成的可執(zhí)行應用程序 返回給用戶。所述系統(tǒng)管理單元130包括系統(tǒng)管理函數(shù)庫131、代碼生成模塊132、接口調(diào)用模塊133 和編譯鏈接模塊134。所述代碼生成模塊132調(diào)用所述系統(tǒng)管理函數(shù)庫131中的系統(tǒng)管理函 數(shù),并生成相應開發(fā)代碼;所述接口調(diào)用模塊133根據(jù)用戶配置的目標機器環(huán)境在所述應 用程序庫140中篩選相應的應用程序接口 ;所述編譯鏈接模塊134調(diào)用所述接口調(diào)用模塊 133篩選出來的應用程序接口,對所述代碼生成模塊132生成的開發(fā)代碼進行編譯,生成中 間模塊,然后再根據(jù)目標環(huán)境配置將篩選出來的應用程序接口的目標模塊與生成的中間模塊進行鏈接,最終生成的可執(zhí)行應用程序文件,并將應用程序文件返回至所述操作接口 110。所述應用程序接口庫140為嵌入式應用程序的開發(fā)系統(tǒng)與目標系統(tǒng)的應用編程接口 ,用 戶向所述應用程序接口庫140中寫入與待開發(fā)目標系統(tǒng)兼容的應用程序接口 (或應用程序 接口函數(shù)),所述系統(tǒng)管理單元130就會調(diào)用相關的應用程序接口對生成代碼進行編譯鏈 接操作,最終生成應于嵌入式應用程序的可執(zhí)行應用程序文件。當然,用戶在使用開發(fā)系統(tǒng)進行開發(fā)嵌入式應用程序之前,需要先把目標系統(tǒng)的應用 程序接口移植到此開發(fā)系統(tǒng)中,并將目標機器的硬件環(huán)境和操作系統(tǒng)環(huán)境配置到開發(fā)系統(tǒng) 中。結(jié)合圖2所示,用戶使用本發(fā)明的嵌入式應用程序開發(fā)系統(tǒng)進行嵌入式應用程序開發(fā), 包括如下流程步驟S201 、用戶通過操作接口輸入對嵌入式應用程序開發(fā)系統(tǒng)的配置或者開發(fā)命令。 步驟S202、命令處理單元解析用戶輸入命令,通過查詢命令庫獲得命令對應的系統(tǒng)管理函數(shù)或系統(tǒng)管理函數(shù)標識。步驟S203、系統(tǒng)管理單元根據(jù)解析出來的標識調(diào)用對應的系統(tǒng)管理函數(shù)配置開發(fā)環(huán)境和目標機器環(huán)境,注冊相應的開發(fā)接口和目標模塊。步驟S204、系統(tǒng)管理單元根據(jù)解析出來的標識調(diào)用對應的系統(tǒng)管理函數(shù),并根據(jù)已配 置好的開發(fā)環(huán)境生成開發(fā)代碼。步驟S205、所述系統(tǒng)管理函數(shù)調(diào)用應用程序接口庫中對應的應用程序接口對生成的開 發(fā)代碼進行編譯操作,生成中間模塊。步驟S206、所述系統(tǒng)管理函數(shù)根據(jù)目標環(huán)境配置將步驟S203注冊的目標模塊與步驟 S205生成的中間模塊進鏈接操作,生成可執(zhí)行應用程序文件。步驟S207、將可執(zhí)行應用程序文件返回至用戶接口。綜上,本發(fā)明具有如下有益技術效果1、 本發(fā)明提出的嵌入式應用程序開發(fā)系統(tǒng),使開發(fā)人員在開發(fā)特定操作系統(tǒng)下的嵌入 式應用程序時,無需掌握特定操作系統(tǒng)的應用程序接口,僅需輸入對應于開發(fā)嵌入式應用 程序的命令行或批處理文件,即可快速的完成特定嵌入式應用程序的開發(fā)工作,有利于提 高開發(fā)嵌入式應用程序的工作效率和降低開發(fā)難度;2、 本發(fā)明開發(fā)的嵌入式應用程序具有較好的移植性,當需要將基于一個操作系統(tǒng)的嵌 入式應用程序移植到另 一個操作系統(tǒng)時,僅需要通過配置命令重新配置嵌入式應用程序的 目標機器環(huán)境即可。因此,本發(fā)明是一種通用的嵌入式應用程序開發(fā)系統(tǒng),具有較好的適 用性,能廣泛用于基于各種操作系統(tǒng)下的嵌入式應用程序的開發(fā)。
權(quán)利要求
1、一種嵌入式應用程序的開發(fā)系統(tǒng),其特征在于,包括操作接口,用于輸入開發(fā)嵌入式應用程序的命令并獲得命令的返回結(jié)果;命令處理單元,與所述操作接口連接,用于接收所述命令,并對所述命令作解析和執(zhí)行處理;應用程序接口庫,用于存儲不同目標機器環(huán)境下用于嵌入式應用程序開發(fā)的系統(tǒng)接口系統(tǒng)管理單元,與所述操作接口、所述命令處理單元和所述應用程序接口庫連接,用于根據(jù)所述命令處理單元對所述命令的處理結(jié)果,調(diào)用對應所述處理結(jié)果的系統(tǒng)管理函數(shù)來生成開發(fā)代碼,并根據(jù)開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境從所述應用程序接口庫中調(diào)用相應的應用程序接口,對所述開發(fā)代碼作編譯和鏈接處理,生成可執(zhí)行應用程序文件。
2、 根據(jù)權(quán)利要求1所述的嵌入式應用程序的開發(fā)系統(tǒng),其特征在于,所述命令處理 單元包括命令接收模塊,與所述操作接口連接,用于接收從所述操作接口輸入的開發(fā)嵌入式應 用程序的命令;命令庫,用于存儲所述命令與所述系統(tǒng)管理單元中的系統(tǒng)管理函數(shù)的對應關系; 命令解析模塊,用于在所述命令庫中查詢所述命令與系統(tǒng)管理函數(shù)的對應關系,獲得所述命令對應的系統(tǒng)管理函數(shù)標識;命令執(zhí)行模塊,用于根據(jù)系統(tǒng)管理函數(shù)標識,向所述系統(tǒng)管理單元調(diào)用相應的系統(tǒng)管理函數(shù)。
3、 根據(jù)權(quán)利要求2所述的嵌入式應用程序的開發(fā)系統(tǒng),其特征在于,所述對應關系 是開發(fā)嵌入式應用程序的命令和系統(tǒng)管理函數(shù)的索引表。
4、 根據(jù)權(quán)利要求2所述的嵌入式應用程序的開發(fā)系統(tǒng),其特征在于,所述系統(tǒng)管理 函數(shù)標識為系統(tǒng)管理函數(shù)的地址或函數(shù)名。
5、 根據(jù)權(quán)利要求1所述的嵌入式應用程序的開發(fā)系統(tǒng),其特征在于,所述系統(tǒng)管理 單元包括系統(tǒng)管理函數(shù)庫,用于存儲系統(tǒng)管理函數(shù);代碼生成模塊,用.于根據(jù)所述命令處理單元對所述命令的處理結(jié)果,調(diào)用對應所述處 理結(jié)果的系統(tǒng)管理函數(shù)來生成開發(fā)代碼;接口調(diào)用模塊,用于根據(jù)開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境,從所述應用程序 接口庫中調(diào)用相應的應用程序接口;編譯鏈接模塊,用于根據(jù)所述接口調(diào)用模塊調(diào)用的應用程序接口 ,對所述代碼生成的 開發(fā)代碼作編譯處理,生成中間模塊,并將該應用程序接口的目標模塊與生成的中間模塊 作鏈接處理,生成可執(zhí)行應用程序文件。
6、 根據(jù)權(quán)利要求1至5任何一項所述的嵌入式應用程序的開發(fā)系統(tǒng),其特征在于, 所述命令包括用于開發(fā)嵌入式應用程序的開發(fā)命令;以及用于配置所述應用程序接口庫和開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境的配 置命令。
7、 根據(jù)權(quán)利要求6所述的嵌入式應用程序的開發(fā)系統(tǒng),其特征在于,所述命令為命 令行或批處理腳本文件;所述命令包括命令字符串的參數(shù)字符串的預定格式,其中,所述 參數(shù)字符串為一個字符或多個字符,或為空。
8、 一種嵌入式應用程序的開發(fā)方法,其特征在于,包括步驟 輸入開發(fā)嵌入式應用程序的命令;解析并執(zhí)行所述命令,調(diào)用對應所述命令的系統(tǒng)管理函數(shù),生成開發(fā)代碼; 根據(jù)開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境調(diào)用相應的應用程序接口 ,對所述開發(fā) 代碼作編i,和鏈4妄處理;生成可執(zhí)行應用程序文件。
9、 根據(jù)權(quán)利要求8所述的嵌入式應用程序的開發(fā)方法,其特征在于,所述命令包括 用于開發(fā)嵌入式應用程序的開發(fā)命令;以及用于配置所述應用程序接口庫和開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境的配 置命令。
10、 根據(jù)權(quán)利要求9所述的嵌入式應用程序的開發(fā)方法,其特征在于,所述命令為命 令行或批處理腳本文件;所述命令包括命令字符串的參數(shù)字符串的預定格式,其中,所述 參數(shù)字符串為一個字符或多個字符,或為空。
全文摘要
本發(fā)明公開一種嵌入式應用程序的開發(fā)系統(tǒng)及方法,該系統(tǒng)包括用于輸入開發(fā)嵌入式應用程序的命令并獲得命令的返回結(jié)果的操作接口;用于對所述命令作解析和執(zhí)行處理的命令處理單元;應用程序接口庫;用于根據(jù)所述命令處理單元對所述命令的處理結(jié)果,調(diào)用對應所述處理結(jié)果的系統(tǒng)管理函數(shù)來生成開發(fā)代碼,并根據(jù)開發(fā)嵌入式應用程序?qū)哪繕藱C器環(huán)境從所述應用程序接口庫中調(diào)用相應的應用程序接口,對所述開發(fā)代碼作編譯和鏈接處理,生成可執(zhí)行應用程序文件的系統(tǒng)管理單元。本發(fā)明是一種通用的嵌入式應用程序開發(fā)系統(tǒng),提高了開發(fā)嵌入式應用程序的工作效率,降低了開發(fā)的難度,且具有較好的適用性,能廣泛用于基于各種操作系統(tǒng)下的嵌入式應用程序的開發(fā)。
文檔編號G06F9/44GK101256482SQ200710125240
公開日2008年9月3日 申請日期2007年12月19日 優(yōu)先權(quán)日2007年12月19日
發(fā)明者朱春林 申請人:深圳市同洲電子股份有限公司