如何學習嵌入式

2021-06-08 05:07:07 字數 2880 閱讀 5329

如何學習嵌入式

第一篇:

先講一講需要掌握的基本技能。

答: (1)c語言是所有程式語言中的王者(微控制器、dsp、類似arm的種種晶元的程式設計都可以用c語言搞定),因此必須非常熟練的掌握,大學本科教學中的c語言是遠遠不夠的,有兩個非常重要的內容沒有講「檔案的操作」和「io的操作」,其中「io的操作」是必須掌握的技術。 

(2)作業系統原理,是必需的,如果你是計算機專業畢業那也就無所謂了,如果是非計算機專業的就必須找一本比較淺顯的計算機原理書籍看一看,把啥叫「程序」「執行緒」「系統排程」等等基本問題搞清楚 

(3)計算機原理應該指的是x86的微機原理吧,但是在嵌入式領域x86處理器只是冰山的一小角,還有很多叫做arm、xscale、superh、68k、powerpc等等等等,無數的其它處理器,有一些我也叫不上名字。但是,x86總規是基礎,萬變不離其宗,深入學一下還是非常有必要的(尤其對於想要學習linux的朋友,想要讀核的話就必須要深入學習以下x86系統架構)。 

如何學習嵌入式開發呢?

答: 大家都知道這個領域人才非常稀缺,但是,學習週期比較長,需要的知識面也比較廣,所以不要心急。先看看下面的幾個問題,了解一下你現在的知識水平: 

(1)你用vc++或bc++編寫過應用程式嗎? 

如果編寫過應用程式,那就做好了,如果你沒有做過上層應用程式,那麼又如何能夠去理解更深的更高深的底層程式呢,那就趕快補上這一課吧!!! 

(2)你曾經編寫過微控制器或者dsp的程式嗎? 

我們把類似51微控制器或者dsp上面跑的沒有作業系統的程式叫做「**裸奔」,我們也都曾經編寫過裸奔的**。因為有的時候比如我們編寫乙個簡單的程式,就只需要點幾個led檢測幾個按鈕的狀態,那麼「**裸奔」弄乙個while(1)的死迴圈就足夠了,殺雞何必用牛刀。 

編寫這種裸奔的**,也是學習嵌入式的必由之路,因為,你將會用c語言去對暫存器寫控制字,這就是以後寫驅動程式的基礎呀。 

另外需要說明的是,從概念上說,「**裸奔」也已經屬於嵌入式開發的範疇。 

(3)到了最後乙個階段,你就可以開始找乙個方向(ucos、linux、vxworks、windowsce、palm等等等等),學習有作業系統的嵌入式開發了。 

嵌入式作業系統的種類也是無法計數的,有一些我連名字也叫不上來,太多太多了。但是值得慶幸的是,這些作業系統大同小異,相通的。 

你正在在讀書,建議學習ucos作業系統(看邵貝貝的《uc/os作業系統》);如果你不喜歡這麼basic的作業系統,vxworks也是乙個不錯的選擇,vxworks進入中國已經好多年了,國內出版的書也都很好,尤其推薦陳智育的《vxworks程式開發實踐》和周啟平的《vxworks下裝置驅動程式及bsp開發指南》;linux簡直是惡夢,但是如果你能夠走出這個噩夢,你也就成了高手了。

第二篇:

作為一家之言,想對廣大渴望學習嵌入式系統的學子提出幾點建議:

(1)嵌入式系統軟體硬體密切相關,一定要打好軟體硬體基礎。其實,只要找到正確的方法,加上努力,任何理工科學生,甚至非理工科學生,都能學好嵌入式系統。

(2)選擇乙個晶元及硬體評估板(入門晶元最好是簡單一點,例如8位mcu)、選擇一本好書(最好有規範的例子)、找一位好老師(最好是有經驗且熱心的)。硬體評估板的**一定要在1000元以下,不要太貴,最好能有自己動手的空間。不花一分硬體錢,要想學好嵌入式系統不實際。因為,這是實踐性很強的學科。好書,可以使你少走彎路,不會被誤導,要知道有的書是會使人進入學習誤區的。好老師也可以是做過一些實際專案的學長(一定要找做過幾個成功專案的學長或老師做指導,否則,經驗不足也可能誤導),有教師指導,學習程序會加快。(人工智慧學科裡有個術語叫無教師指導學習模式與有教師指導學習模式,無有教師指導學習模式比有教師指導學習模式複雜許多)。

(3)許多人怕硬體,其實嵌入式系統硬體比電子線路好學多了。只要深入理解mcu的硬體最小系統,對i/o口、序列通訊、鍵盤、led、lcd、spi、i2c、pwm、a/d(包括一些感測器)、d/a等逐個實驗理解,逐步實踐。再通過自己做乙個實際的小系統,底層硬體基礎就有了。各個硬體模組驅動程式的編寫是嵌入式系統的必備基礎。學習嵌入式系統的初期,這個過程是必須的。

(4)至於嵌入式實時作業系統rtos,一定不要一開始就學,這樣會走很多彎路,也會使你對嵌入式系統感到畏懼。等你軟體硬體基礎打好了,再學習就感到容易理解。實際上,眾多嵌入式應用,並不一定需要作業系統。也可以根據實際專案需要再學習。一定不要被一些嵌入式實時作業系統移植培訓班宣傳所誤導,而忽視實際嵌入式系統軟體硬體基礎知識的學習。

(5)要避免片面地單純從「電子」或「計算機軟體」角度認識嵌入式系統,嵌入式系統與硬體緊密相關,是軟體與硬體的綜合體,沒有對硬體的理解就不可能寫好嵌入式軟體,同樣沒有對軟體的理解也不可能設計好嵌入式硬體。因此,要逐步從mcu的最小系統開始,一點一點理解硬體原理及底層硬體驅動程式設計方法。要通過規範的例子,理解軟體工程封裝、可復用等思想。通過規範程式設計,積累底層構件(component),也就是乙個乙個模組,但是要封裝得比較好,可復用。

(6)注重實踐。這裡我把實踐與實驗區別開來,實驗主要是他人的程式或驗證性的,目的是學習基礎知識。實踐是自己設計,有具體的「產品」目標。如果你能花500元左右自己做乙個具有一定功能的小產品,就可以說接近入門了。

(7)關於入門晶元的選擇。一定不要選太複雜,不能超越學習過程。不要一下子學習幾種晶元,可以通過乙個晶元入門並具有乙個實踐經驗後,根據需要選擇晶元。注意,選擇的是微控制器(mcu),而不是微處理器(mpu)。不同廠家生產的mcu穩定性差異巨大。微處理器已經不直接用於嵌入式系統的最終產品設計,不要誤解。

(8)關於作業系統的選擇。可以等到你具有一定實踐後,選擇乙個簡單容易理解原理的進行學習,不要一開始就學習幾種作業系統,理解了基本原理,實踐中確有實際需要再學習也不遲。人總是要不斷學習的。

(9)關於彙編與c語言的取捨。隨著mcu對c編譯的優化支援,對於彙編可以只了解幾個必須的語句,直接使用c語言程式設計。但必須通過第乙個程式理解晶元初始化過程、中斷機制、程式儲存情況等區別於pc機程式的內容。

如何學習嵌入式 嵌入式如何入門?

學習嵌入式,該學習什麼基本的知識呢?嵌入式如何入門?其次,應該對作業系統有所了解,這對你對硬體和軟體的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如程序 執行緒,系統如何來分配資源的,系統如何來管理硬體的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關係,多看看,結合以後的專案經驗...

如何學習嵌入式

對於嵌入式工作室的同學,最大的困難莫過於真正的找到自己的方向。嵌入式本身實在包含太多的東西。以下是我進工作室半年的一些總結 基於linux開發平台 希望對大家有所幫助。對於選擇嵌入式方向的同學,大部分原因應該是覺得嵌入式包含的東西比較廣闊。可以學到很多東西。然而太廣闊的內容不一定是一件好事。就單單基...

如何學習嵌入式

學習嵌入式就業前景廣泛,你可以做手機,pda,mp4,遙控玩具,psp,相機,家電控制 洗衣機,電飯煲等 汽車導航儀,只要跟電子控制相關的。此外,嵌入式這個行業也利於個人創業,也是這為什麼越來越多的人參加 嵌入式培訓 的原因。如何學習嵌入式相信是困擾所有嵌入式初學者的難題 下面課程是嵌入式學習必學的...