新四季網

一種嵌入式軟體支撐平臺的製作方法

2023-05-19 21:57:46

專利名稱:一種嵌入式軟體支撐平臺的製作方法
技術領域:
本發明涉及軟體支撐平臺領域,具體為一種採用中間件技術和虛擬機原理,適應不同硬體平臺和作業系統的嵌入式軟體支撐平臺。
背景技術:
當前的嵌入式硬體平臺一般由不同的生產廠家生產,其系統的體系結構各不相同,互不兼容。雖然有各種商用嵌入式作業系統來屏蔽嵌入式硬體平臺之間的差異,但不同的作業系統提供資源和服務的方式各不相同,導致所提供的資源和服務的接口不統一,致使在不同的作業系統之上開發的嵌入式應用系統可移植性較差,開發人員需要了解大量底
層軟硬體知識,同一功能需要不同的解決方案。而且,目前的嵌入式作業系統的內存管理效率較低,定時器算法的性能較差,聯網支持較差,難以支持實時性較強的嵌入式應用系統。桌面計算機應用系統在開發中引入了中間件、虛擬機的概念,以增強應用系統的可移植性,採用了內存池的思想來提高系統分配內存的效率。因此,許多科研人員嘗試把這些概念引入到嵌入式系統中來增強系統的可移植性和實時性。

發明內容
本發明的目的在於提供一種用於提高上層應用系統可移植性和實時性的嵌入式軟體支撐平臺。本發明的目的是這樣實現的本發明包括板級支持包、作業系統適配層、公共模塊,其特徵是商用作業系統構建在板級支持包上,作業系統適配層構建在商用作業系統上,公共模塊構建在作業系統適配層上,公共模塊包括功能相互獨立的調度管理模塊、系統監控模塊、異常管理模塊、內存管理模塊、定時器管理模塊、文件管理模塊、網絡管理模塊,公共模塊為上層應用程式提供功能支撐,用於任務或線程封裝、信號量封裝、消息隊列封裝、文件系統封裝,屏蔽不同硬體平臺、作業系統的差異,作業系統適配層具有統一的接口供作業系統調用。內存管理模塊用於劃分並管理內存池和內存塊,內存管理模塊通過配置文件配置內存池及內存塊大小。內存池由大小相等的內存塊組成,內存塊分配採用最小匹配原則。定時器管理模塊提供1000個精度為Ims的相對定時和精度為Is的絕對定時。調度管理模塊對Vxworks系統進行優化,在任務的基礎上引入二級調度的機制。系統監控模塊實時監控系統CPU使用情況,如發現有進程CPU佔用超過90%持續I分鐘以上或進程發生死鎖,則記錄該異常信息並且重啟該進程。文件管理模塊用於管理系統日誌,將日誌文件劃分為IM大小的20個日誌文件進行循環覆蓋,採用zlib算法庫對文件進行壓縮。異常管理模塊用於捕捉系統的異常情況,對發生異常時刻函數調用關係進行分析和記錄。
網絡管理模塊為應用程式搭建統一的網絡通信平臺建立統一的網絡線程池,線程池中的線程平時處於空閒狀態不佔用系統資源,當有網絡傳輸請求時,網絡管理模塊在線程池中取出空閒的線程與需要網絡傳輸的上層應用進行綁定。本發明的有益效果在於軟體支撐平臺與上層應用系統的開發分離,應用系統的開發擺脫了對作業系統的高度依賴,有效提高了上層應用系統的可移植性;通過內存管理模塊、文件管理模塊、定時器管理模塊等功能提高了系統的實時性。可加快實時性要求高的可移植嵌入式應用系統的開發進程 。


圖I是嵌入式軟體支撐平臺結構圖;圖2是嵌入式軟體支撐平臺實例示意圖。
具體實施例方式下面對本發明具體技術方案作進一步說明。本發明旨在提供一種可移植、實時性強的嵌入式軟體支撐平臺。具體有兩個創新點,第一個創新點是在不同的商用作業系統上增加一個相對應的作業系統適配層,完全屏蔽各種硬體平臺和作業系統的差異,封裝作業系統的核心資源和系統服務,提供統一的接口以方便基於作業系統的調用,從而實現應用系統的可移植性;另一個創新點是在作業系統適配層之上,實現系統監控、網絡管理、異常處理、調度管理、內存管理、定時管理和文件管理的功能。為上層的應用系統提供支撐功能,增強系統的實時性。本發明的工作原理是設計實現與不同作業系統相對應的作業系統適配層,來屏蔽硬體平臺和作業系統之間的差異並向上層提供接口統一的核心資源和系統服務,實現硬體平臺無關性和軟體平臺無關性。然後由7個模塊來實現軟體支撐功能,具體實現如下系統監控模塊監控任務的周期性運行和CPU、內存等系統資源使用情況。設置CPU、內存的使用上限並在超限時報警;網絡管理模塊用於實現聯網功能,使客戶可直接訪問上層的應用程式和內存資料庫;異常處理模塊的主要功能是通過底層作業系統截獲異常,保存異常的詳細現場信息,對異常點進行定位。通過對發生異常的進程的堆棧進行回溯分析,來得到異常發生前的函數調用關係;調度管理模塊對於存在多進程多線程的系統,統計系統進程、線程的運行狀態、切換次數,以便對系統狀態進行分析;內存管理模塊接管作業系統的內存管理,重新設計了內存管理的用戶接口,在系統初始化時向作業系統申請一大塊連續的內存區,再將該區劃分為若干內存池,每個內存池中有數量不等、大小固定的內存塊,其在池中的數量可按需配置。用戶通過內存管理接口申請內存時,內存管理模塊就查找各個內存池中滿足要求的最小內存塊並標記為「佔用」,然後不加切割地分配給用戶使用。內存回收時按照待釋放內存塊的首地址找到其所屬的內存池,將該塊標記為「空閒」放回該池即可;定時管理模塊採用自行設計定時管理算法,針對每一個tick要處理大量定時器問題,通過設計定時器隊列並在每一個tick對定時器隊列進行掃描的機制,來實現對大量定時器的管理,以滿足性能要求;文件管理模塊為應用程式提供統一的文件操作接口,屏蔽底層作業系統和不同存儲介質存取數據的具體實現細節,上層應用系統使用相同的方法來訪問硬碟、快閃記憶體等存儲介質。
本發明由板極支持包(BSP)、作業系統適配層和7個公共模塊組成。用戶可使用本發明開發和實施其應用系統,而無需考慮作業系統及硬體的具體細節。BSP對底層硬體板提供支持,方便程序在不同底層硬體平臺之間的移植,支持的硬體平臺包括x86、ARM和power pc等。其上層為商用作業系統,包括Vxworks、Linux和μ cos等。用戶可根據應用系統硬體的需要,對BSP進行補充、修改。作業系統適配層位於BSP和作業系統之上,相當於一個虛擬的作業系統,對作業系統進行封裝。應用系統設計人員在其上構建獨立於具體作業系統的嵌入式軟體支撐平臺的7個公共模塊,進而構建跨平臺的上層應用。其主要功能包括任務或線程封裝,信號量封裝,消息隊列封裝,文件系統封裝。公共模塊位於作業系統適配層之上,功能獨立,作業系統適配層向其提供作業系統調用功能的支持。公共模塊包括內存管理、定時器管理、調度管理、系統監控、文件管理、 異常處理、網絡管理7個模塊。每一個模塊都向上層應用系統提供特定功能。每一個模塊 都具有平臺無關性,可方便地移植到不同系統。內存管理模塊按照應用的需求來劃分內存池和管理內存塊的大小,用戶可以通過配置文件靈活配置內存池及內存塊大小,每個內存池包含一定數量大小相等的內存塊,內存塊分配採用最小匹配原則。例如系統劃分了內存池A包含10個16K內存塊及內存池B包含了 10個32K內存塊,用戶需要IOK的內存塊,那麼就會從內存池A取出一塊空閒的16K內存塊使用。定時器模塊可提供1000個精度為Ims的相對定時和精度為Is的絕對定時。由於不同作業系統不同CPU架構定時機制和精度不同,在BSP層和作業系統適配層對不同硬體和不同作業系統定時功能進行封裝,提供給定時器模塊使用。調度管理模塊對Vxworks系統做了優化,在任務的基礎上引入二級調度的機制,相當於在進程中封裝一層線程調度,對線程採用FIFO的調度方式。對於Linux系統已經存在進程和線程調度方式,我們統計了系統進程、線程的運行狀態、切換次數,以便對系統狀態進行分析。系統監控模塊實時監控系統CPU使用情況,如發現有進程CPU佔用超過90%持續I分鐘以上,記錄該異常信息並且重啟該進程;同時也監控進程是否發生死鎖,如果CPU在一個進程一段時間內沒有向下執行新的指令,則認為該進程出現死鎖,記錄異常日誌並且重啟該進程。文件管理模塊實現對系統日誌的管理。由於嵌入式系統一般採用Flash作為數據存儲,存儲容量較小,文件管理模塊將日誌文件劃分為每一個為IM大小,一共20個日誌文件循環覆蓋,並且採用zlib算法庫對文件進行壓縮,兼容Windows下Winrar及Linux下tar解壓算法。異常處理模塊可捕捉系統異常,記錄異常出現時刻的系統狀態。採用棧回溯的原理對發生異常時刻函數調用關係進行分析和記錄。由於棧回溯算法依賴於對CPU寄存器的訪問,不同CPU架構寄存器組織方式不同,我們針對x86、ARM、PPC三種CPU架構分別做了棧回溯算法。網絡管理模塊為應用程式搭建一個統一的網絡通信平臺。我們建立一個統一的網絡線程池,線程池中的線程平時處於空閒狀態不佔用系統資源,當有網絡傳輸請求時,網絡管理模塊在線程池中取出空閒的線程與需要網絡傳輸的上層應用進行綁定。這種機制可以支持同時1000個鏈路的數據傳輸,極大滿足了上層應用的網絡傳輸需求。嵌入式軟體支撐平臺的使用方法為首先選定適合的底層硬體板,根據用戶的需求對底層的板級支持包加以修改和補充;然後選擇相應的作業系統,進而選擇相對應的作業系統層的適配模塊,包括對該作業系統的信號量、消息隊列、進程和線程等系統調用的封裝;再根據系統具體應用需求選擇對應中間件。可選擇的中間件包括內存管理、定時器管理、調度管理、系統監控、文件管理、異常處理、網絡管理這7個公共模塊。調度管理、系統監控和異常處理屬於必選模塊,其他模塊可根據需求適當配置。例如,若系統需實現定時器和網絡功能,則將此兩模塊與前述的必選模塊合併放入makefile中再對系統進行編譯,即可實現定製化的平臺功能。通過這些中間件的支持可容易地實現上層應用。可極大地增強系統的可移植性和實時性。實施例I如圖2,以ARM硬體平臺為例,首先選定對應的作業系統,如Linux。根據Linux系統選擇其對應的作業系統適配模塊,包括對Linux系統的信號量、消息隊列、進程和線程等系統調用的封裝;再根據系統具體應用需求選擇對應中間件。可選擇的中間件包括內存管理、定時器管理、調度管理、系統監控、文件管理、異常處理、網絡管理這幾個公共模塊。調度管理、系統監控、異常管理屬於必選模塊,其他模塊可根據需求配置。例如系統需要實現定時器和網絡功能,那麼將這兩塊模塊加前面幾個必選模塊放在makefile中對系統一起進行編譯,即實現了定製化的平臺功能。通過這些中間件的支持可以容易地實現上層應用。權利要求
1.一種嵌入式軟體支撐平臺,包括板級支持包、作業系統適配層、公共模塊,其特徵是商用作業系統構建在板級支持包上,作業系統適配層構建在商用作業系統上,公共模塊構建在作業系統適配層上,公共模塊包括功能相互獨立的調度管理模塊、系統監控模塊、異常管理模塊、內存管理模塊、定時器管理模塊、文件管理模塊、網絡管理模塊,公共模塊為上層應用程式提供功能支撐,用於任務或線程封裝、信號量封裝、消息隊列封裝、文件系統封裝,屏蔽不同硬體平臺、作業系統的差異,作業系統適配層具有統一的接口供作業系統調用。
2.根據權利要求I所述的一種嵌入式軟體支撐平臺,其特徵是所述的內存管理模塊用於劃分並管理內存池和內存塊,內存管理模塊通過配置文件配置內存池及內存塊大小。
3.根據權利要求2所述的一種嵌入式軟體支撐平臺,其特徵是所述的內存池由大小相等的內存塊組成,內存塊分配採用最小匹配原則。
4.根據權利要求I或2所述的一種嵌入式軟體支撐平臺,其特徵是所述定時器管理模塊提供1000個精度為Ims的相對定時和精度為Is的絕對定時。
5.根據權利要求4所述的一種嵌入式軟體支撐平臺,其特徵是所述調度管理模塊對Vxworks系統進行優化,在任務的基礎上引入二級調度的機制。
6.根據權利要求5所述的一種嵌入式軟體支撐平臺,其特徵是所述系統監控模塊實時監控系統CPU使用情況,如發現有進程CPU佔用超過90%持續I分鐘以上或進程發生死鎖,則記錄該異常信息並且重啟該進程。
7.根據權利要求6所述的一種嵌入式軟體支撐平臺,其特徵是所述文件管理模塊用於管理系統日誌,將日誌文件劃分為IM大小的20個日誌文件進行循環覆蓋,採用zlib算法庫對文件進行壓縮。
8.根據權利要求7所述的一種嵌入式軟體支撐平臺,其特徵是所述異常管理模塊用於捕捉系統的異常情況,對發生異常時刻函數調用關係進行分析和記錄。
9.根據權利要求8所述的一種嵌入式軟體支撐平臺,其特徵是所述網絡管理模塊為應用程式搭建統一的網絡通信平臺建立統一的網絡線程池,線程池中的線程平時處於空閒狀態不佔用系統資源,當有網絡傳輸請求時,網絡管理模塊在線程池中取出空閒的線程與需要網絡傳輸的上層應用進行綁定。
全文摘要
本發明涉及軟體支撐平臺領域,具體為一種採用中間件技術和虛擬機原理,適應不同硬體平臺和作業系統的嵌入式軟體支撐平臺。本發明包括板級支持包、作業系統適配層、公共模塊,商用作業系統構建在板級支持包上,作業系統適配層構建在商用作業系統上,公共模塊構建在作業系統適配層上,公共模塊為上層應用程式提供支撐功能,用於任務或線程封裝、信號量封裝、消息隊列封裝、文件系統封裝,屏蔽不同硬體平臺、作業系統的差異。本發明的軟體支撐平臺與上層應用系統的開發分離,應用系統的開發擺脫了對作業系統的高度依賴,有效提高了上層應用系統的可移植性;通過內存管理模塊、文件管理模塊、定時器管理模塊等功能提高了系統的實時性。
文檔編號G06F9/44GK102779047SQ20121023628
公開日2012年11月14日 申請日期2012年7月9日 優先權日2012年7月9日
發明者丁繼成, 李健利, 李玉兵, 許兆新, 趙琳, 郝勇, 閆保中, 馬興成, 黃衛權, 黃超 申請人:哈爾濱工程大學

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀