王軍 上海紅生系統工程有限公司
基于Pentium處理器VxWorks實時操作系統BSP的設計研究
王軍 上海紅生系統工程有限公司
在對基于Pentium處理器VxWorks實時操作系統的進行研究與開發過程中,我們所面臨的一大難點就是如何對BSP以及與之相關的技術性內容進行科學、合理的設計與開發。BSP作為整個操作系統的重要組成部分,其設計的科學與否將對整個操作系統的流暢性與功能實現性帶來影響。本文就將針對上述所提到的如何科學、理性開發BSP等相關具體問題展開討論,為設計與研發基于Pentium處理器VxWorks實時操作系統這一重要命題找到相應的舉措,進而保障整個工程項目的及時有效推進。
Pentium處理器 VxWorks實時操作系統 BSP Tornado
VxWorks是美國高科技行業的風河公司所開發并投入市場的一種實時操作系統。它在正式進駐網絡市場之初就因自身所具備的一系列優質產品特性,如內核性能優越、產品技術可靠性較高、繼續開發的前景良好等等,得到了業內人士的高度關注與贊賞。與此同時,這一性能優越、精良的實時操作系統在相關領域內亦得到了廣泛的推廣與應用,其中不乏像軍工、航天工程、通信衛星等對操作系統要求極為嚴格的工程領域。可以說,VxWorks實時操作系統在上述各項工程領域中扮演著越來越重要的角色,其對于整個系統的功能實現起到決定性的重要作用,值得所有相關從業人員對其進行深入探究與分析。下面,我們就將對VxWorks實時操作系統的開發過程中涉及到的具體設計問題予以討論,以期發現新的對應問題解決途徑,為VxWorks實時操作系統的有效開發與設計提供全新的思路與想法。
BSP即是英文詞組Board Support Package的縮寫,它的中文翻譯為板級支持包,通常被簡稱為BSP。該板級支持包的位置一般為實時操作系統的驅動層程序層面與主板硬件這兩者之間的一個層次,相關系統設計工作人員常常認為它是整個實時操作體系內一個基本組成部分。其作用范圍較為明確,主要就是為了達到對相應操作系統提供相應的技術數據支持,能夠做到為上一層面的相關系統驅動程序供應函數包,進而保證其能夠在硬件主板這一載體上實現更為優質、高效地有效運行。在一些較常見的嵌入式系統軟件之中,我們就能夠發現對BSP這一技術的應用。由此可見,BSP是整個行業領域范圍內一項較為常見的技術,對其的應用與推廣也相應較為普及。
當然,在對BSP進行具體的應用與實踐過程中,我們需要意識到的是BSP不是固定不變的,它的特性與功能會隨著其所服務的系統的改變而有所變化,即每一種獨立的操作系統下會存在相對應的BSP,它們彼此是不盡相同的,舉例來說,例如在Linux實時操作系統中的BSP與其他不同系統下的BSP,它們具體的編程寫作方法與相應接口的概念完全是兩個不同的概念。基于此,我們在對BSP進行編寫的過程中,一定要時刻把握這一概念,要在具體的對應系統對BSP進行定義的前提之下進行編寫,否則就會出現BSP編寫錯誤,進而引發一系列相關的技術漏洞與問題。
在實際的技術實踐過程中,我們通過對BSP進行不斷探索與實踐之后,總結出BSP所具備的一些基本作用。其主要作用主要集中在兩大方面,一是創建一個基本環境,該環境能夠保證相應操作系統能夠在其中實現有序運行,具體包括CPU內在的寄存器的初始化操作、設置RAM的工作運行時間順序、驅動時鐘與中斷控制器、串口等一系列相關命令。二是對其所設定的、用于操作系統有效運行的環境進行不斷優化,主要包括優化緩存與內存結構單元區間的驅動、確立程序的開啟與終止具體位置、優化中斷功能以及系統的總線驅動等。由此可見,BSP對于整個操作系統具有著至關重要的功能與價值,為保證系統在特定環境下的有效運行與可持續性開發起到了決定性的作用,是整個系統操作開發過程中的重要環節,非常值得我們所有該行業從業者對其進行深入的分析與了解。
下面我們就將針對基于Pentium處理器下如何對BSP進行具體的設計與開發這一問題展開詳細的討論與分析。
2.1 PMI2主板的相關硬件基本配置說明
開發使用的相關工具與所開發的具體系統操作環境主要包括:開發板為PMI2主板、內存為256M運行內存、VCA控制器、1.6GHz單核CPU、100/1000M網絡控制器、Intel82559網卡、進行開發操作的軟件為Tornado2.2,主機安裝目錄為“C:Tornado2.2”。
2.2 BSP的開發環境
BSP的開發調試環境是由美國風河科技所研發出的Tornado2.2,它由三個主要部分所組成,具體內容包括了:進行具體開發實踐的對應工具與所需的相關實用程序、實時操作系統Vx Works用于在主板卡上進行運行、連接顯控軟件和主板通信設備中所存在的一系列具體的通訊方式,例如接口、網絡等。
2.3 設計目標
通過對相關具體項目進行有效布控,在采用一系列上述所提到的軟件與硬件設施的基礎之上,設計開發能夠實現主板相應驅動的BSP,并使其滿足相應的要求與條件,如:Pentium處理器、CRT與LVDS通道、IDE硬盤、對應的以太網控制器、USB2.0鍵盤與對應鼠標。
2010年教育部出臺《關于大力推進高等學校創新創業教育的意見》;2015年李克強總理在《政府工作報告》中多次強調“創新創業”,并首次提出“互聯網+”行動計劃;2016年所有高校設置創新創業課程。國家想要有創新創業素質的國民,應從幼兒抓起,重視幼兒創新創業意識的培育。教師是創新創業教育的實施者,教學內容的安排、方法的選擇能否符合創新創業教育的原則,完全取決于教師是否具有創新素質,學前專業師范生是未來的幼兒教師,他們的觀念、思想、興趣、愛好以及思維方式也無一不對幼兒產生潛移默化的影響。培育學前專業師范生創新創業意識是當務之急。
對BSP進行具有針對性的開發是一項較為系統、較為復雜的工程,開發人員必須保證熟知且充分理解Vx Works映像種類,該實時操作系統內部的運行次序與整個流程,BSP這一軟件包中所具體包括的各類文件的作用與構成,以及相關的設置操作等具體內容。唯有此,才能保證整個開發項目工作的持續、有效地向前推進。
在對基于Pentium處理器下BSP的設計開發所涉及到具體內容予以分析之后,我們就將對該項目設計的具體過程進行展開論述。
事實上,對BSP進行具體設計這一過程在整個系統開發過程中屬于較早期的工作內容,該項工作對于保障后期整個系統內部所有程序得以有效、準確運行具有重要的價值與意義。在對相關具體的工程實踐進行分析與總結之后,我們將基于Pentium處理器下的BSP的研發工作大致劃分到以下五個主要部分,它們按照前后順序依次為創建相應的具體開發環境、對基于PMI2主板下的對應BSP開發包進行合理選擇、Boot Rom的具體實踐與有效運行、Vx Works實時操作系統的對應配置與啟動、最后的測試工作與檢驗工作。下面,我們就將上述的五個主要步驟進行細致討論。
3.1 創建相應的具體開發環境
我們需要注意到的是:在具體的調試環境之中,實時嵌入式操作系統擁有一整套具有高度操控性與實踐性的對應開發工具,它與我們常常所使用的電腦桌面操作系統是完全不同的兩個概念,該操作系統在實際操作過程中遠比桌面的操作系統要復雜的多。此外,對于Tornado2.2的開發環境是基于架構這一方式的,因此會選擇使用交叉開發方式,即使用目標機與總主機交互進行操作,并借助以太網實現聯通。
Pentium處理器下的目標板配置較為多元,存在著單向與雙向通道的LVDS接口,相對應的是一系列接口的具體配對。我們在實際操作過程中,可以借助這一組織對相關控件實現相應的調整與測試。與此同時,我們也可以選擇把bootrom映像對接到相應卡上。這樣,在對所有涉及到的控件進行合理、有效布控時,我們就得到了一個較為可靠的操作環境。
3.2 對基于PMI2主板下的對應BSP開發包進行合理選擇
在對BSP進行具體開發的實踐過程中,我們需要意識到的是對其進行有效開發是所有開發過程中,對系統所涉及到的相關軟硬件相連接的重要一步,它的效果好壞嚴重制約著接下來的工作進程。因此,選擇準確的開發模式顯得十分有必要,如果能夠做到在相關要求滿足的情況下,準確對其進行選擇,將會給整個工作進度帶來十分有益的影響,它會使得整體的開發耗時明顯縮短,有效提高我們開發工作的效率。
根據上述所提到對選擇BSP開發模板的具體要求,我們在進行實際選擇就應該做到選擇一個與對應處理器的產品規格比較貼近的BSP包,只有這樣,才能為接下來的對BSP進行設計等工作做好準備,實現優化設計程序。接下來,我們可以通過對外圍器件做出適當的改動與調整,就會發現這一操作所帶來的較為明顯的作用與效果。
3.3 Boot Rom的具體實踐與有效運行
所謂的Boot Rom就是我們常常提到的遠程啟動服務這一具體指代內容的英文縮寫,其全程為Remoteboot,通常的情況下,我們也稱之為插槽。而Boot Rom類型映像則是一種專門用于jgzcsb的引導而設計的映像,它的主要目的是通過對其的有效利用,最終能夠保證達到存在最小數量的系統初始化,如相對應的多單口以及網口等具體形式。該映像的主要功能就是實現對jgzcsb映像這一項目的啟動與有效承載,大致等同于個人筆記本電腦中的BIOS這一構件。
具體到我們現在進行的試驗過程,當項目在完成對Boot Rom的開啟后,相應的一系列項目如對CPU、寄存器等具體設備的初始化設置,與此同時,也做好了對內部存儲的清零工作,以及相關的屏蔽被有效隔斷等等。這些項目的實現也保障了所涉及的相應地址的映射轉移。在前期的啟動程序完全實現之后,系統內部的多任務實驗環境亦在此過程中得到有效地創建,這里所提到的多任務涵蓋范圍較廣,主要內容有多單口系統任務、系統網絡任務等等。這些既定的工作程序能夠有效實現對映像的指引作用,使其在對應的卡片內有效執行,保證接下來的Vx Works映像的快速呈現這一重要過程。
3.4 Vx Works實時操作系統的對應配置與啟動
承接著上述的內容,接下來的過程演化到了Vx Works類型映像加載這一重要步驟。所謂的Vx Works類型映像,它是區別于上文所提及到的Boot Rom類型映像以及jgzcsb類型映像的,事實上,該類型映像才是整個實時操作系統的主體映像,是真正意義上做到在目標板之上的操作系統進行實際運行的映像,它的結構組成也與其他映像不同,它主要是所占空間較小的系統內核與一些可以精準定做的相關板塊這兩項內容組成的.風河公司出品的ornado2.2這一開發環境就具有滿足使用者對其進行相應調整與剪裁的特性,用戶可以根據需要設計出自己想要的最優Vx Works配置。
3.5 測試工作與檢驗工作
基于以上四個步驟,我們的設計在得以有效運行時,同樣需要對BSP進行定量檢測與分析.BSP作為一項與系統內部的相關硬件關系較為密切的系統軟件組成部分,對它進行相關測試是保證整個開發最終能夠實現成功的重要一環,也是其有效保障。這其中,系統會進行的相關測試主要包括:保障網絡驅動能夠有效實現的集成性系統測試以及其他諸如ICMP等具體項目的測試。
綜上所述,本文主要以PMI2這一 開發板作為設計示例,對基于Vx Works類型映像下的BSP進行深入地解析與說明,進而實現了其在具體工程上的模擬與運用。可以說,在一定程度上對基于Pentium處理器VxWorks實時操作系統的開發與設計做出相應的嘗試,并獲得了第一手信息資料,整個設計工作是具有一定參考價值與實踐意義的。
[1]王洋.VxWorks嵌入式實時操作系統設備驅動與BSP開發設計[J].北京航空航天大學出版社,2012,(12):20-27
[2]葉凱.基于VxWorks的嵌入式系統設計與研究[J].中國科學院光電技術研究所,2007,(02):122-127
王軍(1977—),男,漢族,江蘇省海安縣人,北京信息工程學院計算機科學與工程專業學士,中級職稱。從事船舶電子設備研發設計工作近17年;負責、參與了艦船綜合監視設備等一系列產品的設計研發、生產、調試、交付、保障護航工作。