專利名稱:Osd應(yīng)用軟件的開(kāi)發(fā)方法、系統(tǒng)及多媒體終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電器領(lǐng)域,具體而言,涉及一種OSD應(yīng)用軟件的開(kāi)發(fā)方法、系統(tǒng)及多媒 體終端。
背景技術(shù):
隨著數(shù)字化領(lǐng)域的發(fā)展,數(shù)字化產(chǎn)品層出不窮,尤其是數(shù)字電視機(jī)和機(jī)頂盒的迅 速普及,帶給人們前所未有的視聽(tīng)享受。并且,視頻多媒體正以更加快速的發(fā)展速度滲透到 人們的日常生活的各個(gè)角落。
OSD應(yīng)用軟件是電視應(yīng)用軟件系統(tǒng)中的關(guān)鍵模塊,電視OSD應(yīng)用軟件的開(kāi)發(fā)工作 量,約占整個(gè)電視應(yīng)用軟件的2/5左右。對(duì)于生產(chǎn)商而言,產(chǎn)品的更新?lián)Q代周期日益縮短, 這就給OSD應(yīng)用軟件是產(chǎn)品的研發(fā)帶來(lái)了巨大的挑戰(zhàn),因此,一種方便可行的研發(fā)工具勢(shì) 必會(huì)成為研發(fā)工作者的得力助手。
針對(duì)上述現(xiàn)有技術(shù)的開(kāi)發(fā)模型中,無(wú)法無(wú)縫整合OSD硬件、驅(qū)動(dòng)及應(yīng)用,從而導(dǎo)致 軟、硬件系統(tǒng)功能聯(lián)調(diào)效率低、兼容性差的問(wèn)題,目前尚未提出有效的解決方案。發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種OSD應(yīng)用軟件的開(kāi)發(fā)方法、系統(tǒng)及多媒體終端, 以解決現(xiàn)有技術(shù)的開(kāi)發(fā)模型中,無(wú)法無(wú)縫整合OSD硬件、驅(qū)動(dòng)及應(yīng)用,從而導(dǎo)致軟、硬件系 統(tǒng)功能聯(lián)調(diào)效率低、兼容性差的問(wèn)題。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一方面,提供了一種OSD應(yīng)用軟件的開(kāi)發(fā)系統(tǒng)。
根據(jù)本發(fā)明的OSD應(yīng)用軟件的開(kāi)發(fā)系統(tǒng)包括設(shè)計(jì)單元,用于定制OSD應(yīng)用軟件的 數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)與OSD硬件相匹配;編譯單元,用于編譯數(shù)據(jù)結(jié)構(gòu)以獲取以下一個(gè)或多 個(gè)文件的組合頭文件、源文件以及中間層文件,并將頭文件隨源文件一起編譯成可執(zhí)行文 件;硬件驅(qū)動(dòng)單元,通過(guò)硬件CPU及OSD模塊來(lái)接收并運(yùn)行可執(zhí)行文件;顯示單元,用于顯 示可執(zhí)行文件的運(yùn)行結(jié)果。
進(jìn)一步地,系統(tǒng)還包括仿真單元,用于從內(nèi)存中調(diào)用中間層文件,以模擬OSD應(yīng) 用軟件;調(diào)試單元,用于獲取仿真單元的模擬結(jié)果,調(diào)試模擬結(jié)果。
進(jìn)一步地,系統(tǒng)還包括資源生成單元,用于根據(jù)OSD硬件的驅(qū)動(dòng)數(shù)據(jù)結(jié)構(gòu)來(lái)設(shè)計(jì) 并生成各種UI資源,以使得設(shè)計(jì)單元根據(jù)用戶需求選擇資源生成單元中生成的各種UI資 源。
進(jìn)一步地,系統(tǒng)還包括在設(shè)計(jì)單元和資源生成單元之間設(shè)置定制單元,定制單元 用于在設(shè)計(jì)單元和資源生成單元之間建立映射關(guān)系,并根據(jù)映射關(guān)系來(lái)同步設(shè)計(jì)單元與資 源生成單元相對(duì)應(yīng)的數(shù)據(jù)。
進(jìn)一步地,系統(tǒng)還包括驅(qū)動(dòng)適配單元,設(shè)置于設(shè)計(jì)單元和編譯單元之間,用于為 OSD應(yīng)用軟件提供用于功能調(diào)用的適配接口,通過(guò)適配接口調(diào)用應(yīng)用軟件的一個(gè)或多個(gè)功 能函數(shù),其中,驅(qū)動(dòng)適配單元包括應(yīng)用適配接口,通過(guò)應(yīng)用適配接口獲取應(yīng)用軟件的一個(gè)或多個(gè)功能函數(shù);驅(qū)動(dòng)適配接口,通過(guò)驅(qū)動(dòng)適配接口獲取可執(zhí)行文件;調(diào)用模塊,設(shè)置在應(yīng) 用適配接口和驅(qū)動(dòng)適配接口之間,用于通過(guò)動(dòng)態(tài)函數(shù)指針自動(dòng)調(diào)用可執(zhí)行文件對(duì)應(yīng)的任意 一個(gè)或多個(gè)功能函數(shù)。
進(jìn)一步地,調(diào)用模塊所調(diào)用的一個(gè)或多個(gè)功能函數(shù)包括可重用的通用功能函數(shù)和 根據(jù)OSD硬件芯片屬性來(lái)確定的特定功能函數(shù)。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一個(gè)方面,提供了一種OSD應(yīng)用軟件的開(kāi)發(fā)方法。
根據(jù)本發(fā)明的OSD應(yīng)用軟件的開(kāi)發(fā)方法包括設(shè)計(jì)單元定制OSD應(yīng)用軟件的數(shù)據(jù) 結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)與OSD硬件相匹配;編譯UI資源的數(shù)據(jù)結(jié)構(gòu)以獲取以下一個(gè)或多個(gè)文件的 組合頭文件、源文件以及中間層文件,并將頭文件隨源文件一起編譯成可執(zhí)行文件;通過(guò) 硬件CPU及OSD模塊來(lái)接收并運(yùn)行可執(zhí)行文件;顯示可執(zhí)行文件的運(yùn)行結(jié)果。
進(jìn)一步地,在編譯UI資源的數(shù)據(jù)結(jié)構(gòu)以獲取以下一個(gè)或多個(gè)文件的組合頭文 件、源文件以及中間層文件,并將頭文件隨源文件一起編譯成可執(zhí)行文件之后,方法還包 括從內(nèi)存中調(diào)用中間層文件,以模擬OSD應(yīng)用軟件;獲取仿真單元的模擬結(jié)果,并調(diào)試模 擬結(jié)果。
進(jìn)一步地,在設(shè)計(jì)單元定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu)之前,方法還包括用于根據(jù) OSD硬件的驅(qū)動(dòng)數(shù)據(jù)結(jié)構(gòu)來(lái)設(shè)計(jì)并生成各種UI資源,以使得設(shè)計(jì)單元根據(jù)用戶需求選擇資 源生成單元中生成的各種UI資源。
進(jìn)一步地,在設(shè)計(jì)單元定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu)之后,方法還包括在設(shè)計(jì)單 元和資源生成單元之間建立映射關(guān)系,并根據(jù)映射關(guān)系同步設(shè)計(jì)單元與資源生成單元相對(duì) 應(yīng)的數(shù)據(jù)。
進(jìn)一步地,在定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu)之后,方法還包括根據(jù)預(yù)設(shè)條件定義 OSD應(yīng)用軟件的第一用戶界面的UI資源中的虛擬資源,虛擬資源為UI資源中使用頻率高的 一個(gè)或多個(gè)元素,其中,UI資源包括圖片背景、菜單以及圖片背景和菜單上的一個(gè)或多個(gè) 控件;調(diào)用虛擬資源來(lái)創(chuàng)建OSD應(yīng)用軟件的第二用戶界面的UI資源。
進(jìn)一步地,根據(jù)預(yù)設(shè)條件定義OSD應(yīng)用軟件的第一用戶界面的UI資源中的虛擬資 源的步驟包括判斷UI資源中的一個(gè)或多個(gè)元素的使用頻率是否超過(guò)預(yù)定次數(shù),其中,如 果超過(guò)預(yù)定次數(shù),則將使用頻率超過(guò)預(yù)定次數(shù)的每個(gè)元素定義為虛擬資源保存至快速存儲(chǔ) 器中,否則,將使用頻率在預(yù)定次數(shù)內(nèi)的每個(gè)元素保存至閃存中。
進(jìn)一步地,調(diào)用虛擬資源來(lái)創(chuàng)建OSD應(yīng)用軟件的第二用戶界面的UI資源的步驟包 括判斷虛擬資源在第一用戶界面上的坐標(biāo)位置和大小是否與第二用戶界面的UI資源的 坐標(biāo)位置和大小相同,其中,當(dāng)坐標(biāo)位置相同且大小相同時(shí),調(diào)用虛擬資源創(chuàng)建第二用戶界 面的UI資源,否則,退出調(diào)用虛擬資源的步驟。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的再一方面,提供了一種多媒體終端,該多媒體終 端包括上述任意一種OSD應(yīng)用軟件的開(kāi)發(fā)系統(tǒng)。
通過(guò)本發(fā)明,采用設(shè)計(jì)單元,用于定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)與 OSD硬件相匹配;編譯單元,根據(jù)數(shù)據(jù)結(jié)構(gòu)來(lái)編譯UI資源以獲取以下一個(gè)或多個(gè)文件的組 合頭文件、源文件以及中間層文件,并將頭文件隨源文件一起編譯成可執(zhí)行文件;硬件驅(qū) 動(dòng)單元,通過(guò)硬件CPU及OSD模塊來(lái)接收并運(yùn)行可執(zhí)行文件;顯示單元,用于顯示可執(zhí)行文件的運(yùn)行結(jié)果,解決了現(xiàn)有技術(shù)的開(kāi)發(fā)模型中,無(wú)法無(wú)縫整合OSD硬件、驅(qū)動(dòng)及應(yīng)用,從而 導(dǎo)致軟、硬件系統(tǒng)功能聯(lián)調(diào)效率低、兼容性差的問(wèn)題,達(dá)到了提高研發(fā)人員的工作效率,節(jié) 省了研發(fā)成本的效果。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā) 明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中
圖1是根據(jù)本發(fā)明實(shí)施例的OSD應(yīng)用軟件的模型及工具的功能結(jié)構(gòu)示意圖2是根據(jù)本發(fā)明實(shí)施例的OSD應(yīng)用軟件的開(kāi)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖3是根據(jù)本發(fā)明實(shí)施例的OSD應(yīng)用軟件的開(kāi)發(fā)方法的流程圖;以及
圖4是根據(jù)本發(fā)明實(shí)施例的OSD應(yīng)用軟件的設(shè)計(jì)模型與編譯模型的工作流程圖。
具體實(shí)施方式
需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相 互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
本發(fā)明提供了一種OSD應(yīng)用軟件的開(kāi)發(fā)系統(tǒng)。圖1是根據(jù)本發(fā)明實(shí)施例的OSD應(yīng) 用軟件的模型及工具的功能結(jié)構(gòu)示意圖。如圖1所示,該功能結(jié)構(gòu)包括OSD模型的設(shè)計(jì)及 運(yùn)行過(guò)程、軟件的仿真過(guò)程,以及自動(dòng)編譯調(diào)試并顯示的過(guò)程。其中,在OSD模型的設(shè)計(jì)及 運(yùn)行的過(guò)程中,系統(tǒng)對(duì)OSD應(yīng)用軟件的UI資源、框架以及功能模型進(jìn)行設(shè)計(jì),并對(duì)設(shè)計(jì)好的 源代碼進(jìn)行調(diào)試和運(yùn)行,生成對(duì)應(yīng)的設(shè)計(jì)控件以及控件和模版,并通過(guò)仿真上述過(guò)程中的 文件來(lái)實(shí)現(xiàn)軟件的仿真過(guò)程,從功能上替代SOC OSD硬件,進(jìn)行純軟件的仿真演示,為調(diào)試 工具提供調(diào)試基礎(chǔ),進(jìn)一步的,在自動(dòng)編譯調(diào)試并顯示的過(guò)程中,實(shí)現(xiàn)用戶的TV輸入、應(yīng)用 模型、消息的調(diào)試并進(jìn)行自動(dòng)測(cè)試,將最終結(jié)果通過(guò)視頻顯示。
圖2是根據(jù)本發(fā)明實(shí)施例的OSD應(yīng)用軟件的開(kāi)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示, 該OSD應(yīng)用軟件的開(kāi)發(fā)系統(tǒng)包括設(shè)計(jì)單元,用于定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu)(例如,可 以是OSD應(yīng)用軟件的UI資源的數(shù)據(jù)結(jié)構(gòu)),通常情況下根據(jù)用戶需求來(lái)定制該數(shù)據(jù)結(jié)構(gòu),且 該數(shù)據(jù)結(jié)構(gòu)(可以是UI資源的數(shù)據(jù)結(jié)構(gòu))與OSD硬件相匹配;編譯單元,根據(jù)數(shù)據(jù)結(jié)構(gòu)來(lái) 編譯UI資源以獲取以下一個(gè)或多個(gè)文件的組合頭文件、源文件以及中間層文件,并將頭 文件隨源文件一起編譯成可執(zhí)行文件;硬件驅(qū)動(dòng)單元,通過(guò)硬件CPU及OSD模塊來(lái)接收并運(yùn) 行可執(zhí)行文件;顯示單元,用于顯示可執(zhí)行文件的運(yùn)行結(jié)果。
本發(fā)明實(shí)施例的開(kāi)發(fā)系統(tǒng)模型可設(shè)計(jì)單元實(shí)現(xiàn)OSD繪制人員在工具軟件中通過(guò) 拖拉控件、設(shè)定菜單結(jié)構(gòu)層次屬性來(lái)達(dá)到OSD UI設(shè)計(jì)目的,再通過(guò)編譯單元編譯輸出對(duì)應(yīng) 代碼源文件,最后可以將生成的源文件自動(dòng)導(dǎo)入芯片軟件項(xiàng)目,綜合編譯輸出SOC芯片運(yùn) 行數(shù)據(jù),下載至芯片中,SOC芯片視頻輸出和工具軟件繪制,以及模型中仿真顯示完全一致 的OSD程序。這種在OSD的設(shè)計(jì)環(huán)節(jié)中,引入設(shè)計(jì)單元(設(shè)計(jì)器)及編譯單元(編譯器) 兩個(gè)模型,從而提高開(kāi)發(fā)效率,實(shí)現(xiàn)所見(jiàn)即所得的開(kāi)發(fā)理念。利用上述開(kāi)發(fā)系統(tǒng)提高了研發(fā) 人員開(kāi)發(fā)電視OSD應(yīng)用軟件的效率,節(jié)省了成本。
在上述實(shí)施例的基礎(chǔ)上,本發(fā)明的開(kāi)發(fā)系統(tǒng)還可以包括仿真單元,用于從內(nèi)存中 調(diào)用中間層文件,以模擬OSD應(yīng)用軟件;調(diào)試單元,用于獲取仿真單元的模擬結(jié)果,調(diào)試模擬結(jié)果。本發(fā)明的編譯單元生成源代碼可依據(jù)OSD硬件的驅(qū)動(dòng)數(shù)據(jù)結(jié)構(gòu),預(yù)編譯生成可在 仿真環(huán)境中運(yùn)行的中間性數(shù)據(jù),經(jīng)過(guò)軟件自動(dòng)化仿真測(cè)試,直至應(yīng)用程序滿足用戶需求。該 實(shí)施例多應(yīng)用于OSD測(cè)試工作,尤其在OSD應(yīng)用軟件的開(kāi)發(fā)過(guò)程中進(jìn)行測(cè)試并調(diào)試,直到滿 足用戶的需求。
基于上述開(kāi)發(fā)系統(tǒng)的模型,可以將其分為4層。即可視化IDE設(shè)計(jì)層,在該設(shè)計(jì) 層可以自行選擇拖拉控件,進(jìn)行可視化制作菜單的;OSD編譯層可以生成芯片所需要的源 文件(.c文件)和頭文件(.h文件),以及軟件仿真所需要的中間層文件;軟件仿真層是在 Windows下面,可以模擬芯片里OSD菜單的顯示,菜單操作等動(dòng)作的過(guò)程,便于設(shè)計(jì)人員調(diào) 試;硬件運(yùn)行層,實(shí)現(xiàn)在仿真系統(tǒng)調(diào)試完后,將OSD編譯層生成的.c文件和.h文件加入到 整個(gè)工程,通過(guò)硬件CPU及OSD模塊對(duì)應(yīng)的編譯器進(jìn)行編譯生成bin文件,并將該文件下載 至OSD運(yùn)行芯片中,芯片運(yùn)行后,OSD輸出和軟件仿真過(guò)程中顯示的一樣的菜單。
優(yōu)選的,本發(fā)明的開(kāi)發(fā)系統(tǒng)還可以包括資源生成單元,用于根據(jù)OSD硬件的驅(qū)動(dòng) 數(shù)據(jù)結(jié)構(gòu)來(lái)設(shè)計(jì)生成OSD應(yīng)用軟件上的各種UI資源,以供設(shè)計(jì)單元使用,使得設(shè)計(jì)單元根 據(jù)用戶需求選擇資源生成單元中生成的各種UI資源,其中,所述UI資源包括以下一個(gè)或多 個(gè)元素的組合字庫(kù)、字符、窗口、菜單、項(xiàng)目條、背景、控件按鈕以及圖片數(shù)據(jù)。
本發(fā)明的上述開(kāi)發(fā)系統(tǒng)還可以包括在設(shè)計(jì)單元和資源生成單元之間設(shè)置定制單 元,定制單元用于在設(shè)計(jì)單元和資源生成單元之間建立映射關(guān)系,并根據(jù)映射關(guān)系來(lái)同步 設(shè)計(jì)單元與資源生成單元相對(duì)應(yīng)的數(shù)據(jù),即實(shí)現(xiàn)在設(shè)計(jì)單元更新OSD應(yīng)用軟件UI資源的數(shù) 據(jù)結(jié)構(gòu)的時(shí)候,同步更新資源生成單元上對(duì)應(yīng)的UI資源,或者,在資源生成單元更新已生 成的UI資源的時(shí)候,同步更新設(shè)計(jì)單元上對(duì)應(yīng)的UI資源的數(shù)據(jù)結(jié)構(gòu)。該步驟實(shí)現(xiàn)設(shè)計(jì)單 元的模版與資源生成單元生成的UI資源之間(例如,控件)的雙重機(jī)制引入,即他們之間 建立映射的對(duì)應(yīng)關(guān)系,以實(shí)現(xiàn)同步更新的功能,由于模版中的UI資源數(shù)據(jù)都是從生成單元 中拖過(guò)來(lái)的,故使用本定制單元可以實(shí)現(xiàn)當(dāng)模版發(fā)生修改的時(shí)候與其對(duì)應(yīng)的生成單元中的 數(shù)據(jù)也相應(yīng)性的UI資源的數(shù)據(jù)也自動(dòng)更新,反之,當(dāng)修改生成單元中的UI資源的數(shù)據(jù)的時(shí) 候,使用該UI資源數(shù)據(jù)的模版中對(duì)應(yīng)的數(shù)據(jù)也對(duì)應(yīng)更新,這種通過(guò)項(xiàng)目模版修改及控件定 制方式可以實(shí)現(xiàn)OSD應(yīng)用軟件的靈活擴(kuò)展。
在本發(fā)明上述開(kāi)發(fā)系統(tǒng)中還包括驅(qū)動(dòng)適配單元,設(shè)置于設(shè)計(jì)單元和編譯單元之 間,用于為OSD應(yīng)用軟件的每個(gè)功能提供適配接口,通過(guò)適配接口調(diào)用應(yīng)用軟件的一個(gè)或 多個(gè)功能函數(shù),其中,驅(qū)動(dòng)適配單元包括應(yīng)用適配接口,通過(guò)應(yīng)用適配接口獲取應(yīng)用軟件 的一個(gè)或多個(gè)功能函數(shù);驅(qū)動(dòng)適配接口,通過(guò)驅(qū)動(dòng)適配接口獲取可執(zhí)行文件;調(diào)用模塊,設(shè) 置在應(yīng)用適配接口和驅(qū)動(dòng)適配接口之間,用于通過(guò)動(dòng)態(tài)函數(shù)指針自動(dòng)調(diào)用可執(zhí)行文件對(duì)應(yīng) 的任意一個(gè)或多個(gè)功能函數(shù)。其中,調(diào)用模塊所調(diào)用的一個(gè)或多個(gè)功能函數(shù)包括可重用的 通用功能函數(shù)和根據(jù)OSD硬件芯片屬性來(lái)確定的特定功能函數(shù)。該實(shí)施例可以解決于電視 機(jī)或電視機(jī)機(jī)頂盒的OSD應(yīng)用程序移植性差導(dǎo)致開(kāi)發(fā)效率低,驗(yàn)證調(diào)試?yán)щy的問(wèn)題,通過(guò) 實(shí)現(xiàn)OSD應(yīng)用程序可移植,達(dá)到了提高研發(fā)人員的工作效率,節(jié)省了研發(fā)成本的效果。
上述實(shí)施例中的驅(qū)動(dòng)適配接口還可以包括第一驅(qū)動(dòng)適配接口,通過(guò)第一驅(qū)動(dòng)適 配接口調(diào)用第一硬件驅(qū)動(dòng)資源;第二驅(qū)動(dòng)適配接口,通過(guò)第二驅(qū)動(dòng)適配接口調(diào)用第二硬件 驅(qū)動(dòng)資源;其中,一個(gè)或多個(gè)功能函數(shù)包括可重用的通用功能函數(shù)和根據(jù)硬件芯片屬性 來(lái)確定的特定功能函數(shù),第一硬件驅(qū)動(dòng)資源對(duì)應(yīng)調(diào)用通用功能函數(shù),第二硬件驅(qū)動(dòng)資源對(duì)應(yīng)調(diào)用特定功能函數(shù)。
在該實(shí)施例中為設(shè)計(jì)單元和編譯單元之間引入驅(qū)動(dòng)適配層,該驅(qū)動(dòng)適配層提供的 驅(qū)動(dòng)適配單元可以通過(guò)提供適配接口來(lái)使得在應(yīng)用層的應(yīng)用軟件不修改的情況下,應(yīng)用層 可以適應(yīng)各種底層硬件,該系統(tǒng)應(yīng)用在電視機(jī)或電視機(jī)機(jī)頂盒的OSD軟件中,實(shí)現(xiàn)了提高 OSD程序的移植性,在每次新開(kāi)展項(xiàng)目或者項(xiàng)目改版時(shí),OSD程序不再需要投入大量的人力 物力去針對(duì)不同的芯片開(kāi)發(fā)應(yīng)用層界面。本發(fā)明的成功應(yīng)用,可給開(kāi)發(fā)人員提供快速、準(zhǔn) 確、高效的電視OSD應(yīng)用程序開(kāi)發(fā)模型及工具,提高了工作效率,節(jié)省了人力和時(shí)間成本。
上述實(shí)施例應(yīng)用的驅(qū)動(dòng)適配層是一個(gè)抽象層,可以通過(guò)將不同的硬件芯片OSD驅(qū) 動(dòng)(例如以研發(fā)的2501,2503,觀01型號(hào)的主板)(例如是負(fù)責(zé)顯示的模塊)中,不相同的 接口整理出來(lái),邏輯上可以是區(qū)分成第一驅(qū)動(dòng)適配接口和第二驅(qū)動(dòng)適配接口,分別對(duì)應(yīng)調(diào) 用驅(qū)動(dòng)中單獨(dú)封裝的不同性質(zhì)的模塊,針對(duì)需要經(jīng)常修改的模塊,設(shè)計(jì)成對(duì)于調(diào)試的人員 是可以配制的,而且是提供源代碼的;而對(duì)于各芯片的驅(qū)動(dòng)中相同的處理模塊,封閉成另外 的被另一個(gè)驅(qū)動(dòng)適配接口調(diào)用的模塊。這類模塊不會(huì)修改,以動(dòng)態(tài)庫(kù)方式提供給調(diào)試人員, 不提供源代碼的。這種設(shè)計(jì)方式提高了研發(fā)人員的開(kāi)發(fā)效率,在修改模塊較少的情況下,都 可以忽略不計(jì)修改的工作量。
本發(fā)明提供了一種OSD應(yīng)用軟件的開(kāi)發(fā)方法。圖3是根據(jù)本發(fā)明實(shí)施例的OSD應(yīng) 用軟件的開(kāi)發(fā)方法的流程圖。如圖3所示,該方法包括如下步驟
步驟S302,通過(guò)圖2中的設(shè)計(jì)單元來(lái)實(shí)現(xiàn)定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié) 構(gòu)與OSD硬件相匹配,可以根據(jù)用戶需求來(lái)定制。該步驟中的OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu)可 以是OSD應(yīng)用軟件的UI資源的數(shù)據(jù)結(jié)構(gòu),該UI資源的數(shù)據(jù)結(jié)構(gòu)與OSD硬件相匹配。
步驟S304,通過(guò)圖2中的編譯單元實(shí)現(xiàn)編譯UI資源的數(shù)據(jù)結(jié)構(gòu)以獲取以下一個(gè)或 多個(gè)文件的組合頭文件、源文件以及中間層文件,并將頭文件、源文件編譯成可執(zhí)行文件。
步驟S306,通過(guò)圖2中的硬件驅(qū)動(dòng)單元來(lái)實(shí)現(xiàn)通過(guò)硬件CPU及OSD模塊來(lái)接收并 運(yùn)行可執(zhí)行文件。
步驟S308,通過(guò)圖2中的顯示單元來(lái)顯示可執(zhí)行文件的運(yùn)行結(jié)果。
本發(fā)明這種在OSD的設(shè)計(jì)環(huán)節(jié)中,引入設(shè)計(jì)單元(設(shè)計(jì)器)及編譯單元(編譯器) 兩個(gè)模型,從而提高開(kāi)發(fā)效率,實(shí)現(xiàn)所見(jiàn)即所得的開(kāi)發(fā)理念。利用上述開(kāi)發(fā)系統(tǒng)提高了研發(fā) 人員開(kāi)發(fā)電視OSD應(yīng)用軟件的效率,節(jié)省了成本。
優(yōu)選的,本發(fā)明可以通過(guò)圖2中的資源生成單元實(shí)現(xiàn)根據(jù)OSD硬件的驅(qū)動(dòng)數(shù)據(jù)結(jié) 構(gòu)來(lái)設(shè)計(jì)生成OSD應(yīng)用軟件上的UI資源,以使得設(shè)計(jì)單元根據(jù)用戶需求選擇資源生成單元 中生成的各種UI資源,UI資源包括以下一個(gè)或多個(gè)元素的組合字庫(kù)、字符、窗口、菜單、項(xiàng) 目條、背景、控件按鈕以及圖片數(shù)據(jù)。該步驟中的圖片數(shù)據(jù)采用位圖UI資源切分、合并方 式,可以滿足基于芯片OCDW設(shè)計(jì)下OSDUI資源硬件填充需求。該實(shí)施例實(shí)現(xiàn)為設(shè)計(jì)單元提 供一個(gè)資源數(shù)據(jù)庫(kù),設(shè)計(jì)單元從該資源數(shù)據(jù)庫(kù)中提取需要的UI資源,該資源生成單元根據(jù) 各種OSD硬件的驅(qū)動(dòng)數(shù)據(jù)結(jié)構(gòu)及算法來(lái)生成各個(gè)UI資源對(duì)應(yīng)的計(jì)算機(jī)程序代碼,以便設(shè)計(jì) 單元即時(shí)的調(diào)用。
本發(fā)明上述實(shí)施例中,在編譯UI資源的數(shù)據(jù)結(jié)構(gòu)以獲取以下一個(gè)或多個(gè)文件的 組合頭文件、源文件以及中間層文件,并將頭文件、源文件編譯成可執(zhí)行文件之后,方法的 實(shí)現(xiàn)步驟還可以包括從內(nèi)存中調(diào)用中間層文件,以模擬OSD應(yīng)用軟件;獲取仿真單元的模擬結(jié)果,并調(diào)試模擬結(jié)果直至應(yīng)用軟件滿足用戶需求。該實(shí)施步驟實(shí)現(xiàn)OSD應(yīng)用軟件的仿 真調(diào)試,之所以可以做到在Windows系統(tǒng)下,以所見(jiàn)至所得的方式,對(duì)我們芯片OSD菜單的 調(diào)試。最根本的原因是,在Windows系統(tǒng)下,使用純軟件方式模擬了硬件OSD的功能。詳細(xì) 地展開(kāi)說(shuō),硬件OSD之所以能畫出東西來(lái),是操作OSD內(nèi)存(也就是顯存,現(xiàn)在都是雙顯存 的),顯存即FrameBuffer,類似于一個(gè)畫布。設(shè)計(jì)人員可以為每個(gè)像素填充它對(duì)應(yīng)的顏色, 就組成了一屏菜單。當(dāng)然,對(duì)于軟硬件的實(shí)現(xiàn),有一定的數(shù)據(jù)結(jié)構(gòu)支撐。例如
typedef struct StructOsdCharacterDispIayffords
{
tfford maskMode 1 ;
tfford addr:15;
tByte width:4 ;
tByte bIinkMode 1;
tByte doubIeLow 1;
tByte doubIeHeight 1;
tByte doubIeffidth 1;
tByte foreGround 3 ;
tByte height5 ;
tByte clut5 ;
tByte background 3 ;
} SOCDff ;
上述OSD應(yīng)用軟件的開(kāi)發(fā)主機(jī)(即PC機(jī))中,通過(guò)在PC的顯存(即PC FrameBuffer)中,分配一定的空間,使用 PC 的 Graphic Library 以及 Graphic Device Drivers。針對(duì)OSD菜單的操作,可以通過(guò)hput Device Drivers來(lái)實(shí)現(xiàn)捕獲動(dòng)作,消息處 理翻譯成對(duì)應(yīng)的OSD控制鍵值。從而完全模擬OSD的顯示及操作。
由上述實(shí)施例可知,本發(fā)明使用上述開(kāi)發(fā)方法的OSD應(yīng)用開(kāi)發(fā)模型及工具可以包 括 Widget Model、Design Model、Compile Model、Emluator Model、Debugger Model 五 個(gè)組件。Widget Model,作用為設(shè)計(jì)OSD控件,控件設(shè)計(jì)人員可依據(jù)OSD驅(qū)動(dòng)數(shù)據(jù)結(jié)構(gòu)及 算法,設(shè)計(jì)出多種使用控件;Design Model,提供給設(shè)計(jì)人員的可視化開(kāi)發(fā)工具,在設(shè)計(jì)器 中,拖拉控件、設(shè)置控件自身及關(guān)聯(lián)屬性,同時(shí)定義響應(yīng)動(dòng)作類別,從而完成OSD的定制; CompileModel,為編譯模型,可預(yù)編譯生成軟件仿真級(jí)代碼,供軟件仿真模型調(diào)用。也可編 譯生成源代碼文件,供SOC芯片CPU編譯器生成芯片運(yùn)行數(shù)據(jù)使用;Emluator Model,為仿 真組件,功能上替代SOC OSD硬件,進(jìn)行純軟件仿真演示;DebuggerModel,內(nèi)含調(diào)試工具, 可結(jié)合定義響應(yīng)動(dòng)作進(jìn)行調(diào)試。其中,設(shè)計(jì)單元中的模型模型設(shè)計(jì)器采用插件系統(tǒng)技術(shù),可 方便、快速進(jìn)行系統(tǒng)功能的增加、卸載,提高了開(kāi)發(fā)工作的效率;模型化編譯器可以支持預(yù) 處理及組態(tài)編譯功能,支持OSD驅(qū)動(dòng)數(shù)據(jù)結(jié)構(gòu)自導(dǎo)入及組件更新;通過(guò)加入OSD硬件模型, 即可全軟件仿真及自動(dòng)調(diào)試。
本發(fā)明實(shí)施例上述實(shí)施例中,在根據(jù)用戶需求選擇UI資源,來(lái)定制OSD應(yīng)用軟件 的數(shù)據(jù)結(jié)構(gòu)之后,方法還可以包括在設(shè)計(jì)單元和資源生成單元之間建立映射關(guān)系,并根據(jù) 映射關(guān)系同步設(shè)計(jì)單元與資源生成單元相對(duì)應(yīng)的數(shù)據(jù),實(shí)現(xiàn)在設(shè)計(jì)單元更新OSD應(yīng)用軟件//mask屬性 //字符地址//字符寬度=實(shí)際寬度-寬度偏移量 //0,不閃爍;1,閃爍 //doub IeHeight 為 1, doub IeLow 為 O Il高度縮放,O,不放大;ι,增大一倍 Il寬度縮放,0,不放大;1,增大一倍 //前景色I(xiàn)l字符高度=實(shí)際高度-偏移量 //顏色表索引組號(hào) Il背景色的數(shù)據(jù)結(jié)構(gòu)時(shí)候,同步更新資源生成單元上對(duì)應(yīng)的UI資源,或者,在資源生成單元更新已 生成的UI資源的時(shí)候,同步更新設(shè)計(jì)單元上對(duì)應(yīng)的UI資源的數(shù)據(jù)結(jié)構(gòu)。該實(shí)施例實(shí)現(xiàn)在 設(shè)計(jì)模版(Template)和生成的控件(Widget)之間引入雙重機(jī)制,可通過(guò)項(xiàng)目模板修改及 控件定制方式,進(jìn)行OSD擴(kuò)展。
本發(fā)明實(shí)施例上述實(shí)施例中,在定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu)之后,方法還包括 根據(jù)預(yù)設(shè)條件定義OSD應(yīng)用軟件的第一用戶界面的UI資源中的虛擬資源,虛擬資源為UI 資源中使用頻率高的一個(gè)或多個(gè)元素其中,UI資源包括圖片背景、菜單以及圖片背景和 菜單上的一個(gè)或多個(gè)控件;調(diào)用虛擬資源來(lái)創(chuàng)建OSD應(yīng)用軟件的第二用戶界面的UI資源。 該實(shí)施例通過(guò)創(chuàng)建虛擬資源(該虛擬資源為用戶界面上常用的UI資源),來(lái)使得在下一個(gè) 用戶界面生成時(shí),只需要調(diào)用已有的虛擬資源即可,不需要重復(fù)編譯相同的UI資源,這樣 提高了研發(fā)人員的工作效率。
優(yōu)選的,在上述實(shí)施例中根據(jù)預(yù)設(shè)條件定義OSD應(yīng)用軟件的第一用戶界面的UI 資源中的虛擬資源的步驟可以包括判斷UI資源中的一個(gè)或多個(gè)元素的使用頻率是否超 過(guò)預(yù)定次數(shù),其中,當(dāng)超過(guò)預(yù)定次數(shù)的時(shí)候,將使用頻率超過(guò)預(yù)定次數(shù)的每個(gè)元素定義為虛 擬資源保存至快速存儲(chǔ)器(例如SDRAM)中,否則,將使用頻率在預(yù)定次數(shù)內(nèi)的每個(gè)元素保 存至閃存FLASH中。該實(shí)施例中的自動(dòng)設(shè)置模塊實(shí)現(xiàn)一種自動(dòng)設(shè)置算法,系統(tǒng)通過(guò)該算法 實(shí)現(xiàn)計(jì)算UI資源中的各個(gè)元素在開(kāi)發(fā)過(guò)程中的使用頻率,對(duì)于使用頻率超過(guò)一定次數(shù)的 UI資源即設(shè)置為虛擬資源,以供另外的用戶界面調(diào)用,優(yōu)化了 CPUUI資源的處理方式。另 外的,該自動(dòng)設(shè)置模塊也可以是手動(dòng)設(shè)置模塊,可以實(shí)現(xiàn)在設(shè)置界面上選擇UI資源中的一 個(gè)或多個(gè)元素以獲取虛擬資源,并將虛擬資源保存至SDRAM中,該方法提供一種按照設(shè)計(jì) 需求在所有的UI資源中選擇虛擬資源的方案,該方案中的虛擬資源基本上可以按照也沒(méi) 標(biāo)準(zhǔn)設(shè)置或者按照研發(fā)人員的開(kāi)發(fā)經(jīng)驗(yàn)進(jìn)行設(shè)置。虛擬資源只是該模型里一個(gè)優(yōu)化CPUUI 資源處理的方式,在研發(fā)過(guò)程中可以很好的實(shí)現(xiàn)UI資源重用,能提高CPUUI資源讀取能力 25-30%。
本發(fā)明實(shí)施例中,調(diào)用虛擬資源來(lái)創(chuàng)建OSD應(yīng)用軟件的第二用戶界面的UI資源的 步驟可以包括判斷虛擬資源的在第一用戶界面上的坐標(biāo)位置和大小是否與第二用戶界面 的UI資源的坐標(biāo)位置和大小相同,其中,當(dāng)坐標(biāo)位置相同且大小相同時(shí),調(diào)用虛擬資源創(chuàng) 建第二用戶界面的UI資源,否則,退出調(diào)用虛擬資源的步驟。該步驟防止系統(tǒng)多次獲取虛 擬資源,降低了處理器的重復(fù)操作,提高了工作效率。
綜上所述,本發(fā)明作為電視OSD應(yīng)用開(kāi)發(fā)模型及工具,可完全基于軟件仿真環(huán)境 進(jìn)行調(diào)試,設(shè)計(jì)人員使用工具所繪制的OSD菜單,通過(guò)編譯模型,編譯輸出成對(duì)應(yīng)芯片所需 的位圖UI資源、菜單結(jié)構(gòu)數(shù)據(jù),兼容多種SOC視頻處理芯片。并且具有良好的移植性,可通 過(guò)移植軟件適配層,在多種SOC硬件平臺(tái)上運(yùn)行同一個(gè)OSD應(yīng)用程序。
圖4是根據(jù)本發(fā)明實(shí)施例的OSD應(yīng)用軟件的設(shè)計(jì)模型與編譯模型的工作流程 圖。如圖4所示,虛線1、2、3的步驟圖標(biāo)表示Compile Model中內(nèi)部數(shù)據(jù)關(guān)系,即Clut, Resource,Data之間的數(shù)據(jù)對(duì)應(yīng)關(guān)系。其中,Compile Model是整個(gè)模型中,最為復(fù)雜的組 件,為提高Compile對(duì)于Design的適配性,同時(shí)提高軟件的可移植性,在Compile Model的 設(shè)計(jì)中,引入面對(duì)對(duì)象編程模式,所有的功能的實(shí)現(xiàn)均面向?qū)ο蟆?br>
同時(shí)圖4也展示了一個(gè)完整OSD應(yīng)用軟件的資源創(chuàng)建、UI定制、編譯輸出過(guò)程。OSD軟件設(shè)計(jì)人員,在定制滿足用戶需求的UI時(shí),先在設(shè)計(jì)器中新建字庫(kù)、字符,使用新建 的字符組建字符串,構(gòu)建各種控件(包括但不限于靜態(tài)文本、動(dòng)態(tài)文本、數(shù)值文本、文本編 輯框、時(shí)間控件),同時(shí)加入圖片資源、圖片按鈕、進(jìn)度條以及各種動(dòng)畫控件。之后,根據(jù)設(shè)計(jì) 好的菜單父子、結(jié)構(gòu)關(guān)系,新建窗體及菜單,設(shè)置靜態(tài)屬性(坐標(biāo)、大小、類型等),關(guān)聯(lián)繼承 結(jié)構(gòu)層次,至此,完整的UI界面已定制構(gòu)建完成。編譯輸出過(guò)程,即點(diǎn)陣數(shù)據(jù)生成、數(shù)組資 源生成、顏色表排列、控件窗體布局,最后生成代碼文件(8個(gè)文件對(duì)和一個(gè)ASM文件,分別 為 OsdData、OsdLut> OsdLutlnfo、OsdResource、OsdString、OsdWidget、Osdltem、OsdMenu 文件對(duì)及OsdData. asm文件)。
需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的 計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不 同于此處的順序執(zhí)行所示出或描述的步驟。
本發(fā)明還提供了一種多媒體終端,該多媒體終端可以包括上述任一種OSD應(yīng)用軟 件的開(kāi)發(fā)系統(tǒng)。該多媒體終端可以是電視機(jī)或電視機(jī)機(jī)頂盒。即在任意一種多媒體終端上 都可以運(yùn)行本發(fā)明所涉及到的OSD應(yīng)用軟件的開(kāi)發(fā)系統(tǒng),使用該OSD應(yīng)用軟件的開(kāi)發(fā)方法 的多媒體終端的開(kāi)發(fā)過(guò)程快速、簡(jiǎn)便,在產(chǎn)品開(kāi)發(fā)及后期維護(hù)中有著顯著意義,尤其在電器 產(chǎn)品開(kāi)發(fā)過(guò)程中使用該方法有著操作簡(jiǎn)便,易用性高的效果。本發(fā)明涉及到的多媒體終端 可以是電視機(jī)、電視機(jī)機(jī)頂盒或者其他多媒體播放器等電器,使用范圍廣泛,兼容性好。
從以上的實(shí)施例描述中,可以看出,本發(fā)明實(shí)現(xiàn)了如下技術(shù)效果實(shí)現(xiàn)了一種簡(jiǎn)潔 高效的OSD應(yīng)用軟件開(kāi)發(fā)系統(tǒng),開(kāi)發(fā)過(guò)程中使用所見(jiàn)即所得的方式進(jìn)行OSD開(kāi)發(fā),大幅度提 高OSD開(kāi)發(fā)效率,降低錯(cuò)誤率。該發(fā)明方法簡(jiǎn)單,技術(shù)可行,尤其在研發(fā)過(guò)程中具有實(shí)用意 義。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ) 在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成多個(gè)集成電路模塊,或者將它們 中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的 硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種OSD應(yīng)用軟件的開(kāi)發(fā)系統(tǒng),其特征在于,包括設(shè)計(jì)單元,用于定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)與OSD硬件相匹配; 編譯單元,用于編譯所述數(shù)據(jù)結(jié)構(gòu)以獲取以下一個(gè)或多個(gè)文件的組合頭文件、源文件 以及中間層文件,并將所述頭文件隨所述源文件一起編譯成可執(zhí)行文件; 硬件驅(qū)動(dòng)單元,通過(guò)硬件CPU及OSD模塊來(lái)接收并運(yùn)行所述可執(zhí)行文件; 顯示單元,用于顯示所述可執(zhí)行文件的運(yùn)行結(jié)果。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括仿真單元,用于從內(nèi)存中調(diào)用所述中間層文件,模擬所述OSD應(yīng)用軟件在嵌入式平臺(tái) 的運(yùn)行;調(diào)試單元,用于獲取所述仿真單元的模擬結(jié)果,調(diào)試所述模擬結(jié)果。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括資源生成單元,用于根 據(jù)所述OSD硬件的驅(qū)動(dòng)數(shù)據(jù)結(jié)構(gòu)來(lái)設(shè)計(jì)并生成各種UI資源,以使得所述設(shè)計(jì)單元根據(jù)用戶 需求選擇所述資源生成單元中生成的所述各種UI資源。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括在所述設(shè)計(jì)單元和所述 資源生成單元之間設(shè)置定制單元,所述定制單元用于在所述設(shè)計(jì)單元和所述資源生成單元 之間建立映射關(guān)系,并根據(jù)所述映射關(guān)系來(lái)同步所述設(shè)計(jì)單元與所述資源生成單元相對(duì)應(yīng) 的數(shù)據(jù)。
5.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括驅(qū)動(dòng)適配單 元,設(shè)置于所述設(shè)計(jì)單元和所述編譯單元之間,用于為所述OSD應(yīng)用軟件提供用于功能調(diào) 用的適配接口,通過(guò)所述適配接口調(diào)用所述應(yīng)用軟件的一個(gè)或多個(gè)功能函數(shù),其中,所述驅(qū) 動(dòng)適配單元包括應(yīng)用適配接口,通過(guò)所述應(yīng)用適配接口獲取所述應(yīng)用軟件的一個(gè)或多個(gè)功能函數(shù); 驅(qū)動(dòng)適配接口,通過(guò)所述驅(qū)動(dòng)適配接口獲取所述可執(zhí)行文件;調(diào)用模塊,設(shè)置在所述應(yīng)用適配接口和所述驅(qū)動(dòng)適配接口之間,用于通過(guò)動(dòng)態(tài)函數(shù)指 針自動(dòng)調(diào)用所述可執(zhí)行文件對(duì)應(yīng)的任意一個(gè)或多個(gè)所述功能函數(shù)。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述調(diào)用模塊所調(diào)用的一個(gè)或多個(gè)所述 功能函數(shù)包括可重用的通用功能函數(shù)和根據(jù)OSD硬件芯片屬性來(lái)確定的特定功能函數(shù)。
7.—種OSD應(yīng)用軟件的開(kāi)發(fā)方法,其特征在于,包括設(shè)計(jì)單元定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)與OSD硬件相匹配; 編譯所述數(shù)據(jù)結(jié)構(gòu)以獲取以下一個(gè)或多個(gè)文件的組合頭文件、源文件以及中間層文 件,并將所述頭文件隨所述源文件一起編譯成可執(zhí)行文件; 通過(guò)硬件CPU及OSD模塊來(lái)接收并運(yùn)行所述可執(zhí)行文件; 顯示所述可執(zhí)行文件的運(yùn)行結(jié)果。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在編譯所述數(shù)據(jù)結(jié)構(gòu)以獲取以下一個(gè)或 多個(gè)文件的組合頭文件、源文件以及中間層文件,并將所述頭文件隨所述源文件一起編譯 成可執(zhí)行文件之后,所述方法還包括從內(nèi)存中調(diào)用所述中間層文件,以模擬所述OSD應(yīng)用軟件; 獲取所述仿真單元的模擬結(jié)果,并調(diào)試所述模擬結(jié)果。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,在設(shè)計(jì)單元定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu)之前,所述方法還包括用于根據(jù)所述OSD硬件的驅(qū)動(dòng)數(shù)據(jù)結(jié)構(gòu)來(lái)設(shè)計(jì)并生成各種UI資 源,以使得所述設(shè)計(jì)單元根據(jù)用戶需求選擇所述資源生成單元中生成的所述各種UI資源。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,在設(shè)計(jì)單元定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié) 構(gòu)之后,所述方法還包括在所述設(shè)計(jì)單元和所述資源生成單元之間建立映射關(guān)系,并根據(jù)所述映射關(guān)系同步所 述設(shè)計(jì)單元與所述資源生成單元相對(duì)應(yīng)的數(shù)據(jù)。
11.根據(jù)權(quán)利要求7所述的方法,其特征在于,在設(shè)計(jì)單元定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié) 構(gòu)之后,所述方法還包括根據(jù)預(yù)設(shè)條件定義所述OSD應(yīng)用軟件的第一用戶界面的UI資源中的虛擬資源,所述虛 擬資源為所述UI資源中使用頻率高的一個(gè)或多個(gè)元素,其中,所述UI資源包括圖片背景、 菜單以及所述圖片背景和所述菜單上的一個(gè)或多個(gè)控件;調(diào)用所述虛擬資源來(lái)創(chuàng)建所述OSD應(yīng)用軟件的第二用戶界面的UI資源。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,根據(jù)預(yù)設(shè)條件定義所述OSD應(yīng)用軟件的 第一用戶界面的UI資源中的虛擬資源的步驟包括判斷所述UI資源中的一個(gè)或多個(gè)元素 的使用頻率是否超過(guò)預(yù)定次數(shù),其中,如果超過(guò)所述預(yù)定次數(shù),則將所述使用頻率超過(guò)所述 預(yù)定次數(shù)的每個(gè)元素定義為所述虛擬資源保存至快速存儲(chǔ)器中,否則,將使用頻率在所述 預(yù)定次數(shù)內(nèi)的每個(gè)元素保存至閃存中。
13.根據(jù)權(quán)利要求11所述的方法,其特征在于,調(diào)用所述虛擬資源來(lái)創(chuàng)建所述OSD應(yīng)用 軟件的第二用戶界面的UI資源的步驟包括判斷所述虛擬資源在所述第一用戶界面上的 坐標(biāo)位置和大小是否與所述第二用戶界面的UI資源的坐標(biāo)位置和大小相同,其中,當(dāng)坐標(biāo) 位置相同且大小相同時(shí),調(diào)用所述虛擬資源創(chuàng)建所述第二用戶界面的UI資源,否則,退出 調(diào)用所述虛擬資源的步驟。
14.一種多媒體終端,其特征在于,包括權(quán)利要求1-6中任意一項(xiàng)所述的OSD應(yīng)用軟件 的開(kāi)發(fā)系統(tǒng)。
全文摘要
本發(fā)明公開(kāi)了一種OSD應(yīng)用軟件的開(kāi)發(fā)方法、系統(tǒng)及多媒體終端,其中,該系統(tǒng)包括設(shè)計(jì)單元,用于定制OSD應(yīng)用軟件的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)與OSD硬件相匹配;編譯單元,根據(jù)數(shù)據(jù)結(jié)構(gòu)來(lái)編譯UI資源以獲取以下一個(gè)或多個(gè)文件的組合頭文件、源文件以及中間層文件,并將頭文件隨源文件一起編譯成可執(zhí)行文件;硬件驅(qū)動(dòng)單元,通過(guò)硬件CPU及OSD模塊來(lái)接收并運(yùn)行可執(zhí)行文件;顯示單元,用于顯示可執(zhí)行文件的運(yùn)行結(jié)果。通過(guò)本發(fā)明,能夠提高研發(fā)人員的工作效率,節(jié)省了研發(fā)成本。
文檔編號(hào)G06F9/45GK102043628SQ20101060677
公開(kāi)日2011年5月4日 申請(qǐng)日期2010年12月24日 優(yōu)先權(quán)日2010年12月24日
發(fā)明者張靜, 曾小光 申請(qǐng)人:青島海信信芯科技有限公司