- 授課品牌:
北京達內(nèi)教育
- 機構(gòu)級別:代理會員
- 信譽等級:
資料認(rèn)證
已通過身份證認(rèn)證
已通過辦學(xué)許可認(rèn)證
- 學(xué)校瀏覽人次:次
- 加盟時間:2020年07月24日
嵌入式開發(fā)學(xué)習(xí)中對軟硬件的疑惑
很多朋友在嵌入式開發(fā)學(xué)習(xí)中對軟件和硬件經(jīng)常存有疑惑,廣州嵌入式培訓(xùn)機構(gòu)本文就向大家詳細(xì)解釋嵌入式開發(fā)學(xué)習(xí)時如何看待軟件和硬件的學(xué)習(xí)。
以MCU為核心的嵌入式技術(shù)的知識體系必須通過具體的MCU來體現(xiàn)、實踐。但是,選擇任何型號的MCU,其芯片相關(guān)的知識只占知識體系的20%左 右,80%左右是通用的軟件硬件及相關(guān)知識。80%的通用知識,必須通過具體實踐才能獲得,所以學(xué)習(xí)嵌入式技術(shù)一般要選擇一個系列的MCU。
系統(tǒng)含有硬件與軟件兩大部分,它們之間的關(guān)系如何?有些學(xué)者,僅從電子的角度認(rèn)識嵌入式系統(tǒng)。認(rèn)為“嵌入式系統(tǒng)=MCU硬件系統(tǒng)+小程序”。這些學(xué)者大 多具有良好的電子技術(shù)基礎(chǔ)知識。實際情況是,早期MCU內(nèi)部RAM小,程序存儲器外接,需要外擴各種I/O,沒有像USB、嵌入式以太網(wǎng)等這樣較復(fù)雜的接 口。因此,程序占總設(shè)計量比例小于50%,使人們認(rèn)為嵌入式系統(tǒng)(單片機)是“電子系統(tǒng)”,以硬件為主,程序為輔。但是,隨著MCU制造技術(shù)的發(fā)展,不 僅.MCU內(nèi)部RAM越來越大,F(xiàn)lash進入MCU內(nèi)部改變了傳統(tǒng)的嵌入式系統(tǒng)開發(fā)與調(diào)試方式,固件程序可以更方便地調(diào)試與在線升級,許多情況下與開發(fā)PC機程序的方便程度相差無幾,只不過開發(fā)環(huán)境與運行環(huán)境不是同一載體而已。這使得嵌入式系統(tǒng)的軟件硬件設(shè)計方法發(fā)生了根本變化。
有些學(xué)者,僅從軟件開發(fā)角度認(rèn)識嵌入式系統(tǒng),甚至僅從嵌入式操作系統(tǒng)認(rèn)識嵌入式系統(tǒng)。這些學(xué)者大多具有良好的計算機軟件開發(fā)基礎(chǔ)知識,認(rèn)為硬件是生產(chǎn)廠商的事。他們沒有認(rèn)識到,嵌入式系統(tǒng)產(chǎn)品的軟件與硬件均是需要開發(fā)者設(shè)計的。筆者常常接到一些關(guān)于嵌入式產(chǎn)品穩(wěn)定性的咨詢,發(fā)現(xiàn)大多數(shù)是由于軟件開發(fā)者對底層硬件的基本原理不理解。特別是有些功能軟件開發(fā)者,過分依賴于底層硬件的驅(qū)動軟件,自己對底層驅(qū)動原理知之甚少。實際上,一些功能軟件開發(fā)者,名義上在做嵌入式軟件,其實僅僅是使用嵌入式編輯、編譯環(huán)境而已,本質(zhì)與開發(fā)通用PC機軟件沒有兩樣。而底層硬件驅(qū)動軟件的開發(fā),若不全面考慮高層功能軟件對底 層硬件的可能調(diào)用,也會使封裝或參數(shù)設(shè)計得不合理或不完備,導(dǎo)致高層功能軟件調(diào)用困難?梢钥闯,若把嵌入式系統(tǒng)的開發(fā)孤立地分為硬件設(shè)計、底層硬件驅(qū)動 軟件設(shè)計、高層功能軟件設(shè)計,那么一旦出現(xiàn)問題,就可能難以定位。實際上,嵌入式系統(tǒng)設(shè)計是一個軟件、硬件協(xié)同設(shè)計工程,不能像通用計算機那樣,軟件、硬 件完全分開來看,而要在一個大的框架內(nèi)協(xié)調(diào)工作。
學(xué)習(xí)嵌入式系統(tǒng)是以軟件為主還是以硬件為主,或者如何選擇切入點,如何在軟件與硬件之間取得平衡?對于這個困惑的建議是:要想成為一名真正的嵌入式系統(tǒng)設(shè)計師,在初學(xué)階段,必須打好嵌入式系統(tǒng)的硬件與軟件基礎(chǔ)。以下是從事嵌入式系統(tǒng) 設(shè)計二十多年的美國學(xué)者JohnCatsoulis在《Designing Embedded Hardware》一書中關(guān)于這個問題的總結(jié):嵌入式系統(tǒng) 與硬件緊密相關(guān),是軟件與硬件的綜合體,沒有對硬件的理解就不可能寫好嵌入式軟件;同樣,沒有對軟件的理解也不可能設(shè)計好嵌入式硬件。