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