發布日期:2022-07-15 點擊率:31
客戶培訓總監
Aisys公司
在嵌入式系統軟件開發中,其中一個最容易被忽視的領域是器件驅動程序和板級支持封裝(BSP)復用。但現在,設計人員可以使用一種稱作器件驅動程序開發環境(3DE)的最新工具,來加速BSP和器件驅動程序的開發工作。
過去,為評估開發工具和可執行軟件的“投入產出”的決定是否合理,一直采用計算投資回報(ROI)的方法。但隨著當今產品開發周期的日益縮短,ROI已變得無關緊要,產品投放市場的時間成為目前商家考慮的首要因素。簡單地講,產品面市時間晚所付出的代價要遠遠超過自己開發嵌入式軟件所帶來的全部利益。摩爾定律更加推動了這一發展趨勢,它預測每隔18到24個月,半導體器件的復雜度就會增加一倍。最近,在含有中央處理器的硅片外圍器件上,這種復雜度的增加趨勢已經得到了充分體現,這些片上外圍器件變得越來越復雜。由于摩爾定律以及嵌入式軟件開發商的工作效率和生產能力有限,因而形成這樣一種明顯的趨勢勢,即一個軟件開發組織不可能親自動手開發所有的軟件。
當前形勢要求軟件開發組織能夠確定他們的核心優勢;然后需要從其它的軟件中找出能夠體現他們核心優勢的軟件,這些軟件僅運行他們本身的應用。這些組織把他們的寶貴資源集中于其核心優勢方面,能夠獲得增值性能。
在嵌入式系統軟件開發中,可復用IP包括開發環境建立模塊(工具)和可復用執行代碼。常見的商用軟件開發環境建立模塊如圖1所示。
圖1:常見的商用化嵌入式系統軟件開發環境組成
許多商業現貨(COTS)嵌入式系統軟件開發環境包含有“集成化開發環境”組件,見圖1中的標識。在通常情況下,實際的軟件設計還需要有其它的工具,例如計算機輔助軟件設計封裝、測試管理和版本控制工具。
在嵌入式系統軟件開發中,第二大類可復用IP是可復用執行代碼,其分層結構如圖2所示,
圖2:嵌入式系統目標計算機上的可執行代碼
最頂層是應用軟件,它表示了多數嵌入式系統開發組織的核心能力。如果該應用軟件是多任務同時執行的結構,那么在下一層會有實時操作系統(RTOS內核)以支持多任務作業。如果應用軟件需要在一個或多個網絡中進行數據通信,那么應用層下面的一層還應包括通信協議棧。再下一層包括器件驅動程序和板級支持封裝(BSP),BSP是聯系高層軟件與嵌入式系統中基礎硬件的一段代碼,用以生成能夠執行更高層軟件的環境。器件驅動程序包含有特定的硬件代碼,允許更高層軟件直接操作嵌入式系統中的輸入和輸出器件。最底層是嵌入式微處理器硬件以及嵌入式系統的外圍硬件。在硬件與應用層中間的灰色層代表“僅僅必需”的軟件,它能夠使可復用IP使用起來更方便。
3DE要素
除了上面講到的那些嵌入式系統軟件開發要素外,在嵌入式軟件開發人員的標準指令系統工具與可復用IP中還將有一個新要素--器件驅動程序開發環境(3DE),它能夠自動支持并加快長期被忽略的板級支持封裝(BSP)與器件驅動程序的開發。
單個開發項目常常需要開發大量不同的BSP與配套的器件驅動程序。對于那些一開始就采用商用計算機板(COTS硬件)進行開發的項目來說,需要一塊評估板基本BSP,同時需要改進這塊支持RTOS的評估板BSP,以允許采用RTOS進行應用軟件開發。
利用目標硬件板開發BSP,能夠幫助工程師開發出用戶自定義的硬件板,它可作為嵌入式軟件的實際平臺。BSP會隨著硬件開發的進步而發展,至于軟硬件的集成,則需要利用支持RTOS的目標硬件板BSP進行。
由于在單個項目中常常需要這些BSP變量,因此自動支持BSP建立過程具有諸多益處,它推動了3DE工具行業的發展并刺激了對該產品的需求。
3DE工具裝備有現行的用戶接口,很象一個“知識基地”(knowledge base),如圖3所示。
圖3:3DE工具的命令解釋程序和“知識基地”
因為許多片上與片外的外圍器件的復雜性和獨特性,在BSP和驅動程序開發階段,存儲在知識基地的源代碼模塊必須由專家采用手工進行編寫。
自動化BSP的步驟
用戶必須經過一系列的標準步驟,才能利用3DE工具建立BSP和配套驅動程序的整套工程環境參數,以及進行硬件參數設置、器件驅動程序選擇、參數和代碼的創建。
工程環境參數包括編譯器選擇和RTOS選擇。由于數據結構包和中斷處理等因素,編譯器的選擇會影響所生成的代碼。RTOS的性能會影響BSP的整體結構,比如會修改BSP的執行順序和中斷處理過程。
硬件設置包括下面一些參數,即處理器內存映像圖、時鐘、外部中斷優先級與嵌套、內部中斷處理和復位動作。對于許多軟件/固件開發人員來說,其中有些問題可能會不太清楚,因此一個好的3DE工具常常需要提供所有選項和參數的默認值,并形成合理的“首次切割”(first cut)BSP結構和配套的驅動程序。
器件驅動程序選擇和參數定義是3DE工具的核心,例如,可以在DriveWay 的“芯片瀏覽器”(chip explorer)屏幕上完成所有操作,DriveWay是目前流行的一個3DE工具。
芯片瀏覽器的屏幕顯示是一個簡單的交叉連接表,列表中顯示了所有的外圍器件,因為顯示有專用的處理器芯片,驅動程序能夠有效地驅動這些外圍器件。列表中的器件按字母順序排列,每個器件都有其全面的技術“幫助”文件。用戶只要點擊屏幕上的器件,就可以查看到外圍器件及其驅動程序的具體參數指標,之后在屏幕上會出現一系列有關該器件的更詳細的性能指標,直到顯示完其驅動程序的所有參數。在所做的每一步中,屏幕上的所有區域中都會出現默認值--因此無需深入研究過多的選項和寄存器,就可以快速獲得“首次切割”的合理的驅動程序。
一旦確定某個驅動程序的參數要求,芯片瀏覽器屏幕就會刷新。然后用戶就可以選擇其它的外圍器件,對其進行上述的參數設定。當所有相關的外圍器件都按這種方法定義好后,用戶可通過單擊鼠標來執行代碼生成。
代碼生成過程是自動化的,它根據用戶在上述步驟中定義的輸入參數,將信息和“知識基地”中的源代碼進行集成。典型的代碼生成僅需幾分鐘的時間,便可產生幾萬行的BSP和驅動程序源代碼,這些源代碼被組織成文件組的形式,它們包括:
啟動代碼文件(在匯編程序中)
終端器件驅動程序文件(用于常駐目標調試程序接口)
網絡器件驅動程序文件(用于源碼級調試程序接口)
外圍器件驅動程序文件(C語言)
外圍器件驅動程序測試功能代碼文件
實時操作系統接口代碼文件
配置文件
生成文件
代碼生成也是非常靈活的,如果用戶要往這些文件中插入額外的代碼并要再次進行代碼生成,用戶的新增加代碼會受到保護,并以新的方式保存所生成的代碼。一般來說,由于用戶要更好地理解外圍器件以及嵌入式系統的應用需求,代碼生成至少要做七遍。
3DE工具的出現以及給嵌入式軟件開發人員帶來的標準化工具和可復用IP,造就了一個新的BSP和驅動程序結構的范例,從而無需在非常困難的位和字節級硬件/軟件接口問題上花費太多的人力和時間。3DE工具把硬件/軟件接口問題轉化為利用高級的鼠標和菜單語言來解決,這一先進的方法能使軟件開發具有更高的質量和效率。
欲了解更多信息,請聯系:David Kalinsky。
E-mail: david@
網站推薦
利用IP評估模型可以縮短設計時間
一個設計復用的最新范例,可以幫助人們更方便地為其應用挑選出正確的IP,以便在設計過程中騰出更多時間用于其它重要的事情。它只需要下載指定的IP、確定IP參數、并在內核許可之前對其進行評估。
實施移植型IP復用策略
如果將要進行的設計小于,那么設計人員肯定要考慮軟件/硬件IP復用因素。在具有特殊要求的處理技術中使用IP,需要在多方面作出重新考慮。
下一代PLD工具的必備條件
設計百萬門的PLD,要求下一代設計工具編譯速度更快、效率更高并且更易進行設計復用,還要允許多個設計人員同時完成一個芯片的設計。
消費類市場中“信息產品”的設計
消費類數字信息產品/家庭娛樂系統包括機頂盒(有線電視和直接廣播衛星)、3D游戲控制臺、組合功能型DVD播放器和網上沖浪盒/網絡電視,在未來十年中,它們將得到快速增長,并有望成為增長速度最快的市場熱點之一。