總結:嵌入式系統設計與開發流程

基於《嵌入式系統硬件與軟件構架》,對嵌入式系統設計與開發流程進行整理總結。歡迎你們交流。(英文《EMbedded Systems Architecture - A Comprehensive Guide for Engineers and Programmers》)編程

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------安全

學習一門專業,首先整體上要有一個思惟體系,以後再對所須專業知識進行系統學習。所謂思惟體系,就是了解這門專業的知識構架,結合本身的目的,規劃學習方法。而《嵌入式系統硬件與軟件構架》一書,從系統層面事無鉅細的介紹有關嵌入式系統的知識,包括嵌入式硬件,軟件。從基本硬件材料如何實現存儲、計數等功能,到應用軟件由編譯器將編程語言輸出成機器代碼。讀完這些會對嵌入式系統有一個宏觀的瞭解,它是如何運行的,如何實現的。而這些知識也是每一個設計師應該掌握的,如書中屢次強調,硬件工程師應該在系統層面瞭解軟件,軟件工程師應該從系統層面瞭解硬件的運行。而這本書的後兩章,就是本書的昇華和結晶,也就是對應咱們的題目——嵌入式系統設計與開發。編程語言

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ide

首先嵌入式系統設計與開發分爲2大部分:建立體系結構;實現與測設。性能

建立體系結構分爲6個階段:學習

  1. 具備堅實的技術基礎:從系統工程機去理解嵌入式系統中實現的全部元素,即相關軟件、硬件,工做原理等;
  2. 理解體系結構的任務週期:在項目的開始就能認清、理解、探討影響涉及的各個因素,在將大量時間、金錢、精力投入到最初涉及的體系結構後,這些影響中任何一個因素都不太可能在之後要求對設計進行改變或者延遲;這是做者認爲最重要的一個階段,即磨刀不誤砍柴工。瞭解需求,非技術如市場營銷需求、客戶需求、工程師需求、成本、開發條件;技術上包括質量需求,可靠性、性能、安全性。從需求出發獲得軟硬件解決方案(多種)。
  3. 定義體系結構模式和參考模型:一個嵌入式系統的高層次歸納,歸納了設備能容納的各類類型軟硬件元件,及其在系統中的做用。選擇商業上可用的軟硬件,並進行因素的對比分析,選擇適合的一款,如操做系統的選取、編程語言的選取、處理器的選取、控制板的選取等待;
  4. 定義體系結構型結構:沒太看懂,我的以爲是另外一個角度對軟硬件進行設計,但願你們討論一下;
  5. 編寫體系結構文檔:記錄全部結構(包括元件、元件在系統中的功能、元件間關係)。文中建議分三步:一、編寫一個總括整個體系結構的文檔;二、爲每一個結構編寫一個文檔;三、體系結構詞彙表(註解)。這種方式能夠爲體系結構進行說明,方面之後的開發
  6. 分析和評估體系結構。
測試與調試是由區別的,測試是在試圖破壞系統的狀況下發現錯誤。包括測試至成功和測試至失敗兩種。

建議:
  • 階段2:信息收集要造成文字,任何記錄的文檔不管多麼不正式,都應當保存下來。當需求造成文字,就會下降混淆或者之前產生的有關需求的交流不一致的可能性,由於書面文檔能夠用來參考解決相關問題。
  • 從非功能性需求能夠得到某些功能性需求,一些項目在開始時沒有明確的功能性需求,只有一個設備應該被設計成能作什麼的整體概念,這點很是有用。
  • 階段3:編程語言的選擇,操做系統的使用,嵌入式開發板基於何種處理器是最關鍵的設計元件。
  • 調試階段:最廉價最快速的調試方法首先是不要引入任何錯誤。即不要開發的太快而不細緻。
  • 負責一個組件的工程師不敢對提供的組件作任務修改,那麼這個組件一般將要被從新設計。
  • 在試圖運行或修改任務東西以前,首先閱讀生產商/或相應工程師提供的文檔。