Linux嵌入式系統設計開發過程

來源:互聯網
上載者:User
嵌入式系統設計的過程

按照常規的工程設計方法, 嵌入式系統的設計可以分成 3 個階段: 分析, 設計和實現。分析階段是確定要解決的問題及需要完成的目標, 也常常被稱為需求階段; 設計階段主要是解決如何在給定的約束條件下完成使用者的要求; 實現階段主要是解決如何在所選擇的硬體和軟體基礎上進行整個軟、硬體系統的協調實現。在分析階段結束後, 開發人員通常面臨的一個棘手的問題就是硬體平台和軟體平台的選擇, 因為它的好壞直接影響著實現階段任務的完成。

通常, 硬體和軟體的選擇包括處理器、硬體組件、作業系統、程式設計語言、軟體開發工具、硬體調試工具、軟體組件等。在上述選擇中, 處理器往往是最重要的, 作業系統和程式設計語言也是非常關鍵的。處理器的選擇常常會限制作業系統的選擇,作業系統的選擇又會限制開發工具的選擇。

硬體平台的選擇

處理器的選擇

嵌入式系統的核心組件是各種類型的嵌入式處理器。據不完全統計, 目前全世界嵌入式處理器的品種總量已經超過 1000 多種, 流行體系有 30 幾個系列。但與全球 PC 市場不同的是。沒有一種微處理器和微處理器公司可以主導嵌入式系統, 僅以 32 位的CPU 而言, 就有 100 種以上嵌入式微處理器。由於嵌入式系統設計的差異性很大, 因此選擇是多樣化的。ARM 是近年來在嵌入式系統有影響力的微處理器架構,ARM的設計非常適用於小型的嵌入式裝置。

設計者在選擇處理器時要考慮的主要因素有:

① 處理效能。一個處理器的效能取決於多個方面的因素,如時鐘頻率,內部寄存器的大小,指令是否對等處理所有的寄存器等。對於許多需用處理器的嵌入式系統設計來說,目標不是在於挑選速度最快的處理器,而是在於選取能夠完成作業的處理器和I/O子系統。如果是面向高效能的應用設計,那麼建議考慮某些新的處理器,其價格相對低廉,如IBM和Motorola Power PC。

② 技術指標。當前,許多嵌入式處理器都整合了外圍裝置的功能,減少了晶片的數量,降低了整個系統的開發費用。開發人員首先考慮的是,系統所要求的一些硬體能否無需過多的膠合邏輯(GL,Glue Logic)就可以串連到處理器上。其次是考慮該處理器的一些支援晶片,如DMA控制器,記憶體管理器,中斷控制器,串列裝置、時鐘等的配套。

③ 功耗。嵌入式微處理器最大並且增長最快的市場是手持功能、電子記事本、PDA、手機、GPS導航器、智能家電等消費類電子產品。這些產品中選購的微處理器,典型的特點是要求高效能、低功耗。許多CPU生產廠家已經進入了這個領域。今天,使用者可以買到一顆嵌入式的微處理器,其速度像筆記本中的Pentium一樣快;而它僅使用普通電池供電即可,並且價格很便宜。如果用於工業控制,則對這方面的考慮較弱。

④ 軟體支援工具。僅有一個處理器,沒有較好的軟體開發工具的支援也是不行的,因此選擇合適的軟體開發工具對系統的實現會起到很好的作用。

⑤ 是否內建調試工具。處理器如果內建調試工具可以大大縮小調試周期,降低調試的難度。

⑥ 供應商是否提供評估板。許多處理器供應商可以提供評估板來驗證理論是否正確,決策是否得當。

硬體選擇的其它因素

首先, 需要考慮的是生產規模。如果生產規模比較大, 可以自己設計和製備硬體, 這樣可以降低成本。反之, 最好從第三方購買主板和 I/O 板卡。

其次, 需要考慮開發的市場目標, 如果想使產品儘快發售, 以獲得競爭力, 就要儘可能購買成熟的硬體。反之, 可以自己設計硬體, 降低成本。

另外, 軟體對硬體的依賴性, 即軟體是否可以在硬體沒有到位的時候並行設計或先行開發也是硬體選擇的一個考慮因素。

最後, 只要可能, 盡量選擇使用普通的硬體。在 CPU 及架構的選擇上, 一個原則是: 只要有可替代的方案, 盡量不要選擇 LINUX尚不支援的硬體平台。

3、軟體平台的選擇

嵌入式軟體的開發流程, 主要涉及代碼編程、交叉編譯、交叉連結、下載到目標板和調試等幾個步驟, 因此軟體平台的選擇也涉及作業系統、程式設計語言和整合式開發環境 3 個方面。

① 作業系統提供的開發工具。有些即時作業系統(RTOS)只支援該系統供應商的開發工具,因此,還必須向作業系統供應商擷取編譯器、調試器等;而有些作業系統使用廣泛,且有第三方工具可用,因此,選擇的餘地比較大。

② 作業系統向硬體介面移植的難度。作業系統到硬體的移植是一個重要的問題,是關係到整個系統能否按期完工的一個關鍵因素。因此,要選擇那些可移植性程度高的作業系統,避免作業系統難以向硬體移植而帶來的種種困難,加速系統的開發進度。

③ 作業系統的記憶體要求。均衡考慮是否需要額外花錢去購買RAM或EEPROM來迎合作業系統對記憶體的較大要求。

④ 開發人員是否熟悉此作業系統及其提供的API。

⑤ 作業系統是否提供硬體的驅動程式,如網卡等。

⑥ 作業系統的可剪裁性。有些作業系統具有較強的可剪裁性,如嵌入式Linux、Tornado/VxWorks等等。

⑦ 作業系統的即時效能。

整合式開發環境考慮的因素

整合式開發環境IDE(Integrated Development Environment)應考慮以下因素:

① 系統調試器的功能。系統調試特別是遠端偵錯是一個重要的功能。

② 支援庫函數。許多開發系統提供大量使用的庫函數和模板代碼,如大家比較熟悉的C++編譯器就帶有標準的模板庫。它提供了一套用於定義各種有用的集裝、儲存、搜尋、排序對象。與選擇硬體和作業系統的原則一樣:除非必要,盡量採用標準的 glibc。

③ 編譯器開發商是否持續升級編譯器。

④ 串連程式是否支援所有的檔案格式和符號格式。

硬體調試工具的選擇

好的軟體偵錯工具可以有效地發現大多數的錯誤,但是如果再選擇一個好的硬體調試就會達到事半功倍的效果。常用的硬體調試工具有以下幾種:

① 即時線上模擬器(ICE,In-Circuit Emulator)。使用者從模擬插頭向ICE看,ICE應是一個可被控制的MCU。ICE是通過一根短電纜連線到目標系統上的。該電纜的一端有一個外掛程式,插到處理器的插座上,而處理器則插到這個外掛程式上。ICE支援常規的調試操作,如單步運行、斷點、反組譯碼、記憶體檢查、來源程式級的調試等等。

② 邏輯分析儀。邏輯分析儀最常用於硬體調試,但也可用於軟體調試。它是一種無源器件,主要用於監視系統匯流排的事件.

③ ROM模擬器。ROM模擬器用於插入目標上的ROM插座中的器件,用於模擬ROM晶片。可以將程式下載到ROM模擬器中,然後偵錯目標上的程式,就好像程式燒結在PROM中一樣,從而避免了每次修改程式後直接燒結的麻煩。

④ 線上調試OCD或線上模擬(on-chip emulator)

特別的矽基材料以及定製和CPU引腳的串列串連,在這種特殊的CPU晶片上使用OCD (On-Chip Debugging),才能發揮出OCD的特點。用低端適配器就可以把OCD連接埠和主工作站以及前端調試軟體串連起來。從OCD的基本形式看來,它的特點和單一的ROM監測器是一致的,但是不像後者那樣,需要專門的程式以及額外的通訊連接埠。

嵌入式領域CPU選擇參考:

ARM:三星 Micrel

PPC:Freescale IBM

X86:Intel

IDE參考:

Tornado + vxworks:windriver

linux:montavista

ads:freescale(motorola)

我個人感覺現在在嵌入式系統設計中一個比較頭疼的問題就是方案的選型,很多好的產品之所以成功,很大一部分功勞就是它成功的選型。這方面是一個不斷積累的過程。CPU的選型是所有選型中的重中之重,很重要。國內有些廠家在生長消費類產品時,一味選擇便宜的cpu和硬體模組,而忽視一些其它模組(軟體模組)的重要性,導致研發周期變長,甚至流產,所以我們在做設計時,一定要全盤考慮清楚。總體說來,電子產品的設計有如下一些選型:

設計工具(原理圖和pcb):考慮protel容易上手,建議用它。cadence功能強大,也可以考慮,其它的有powerpcb等。

設計平台:windows xp + linux(架站和軟體維護)

cpu:處理效能、技術指標(膠合邏輯)、功耗、軟體支援工具、是否內建調試器、是否提供評估板、價格

作業系統選擇:開發工具(gcc、gdb,是否有第三方工具等)、硬體介面移植難度、記憶體要求、API是否容易熟悉、是否提供硬體驅動(網口)、是否可以剪裁、即時效能、價格等

IDE選擇:是否容易上手、是否持續更新、編譯調試器功能是否強大。

硬體模擬器:一般做開發應用。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.