新四季網

一種嵌入式實時作業系統的靜態配置方法

2023-10-08 08:13:59

專利名稱:一種嵌入式實時作業系統的靜態配置方法
技術領域:
本發明涉及嵌入式實時作業系統靜態配置領域,更具體的說,是涉及一種嵌入式實時作業系統的靜態配置方法。
背景技術:
嵌入式實時作業系統為了滿足嵌入式實時系統的特定需求一般都需要根據不同應用的需求採用不同的配置方案。比如,同一種嵌入式實時作業系統在不同的應用中可能提供不同數量的系統服務,而且作業系統的內部參數(如任務數量、任務屬性、資源數量、定時器數量等)也會有所不同。由於實時系統性能上的要求,大多數嵌入式實時作業系統都採用靜態配置的方法,也就是說對於系統的裁剪和配置是在系統編譯時進行的。
目前大多數使用靜態配置的嵌入式實時作業系統(如μC/OS、OSEK Turbo等是利用宏和條件編譯技術實現靜態配置的,也就是說在進行系統配置時用戶需要手工修改作業系統特定部分的原始碼,然後再對系統進行重新編譯。這種方法的缺點是,不同的作業系統必須採用不同配置方法,系統配置者不但要熟悉具體的應用需求還要熟悉作業系統的實現細節。當一種作業系統的實現細節隨著版本更新發生變化或者當應用程式從一種作業系統移植到另一種作業系統時就必須對系統原始碼的不同部分採用不同方法進行手工修改。這種配置方式自動化程度低、易出錯,降低了系統的開發效率和系統的可移植性,因此嵌入式實時作業系統需要一種更自動化、更高效的靜態配置方法。

發明內容
本發明的主要目的在於克服現有技術中的不足,提供了一種嵌入式實時作業系統的靜態配置方法。
為了解決上述技術問題,本發明是通過以下技術方案實現的。
一種嵌入式實時作業系統的靜態配置方法,包括以下步驟
(1)定義系統描述語言該系統描述語言用於在CPU上配置應用程式;系統描述語言通過定義和描述對象來配置實際應用程式;一個對象對應於嵌入式實時作業系統中的一種實體;(2)使用系統描述語言編寫系統描述文件用戶通過使用系統描述語言編寫系統描述文件來描述應用程式;系統描述文件分為實現描述文件和應用描述文件實現描述文件描述作業系統的特性,它定義了一個對象集合,並為每一個對象定義一個屬性集,而對每一個屬性又定義了屬性的特徵;應用描述文件描述特定的應用,它根據實際應用情況定義對象,並為對象設置屬性;(3)作業系統提供者提供配置軟體,配置軟體通過解析系統描述文件來獲取系統的配置信息,然後自動生成特定作業系統的配置文件對系統進行配置。
作為一種改進,所述的實體是作業系統、任務、中斷服務程序、資源、計數器、定時器、事件、消息。
作為一種改進,所述的對象使用一個屬性集來描述其特點。
作為一種改進,所述的應用描述文件中定義的對象必須是實現描述文件中定義過的對象,不能定義實現描述文件中沒有的對象,對對象屬性的設置符合實現描述文件定義中的描述。
作為一種改進,所述對象中包括一種特別對象CPU,該對象CPU表示實際運行程序的CPU,沒有屬性,不在實現描述文件中定義。
作為一種改進,對於特定的作業系統,其系統對象集合是固定的,不同應用和系統實現的差異通過對象屬性集合的不同體現出來在實現描述文件中,一個對象的定義由數據類型、自動計算屬性、取值範圍和默認值四部分組成。
作為一種改進,所述的數據類型包括32位無符號整數、32位有符號整數、64位無符號整數、64位有符號整數、浮點數、枚舉類型、邏輯類型、字符串和引用類型。
作為一種改進,每一個屬性都有一個默認值,當該屬性沒有被人工指定值時配置工具將為其設定默認值。
與現有技術相比,本發明的有益效果是(1)實時作業系統實現者通過實現描述文件描述系統實現的細節並對系統屬性的配置進行約束,用戶對該實時作業系統的配置必須符合該約束,因此本發明減少了由於不當配置引入系統錯誤的概率。
(2)符合同一標準的不同實時作業系統可以使用同一系統實現文件,因此對應的應用描述文件有相同的格式,同一個應用的應用描述文件可以適用於符合相同標準的不同實時作業系統的實現版本,提高了應用的移植性。
(3)用戶只需要學習如何編寫應用描述文件而不需要學習實時作業系統實現細節,縮小了學習使用實時作業系統的周期,利於實時作業系統的推廣。
(4)本發明便於通過計算機軟體實現自動配置,提高了工作效率。


圖1本發明配置框圖。
圖2本發明配置流程圖。
圖3實現描述文件示例圖。
圖4應用描述文件示例圖一。
圖5應用描述文件示例圖二。
具體實施例方式
結合附圖,下面對本發明進行詳細說明。
本發明提供了一種嵌入式實時作業系統的靜態配置方法。該方法提供一種特定的系統描述語言對嵌入式應用程式進行配置。在該方法中,作業系統提供者使用系統描述語言描述作業系統的實現細節,而應用開發者使用系統描述語言描述具體的應用,然後使用系統配置軟體根據上述兩種描述自動生成不同作業系統所需的配置文件。使用該方法的好處是,當作業系統的實現或具體應用發生變化時,只需要修改特定的系統描述文件就能快速地進行系統的重新配置,從而提高了用戶使用嵌入式實時作業系統開發應用的便利性,增強了系統的可移植性。
用戶通過使用系統描述語言編寫系統描述文件來描述應用程式。系統描述文件分為實現描述文件和應用描述文件兩部分。實現描述文件描述特定作業系統的特性,它定義了一個對象集合,並為每一個對象定義一個屬性集,而對每一個屬性又定義了屬性的特徵。應用描述文件描述特定的應用,它根據實際應用的情況定義對象,並為對象設置屬性。應用描述中定義的對象必須是實現描述中定義過的對象,不能定義實現描述中沒有的對象,對於對象屬性的設置也必須符合實現定義中的描述。所有對象中有一種對象比較特別,就是CPU,它表示實際運行程序的CPU,它作為所有對象的容器,沒有屬性,不需要在實現描述文件中定義。
作業系統提供者需要提供配置軟體,配置軟體通過解析系統描述文件來獲取系統的配置信息,然後自動生成特定作業系統的配置文件對系統進行配置。
對於特定的作業系統,其系統對象集合是固定的,不同應用和系統實現的差異通過對象屬性集合的不同體現出來。在實現描述中,一個對象的定義由數據類型、自動計算屬性、取值範圍和默認值四部分組成。
屬性的數據類型包括如下幾種32位無符號整數UINT32取值範圍0到232-132位有符號整數INT32取值範圍-231到231-164位無符號整數UINT64取值範圍0到264-164位有符號整數INT64取值範圍-263到263-1浮點數FLOAT符合IEEE-754標準的浮點類型枚舉類型ENUM表示對應屬性只能取枚舉集中的某個值。比如ENUM[NON,FULL]SCHEDULE;表明SCHEDULE屬性只能取NON或FULL兩個值。每個枚舉值還可以指定一個或多個參數。比如ENUM[ACTIVATETASK{TASK_TYPE TASK;},SETEVENT]ACTION;表明ACTION屬性可以取ACTIVATETASK和SETEVENT兩個值,其中ACTIVATETASK包括類型為TASK_TYPE的屬性TASK,而SETEVENT不包括參數。
邏輯類型BOOLEAN其取值為TRUE(邏輯真)和FALSE(邏輯假)字符串STRING任意包括在雙引號中的8比特字符(不包括雙引號本身)序列為一個字符串。
引用類型
引用類型用來引用一個系統對象。引用可以被用來在對象間建立連接關係。一個名為A的對象對應的數據類型為A_TYPE。比如,任務對象(TASK)中的資源屬性定義了該任務佔用的資源,它是另一種系統對象(RESOURCE),於是可以如下定義屬性USERESRESOURCE_TYPE USERRES;此外當一個屬性可以取同一類型的多個值時可定義該屬性為取多值的屬性。比如一個任務可以佔用多個資源,則上述的USERES屬性就是一個取多值的屬性,定義如下RESOURCE_TYPE USERRES[];某些屬性值可能是系統配置工具自動計算的,這樣的屬性在實現描述中用WITH_AUTO關鍵字說明,相應的屬性在應用描述中不是由用戶設定特定值,而是設置成AUTO,由配置工具可以設置屬性。
此外,每一個屬性都必須指定一個默認值,當該屬性沒有被人工指定值時配置工具將為其設定默認值。沒有默認值的屬性必須把默認值設為NO_DEFAULT,這樣的屬性必須在應用描述中指定屬性值。比如INT32 param=5,表示param值無法自動計算,默認值為5。
INT32 WITH_AUTO param=NO_DEFAULT,表示param值是自動計算的,沒有默認值。
屬性如果有取值範圍,也要定義。取值範圍通過兩種方式定義INT32
param=5表示param的取值範圍為0~10的整數。
INT32[1,3,5]param=5表示param的取值範圍為1,3,5三個值中的一個。
按照本發明配置嵌入式實時作業系統的過程分如下幾步編寫實現描述文件;編寫應用描述文件;用配置軟體生成作業系統的配置文件和繼續系統開發。
這裡詳細說明如何使用本發明提出的方法對一種符合OSEK/VDX的作業系統SmartOSEK OS進行靜態配置。
首先編寫實現描述文件定義系統對象,SmartOSEK OS有如下對象OS一個OS對象表示運行在CPU上的作業系統,一個應用只能定義一個OS對象。
TASK一個TASK對象表示一個受OS控制的任務。
COUNTER一個COUNTER對象表示一個計數器,計數器對外部事件發生次數進行計數。
ALARM一個ALARM對象表示一個定時器,定時器根據計數器的值進行特定的周期性操作。
RESOURCE一個RESOURCE對象表示一個可以被任務佔用的資源。
EVENT一個EVENT對象表示一個特定的事件,任務可以等待和響應事件。
ISR一個ISR對象表示一個中斷服務程序,當中斷發生時它將進行特定的操作。
對於每一種對象定義了屬性集合。
OS具有如下屬性調試狀態、鉤子點、是否使用調度器資源、調度方式。
TASK具有如下屬性是否可搶佔、是否自啟動、優先級、可激活次數、響應事件、佔用資源。
ISR具有如下屬性中斷類型、佔用資源。
COUNTER具有如下屬性最小周期、最大值、計數密度。
ALARM具有如下屬性對應計數器、動作(激活任務、設置事件或回調函數)、是否自啟動。
EVENT具有如下屬性掩碼值。
RESOURCE具有如下屬性資源類型。
該系統的應用描述文件如圖所示用戶使用作業系統時,根據不同的應用特徵編寫應用描述文件。應用描述文件可以通過手寫,也可以通過相應配置軟體生成。圖為本例子中使用的配置軟體。
在一個應用中,根據實際情況,設計者需要兩個任務、一個中斷服務程序。用戶首先定義OS對象,設置作業系統的整體的屬性。然後定義兩個TASK對象,分別設置相關屬性。最後定義一個ISR對象設置相關屬性。最後生成的應用描述文件如下。
最後使用配置工具解析描述文件,生成系統配置文件。在此配置文件為os_cfg.h,app_cfg.h,app_cfg.c。
當應用需求發生改變,需要增加一個由定時器激發的任務。這是需要在原有得應用描述文件中多定義一個TASK對象,一個COUNTER對象和一個ALARM對象並設置相應屬性,然後再使用配置工具重新生成描述文件。
當作業系統更新,配置方式發生變化時,系統提供者只需要更新配置軟體,用戶使用同樣的描述文件便能對系統進行配置。
最後,還需要注意的是,以上列舉的僅是本發明的一個具體實施例。顯然,本發明不限於以上實施例,還可以有許多變形。本領域的普通技術人員能從本發明公開的內容直接導出或聯想到的所有變形,均應認為是本發明的保護範圍。
權利要求
1.一種嵌入式實時作業系統的靜態配置方法,其特徵在於,包括以下步驟(1)定義系統描述語言該系統描述語言用於在CPU上配置應用程式;系統描述語言通過定義和描述對象來配置實際應用程式;一個對象對應於嵌入式實時作業系統中的一種實體;(2)使用系統描述語言編寫系統描述文件用戶通過使用系統描述語言編寫系統描述文件來描述應用程式;系統描述文件分為實現描述文件和應用描述文件實現描述文件描述作業系統的特性,它定義了一個對象集合,並為每一個對象定義一個屬性集,而對每一個屬性又定義了屬性的特徵;應用描述文件描述特定的應用,它根據實際應用情況定義對象,並為對象設置屬性;(3)作業系統提供者提供配置軟體,配置軟體通過解析系統描述文件來獲取系統的配置信息,然後自動生成特定作業系統的配置文件對系統進行配置。
2.根據權利要求1所述的一種嵌入式實時作業系統的靜態配置方法,其特徵在於,所述的實體是作業系統、任務、中斷服務程序、資源、計數器、定時器、事件、消息。
3.根據權利要求1所述的一種嵌入式實時作業系統的靜態配置方法,其特徵在於,所述的對象使用一個屬性集來描述其特點。
4.根據權利要求1所述的一種嵌入式實時作業系統的靜態配置方法,其特徵在於,所述的應用描述文件中定義的對象必須是實現描述文件中定義過的對象,不能定義實現描述文件中沒有的對象,對對象屬性的設置符合實現描述文件定義中的描述。
5.根據權利要求1所述的一種嵌入式實時作業系統的靜態配置方法,其特徵在於,所述對象中包括一種特別對象CPU,該對象CPU表示實際運行程序的CPU,沒有屬性,不在實現描述文件中定義。
6.根據權利要求1所述的一種嵌入式實時作業系統的靜態配置方法,其特徵在於,對於特定的作業系統,其系統對象集合是固定的,不同應用和系統實現的差異通過對象屬性集合的不同體現出來在實現描述文件中,一個對象的定義由數據類型、自動計算屬性、取值範圍和默認值四部分組成。
7.根據權利要求6所述的一種嵌入式實時作業系統的靜態配置方法,其特徵在於,所述的數據類型包括32位無符號整數、32位有符號整數、64位無符號整數、64位有符號整數、浮點數、枚舉類型、邏輯類型、字符串和引用類型。
8.根據權利要求6所述的一種嵌入式實時作業系統的靜態配置方法,其特徵在於,每一個屬性都有一個默認值,當該屬性沒有被人工指定值時配置工具將為其設定默認值。
全文摘要
本發明涉及嵌入式實時作業系統靜態配置領域,旨在提供一種嵌入式實時作業系統的靜態配置方法。該方法包括以下步驟(1)定義系統描述語言;(2)使用系統描述語言編寫系統描述文件;(3)作業系統提供者提供配置軟體,配置軟體通過解析系統描述文件來獲取系統的配置信息,然後自動生成特定作業系統的配置文件對系統進行配置。本發明減少了由於不當配置引入系統錯誤的概率;提高了應用的移植性;用戶只需要學習如何編寫應用描述文件而不需要學習實時作業系統實現細節,縮小了學習使用實時作業系統的周期,利於推廣;本發明便於通過計算機軟體實現自動配置,提高了工作效率。
文檔編號G06F9/44GK101013370SQ20071006722
公開日2007年8月8日 申請日期2007年2月8日 優先權日2007年2月8日
發明者趙民德, 楊國青, 李紅, 鬱利吉, 劉凱, 吳朝暉 申請人:浙江大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀