基於軟體開發對嵌入式開發的思考

來源:互聯網
上載者:User

標籤:

由於本人專業方向是電腦體繫結構方向的,平時做嵌入式方面的實驗以及項目較多,這個學期又學習了軟體工程的課程,因此想藉此機會,總結下在軟體工程上面學習到的知識,並看看是否有什麼能夠借鑒到嵌入式方向的開發上面去。

首先我想總結下,軟體開發與嵌入式開發的不同之處。作為軟體開發,首先應當從使用者或者使用者的需求入手,明白使用者想讓你去實現什麼功能,而到了具體的實現,有時卻限制的不是那麼的死。而至於嵌入式的開發,從需求入手是相同的,但是對於實現的方式,卻明顯不同於傳統的軟體開發。對於程式設計語言,不同的嵌入式開發平台有著不同的相容需求,碰上好的可以用c++,要求高的就是c,或者類c,再不濟就是組合語言,而且是各種各樣的組合語言。為什麼會有這樣的限制?我認為正是出於成本的考慮。比如一個人電冰箱,要控制整台冰箱的功能,並不需要一個很強大的處理核心,而只要能夠滿足一些基本的溫度採集,製冷機控制訊號就足夠了,顯然並不需要再附加什麼c++編譯器來實現控制,那樣不但浪費了許多儲存空間,而且對於執行效率沒有協助反而會有阻礙作用,得不償失。若採用組合語言來實現的話,一來編譯沒有難度,基本上通過邏輯電路就可得到可執行檔機器代碼,二來沒有複雜的程式邏輯,對編程人員的壓力也不是很大。可見,在嵌入式的開發過程中,除了要考慮需求,更要去考慮你實現的成本。在軟體工程中並不明顯的指標,換做在嵌入式的開發過程中情況卻截然不同。

那麼,有什麼是我能夠從軟體共課程中借鑒來的呢?我認為,應該是這種工程化開發的思路以及過程。工程化方法的好處就是,可以使你在開發過程中條理清晰,知道自己現在正在做什麼,知道自己將要做什麼,知道自己什麼還沒有去做,以一個全域的統籌形象來管理你的工程,清晰明了。在嵌入式開發的過程中,特別需要這樣的工程化方法,其一因為使用低級的程式設計語言無法使程式結構一目瞭然,這時除了註解添加,更好的方法就是以圖結構來描述你所做的設計,因為圖結構確實可以描述一些語言所不及的範疇,這樣使得每次通過閱讀圖描述,就能夠明白開發進行到了哪一步。還有就是因為在嵌入式開發的結尾階段會有大量的測試工作,而測試資料的分析可以借鑒軟體工程中的分析方法。其他的方面還有很多很多,但是光是以上兩點,我覺得已經能夠使我在嵌入式的開發過程中有所提高。

基於軟體開發對嵌入式開發的思考

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.