嵌入式系統所需掌握的知識繁多,初學者在嵌入式技術培訓期間,可能會陷入不同的誤區。粵嵌整理了一些,看看大家是否也有同樣的困惑。
1、嵌入式系統的知識體系
嵌入式系統的應用范圍可以粗略分為兩大類:電子系統的智能化(工業 控制、現代農業、家用電器、汽車電子、測控系統、數據采集等),計算機應用的延伸(MP3、手機、通信、網絡、計算機外圍設備等)。從這些應用可以看出, 要完成一個以MCU為核心的嵌入式系統應用產品設計,需要硬件、軟件及行業領域相關知識。硬件主要有MCU的硬件小系統、輸入/輸出外圍電路、人機接口 設計。軟件設計有固化軟件的設計,也可能含PC機軟件的設計。行業知識需要通過協作、交流與總結獲得。
2、嵌入式技術培訓誤區
2.1 操作系統的困惑——如果說,學習嵌入式系統不是為了開發其應用產品,那 就沒有具體目標,諸如學習方法這樣的問題也就不必談了。實際上,這正是許多人想學,又不知從何開始學習的關鍵問題所在,不知道自己學習的具體目標。于是, 看了一些培訓廣告,看了書店中種類繁多的嵌入式系統書籍,或上網以“嵌入式系統”為關鍵詞進行查詢,就參加培訓或看書,開始“學習起來”。對于有計算機閱 歷的人,往往選擇一個嵌入式操作系統就開始學習了。這有點像“瞎子摸大象”,只了解其一個側面。這樣如何能對嵌入式產品的開發過程有全面了解呢?針對許多 初學者選擇“XXX嵌入式操作系統+XXX處理器”的嵌入式系統入門學習模式,筆者認為是不合適的。筆者的建議是:首先把嵌入式系統軟件與硬件基礎打好 了,再根據實際需要,選擇一種實時操作系統(RTOS)進行學習實踐。要記住:RTOS是開發某些類嵌入式產品的輔助工具,是手段,不是目的;許多類嵌入 式產品,并不需要RTOS。所以,一開始就學習RTOS,并不符合“由淺入深、循序漸進”的學習規律。 RTOS本身由于種類繁多,實際 使用何種RTOS,一般需要由工作單位確定。基礎階段主要學習RTOS的基本原理與RTOS上的軟件開發方法,而不是學習如何設計RTOS。以開發實際嵌 入式產品為目標的學習者,不要把過多的精力花在設計或移植RTOS上面。正如很多人使用Windows操作系統,而設計 Windows操作系統的只有Microsoft。許多人“研究”Linux,但不使用它,浪費了時間。人的精力是有限的,學習必須有所選擇。
2、2 硬件與軟件的困惑——以MCU為核心的嵌入式技術的知識體系必須通過具體的MCU來體現、實踐。但是,選擇任何型號的MCU,其芯片相關的知識只占知識體系的20%左 右,80%左右是通用的軟件硬件及相關知識。80%的通用知識,必須通過具體實踐才能獲得,所以學習嵌入式技術一般要選擇一個系列的MCU。
系統含有硬件與軟件兩大部分,它們之間的關系如何?有些學者,僅從電子的角度認識嵌入式系統。認為“嵌入式系統=MCU硬件系統+小程序”。這些學者大 多具有良好的電子技術基礎知識。實際情況是,早期MCU內部RAM小,程序存儲器外接,需要外擴各種I/O,沒有像USB、嵌入式以太網等這樣較復雜的接 口。因此,程序占總設計量比例小于50%,使人們認為嵌入式系統(單片機)是“電子系統”,以硬件為主,程序為輔。但是,隨著MCU制造技術的發展,不僅MCU內部RAM越來越大,Flash進入MCU內部改變了傳統的嵌入式系統開發與調試方式,固件程序可以更方便地調試與在線升級,許多情況下與開發 PC機程序的方便程度相差無幾,只不過開發環境與運行環境不是同一載體而已。這使得嵌入式系統的軟件硬件設計方法發生了根本變化。
2.3 片面認識嵌入式系統——嵌入式系統產品種類繁多,應用領域各異。在第1部分中,把嵌入式系統的應用范圍粗略分為電子系統的智能化與計算機應用的延伸兩大類。
粵嵌科技在嵌入式技術培訓中會注重學以致用,通過各種真實項目體驗讓學員在學習過程中積累實戰經驗,培養創新精神和創造力,以適應當今的科技發展趨勢,同時在培訓講師引導下可以規避自學時遇到的諸多問題,讓你解開這些困惑。