<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 多處理器運行的嵌入式系統

多處理器運行的嵌入式系統

作者:朱懷特 李澤 時(shí)間:2005-01-18 來(lái)源:電子產(chǎn)品世界 收藏

2004年9月A版

  在早期開(kāi)發(fā)微的嵌入式軟件時(shí),條件比較簡(jiǎn)單,只有一個(gè)CPU、數量有限的存儲器、若干I/O、還可能有簡(jiǎn)單的網(wǎng)絡(luò )。

  今天,情況已經(jīng)變化。嵌入式系統可能是多CPU,甚至是DSP和CPU的組合。存儲器和數據率都屬于海量,此外,開(kāi)發(fā)隊伍遍布全球,而且客戶(hù)要求提供幾乎不可能達到的可靠性。

  嵌入式軟件供應商怎樣才能夠滿(mǎn)足開(kāi)發(fā)商的需要,包括消息傳送、存儲器管理、CPU/DSP之間的通信、容錯和系統級開(kāi)發(fā)工具呢?

  當DSP越來(lái)越復雜和更加強大時(shí),開(kāi)發(fā)商逐漸認識到,必須在這些器件上運行實(shí)時(shí)操作系統。當執行多任務(wù)時(shí),實(shí)時(shí)操作系統能夠有效地使用DSP的資源,并且對誤差處理和存儲器地址分配等作業(yè)有幫助。

  對于TigerSHARC等DSP,實(shí)時(shí)操作系統通過(guò)“鏈接端口”處理通信,控制其它CPU和DSP,并且產(chǎn)生同步。為CPU和DSP同時(shí)提供通用的API(應用程序接口)可改善開(kāi)發(fā)時(shí)間、編寫(xiě)文件和代碼維護。

  實(shí)時(shí)操作系統結構的一項重要進(jìn)步是內部處理通信能力—嵌入式系統的作業(yè)如何與其它作業(yè)交換數據。傳統辦法是分享存儲器的“信箱”,采用信號量進(jìn)行存取和控制。

  隨著(zhù)嵌入式系統變得更為復雜。許多開(kāi)發(fā)團隊轉而使用異步的信息通行結構(參閱圖1)。從程序員的觀(guān)點(diǎn)來(lái)看,例如在OSE實(shí)時(shí)操作系統中,作業(yè)只要簡(jiǎn)單地發(fā)送消息和另一個(gè)作業(yè)接收消息。這樣做的優(yōu)點(diǎn)很多,由于實(shí)時(shí)操作系統處理了存儲器的地址分配,系統的調用數就減少。作業(yè)可在系統內任何地方接收。甚至可通過(guò)背板接收到在另一塊電路板的作業(yè);不管作業(yè)在哪里,實(shí)時(shí)系統都可對它進(jìn)行處理,事實(shí)上,消息通行的異步方式是指一個(gè)作業(yè)不能鎖住另一個(gè)正在等候信號的作業(yè);有時(shí)候在復雜的分布系統中,這樣做是很重要的。

  異步的消息通行結構還有另外的優(yōu)點(diǎn),它可將項目劃分成幾部分,再分配到幾個(gè)小組作并行開(kāi)發(fā)。

  存儲器管理是另一個(gè)結構問(wèn)題。當系統要得更加動(dòng)態(tài)和更加著(zhù)重存儲器時(shí),嵌入式系統的存儲器管理就變得十分重要。在動(dòng)態(tài)系統中,一個(gè)不可避免的問(wèn)題是數據分段。雖然無(wú)用信息收集法可作為一種解決方案,但是它的風(fēng)險會(huì )影響到系統的實(shí)時(shí)性能。

  OSE實(shí)時(shí)操作系統正用于全球的基站中,經(jīng)常放置在遠端臺站。對網(wǎng)絡(luò )供應商來(lái)說(shuō),損失客房的空中時(shí)間或票據信息都是不可取的。OSE用兩種地址分配方式來(lái)消除分段,“堆置(heap)”,根據黃金分割法的順序分配存儲器地址,從而限制分段;輪詢(xún)緩沖器(a pool of buffers),此時(shí)任務(wù)分配為輪詢(xún)存儲器,而且只分配到預定容量的緩沖器中。一旦某個(gè)緩沖器被使用,它就回到系統內。結果是輪詢(xún)的全部存儲器隨時(shí)保持“可用”狀態(tài)。這種辦法還有一些重要特點(diǎn),如不會(huì )受到存儲器搜索延時(shí)的影響。

  現代實(shí)時(shí)操作系統結構的進(jìn)展是誤差處理(參閱圖2)。在傳統系統中,軟件開(kāi)發(fā)者為了處理可能發(fā)生的任何錯誤,在系統訪(fǎng)問(wèn)后必須編寫(xiě)“差錯代碼”,例如,出現失效的存儲器地址分配錯誤。不難想到,當項目越大和開(kāi)發(fā)隊伍擴大時(shí),將有許多人寫(xiě)出大量的差錯碼。在OSE結構中,錯誤處理是內建在系統訪(fǎng)問(wèn)的運作。

  從程序員的觀(guān)點(diǎn)來(lái)看,應用提出對系統訪(fǎng)問(wèn),而實(shí)時(shí)操作系統完成其它工作。如果系統訪(fǎng)問(wèn)失敗,則內核將調用中央錯誤去解決問(wèn)題。

  這樣做有很多好處。第一,應用碼更加緊湊和可靠,而且開(kāi)發(fā)和排錯也更快。第二,更多錯誤處理可在系統級進(jìn)行,構成更牢靠的容錯系統。

 

各種之間的通信

  嵌入式開(kāi)發(fā)的最重要發(fā)展趨勢也許就是混合設計和多CPU/DSP設計了。這種設計有系統級、電路板級、甚至芯片級,例如,集成器件諸如TI公司的OMAP,它的特點(diǎn)是ARM核和一個(gè)DSP結合。

  實(shí)時(shí)操作系統開(kāi)發(fā)商加緊CPU和DSP兩者的開(kāi)發(fā),但是怎樣解決DSP與CPU的通信呢?Enea嵌入式科技公司構建了一種鏈接處理器。它是實(shí)時(shí)操作系統的一部分,用來(lái)處理整個(gè)系統內各任務(wù)的分散消息,不管消息來(lái)自鄰近的DSP或是在另一插卡上的CPU。它的工作能夠跨越大部分通信機制,包括以太網(wǎng)、串行口、CAN和Compact PCI等。這種鏈接處理器是智能的,能夠檢測出傳輸機制的故障和尋找出新的路由。它還能夠根據名稱(chēng)來(lái)分配任務(wù),甚至發(fā)送不知道接收方的位置/路徑的任務(wù)。

  構建在鏈接處理器上,OSE的開(kāi)發(fā)人員開(kāi)發(fā)出兩種系統訪(fǎng)問(wèn)方式,稱(chēng)為“搜索”和“連接”?!八阉鳌痹L(fǎng)問(wèn)讓某一任務(wù)決定需要與另一任務(wù)通信的路徑。一旦知道路徑后,該任務(wù)即可“連接”上接收的任務(wù)。同時(shí)表明,如果該任務(wù)遇到有任何事件發(fā)生,則內核將會(huì )告知發(fā)送任務(wù)方。接收任務(wù)所駐留的電路板是否已移走或失效,都會(huì )告訴發(fā)送方。因而,該任務(wù)可將(失效)的復印件重新“搜索”一次,或者將一份新的接收方任務(wù)復印件送到(熱插拔)的替換電路板上。

 

縮短開(kāi)發(fā)時(shí)間

  面市時(shí)間是大事迫使軟件和工具供應商提出解決方案。例如Ericsson等公司的許多前階段開(kāi)發(fā),在實(shí)際硬件未完成前是在OSE的“軟內核”上進(jìn)行的,軟內核是一種已移植到Windows上的一種實(shí)時(shí)操作系統,使工程師能夠在臺式PC上開(kāi)發(fā)代碼。這種開(kāi)發(fā)環(huán)境可支持多內核,甚至支持鏈接處理器技術(shù)。

  在查錯階段,許多工作可使用“系統級”查錯工具。工具對運行在系統內的任務(wù),狀態(tài)以及性能提供可見(jiàn)度,工具可動(dòng)態(tài)地分析存儲器的使用情況;用一個(gè)任務(wù)或一組任務(wù)分析對CPU的要求;對通過(guò)系統的消息進(jìn)行跟蹤;甚至可讓工程師在系統級上設置斷點(diǎn),以及對運行中的系統注入測試和分析用的信號。因而,工程師即可在工作臺上而無(wú)需在現場(chǎng)快速查錯。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>